So berechnen wir
Vollständige Transparenz über unsere Puzzle-Einblicke-Algorithmen
Puzzle-Schwierigkeit
Wie schwer ist jedes Puzzle? Wir vergleichen deine Zeit mit deinem persönlichen Durchschnitt, um das herauszufinden.
Skill-Profil
Wie gut bist du? Wir stufen dich gegen andere Löser bei jedem Puzzle ein, gewichtet nach Schwierigkeit und Aktualität.
MSP Rating Rangliste
Portfolio-basierte kompetitive Bewertung. Deine besten Ergebnisse der letzten 24 Monate, schwierigkeitsgewichtet mit Zeitverfall.
1 Spieler-Baseline
Die Baseline jedes Spielers ist der gewichtete Median seiner Erstversuch-Solo-Zeiten für eine bestimmte Teilezahl. Neuere Lösungen zählen dank exponentieller Verfallsgewichtung mehr.
Zeitverfall mit 3-Monats-Plateau
Lösungen der letzten 3 Monate zählen mit vollem Gewicht. Danach verlieren ältere Lösungen allmählich an Einfluss, damit deine Baseline deine aktuelle Geschwindigkeit widerspiegelt.
effective_age = max(0, age_in_months - 3)weight = exp(-effective_age / 13.5)
Die Baseline ist ein gewichteter Median deiner Erstversuch-Solo-Zeiten bei jeder Teilezahl. Neuere Lösungen verschieben den Median stärker als ältere.
Minimum: 5 verschiedene gelöste Puzzles (Erstversuch, Solo) pro Teilezahl.
Exotische Teilezahlen
Bei Puzzles mit ungewöhnlichen Teilezahlen (z.B. 631 Teile) haben die meisten Spieler keine 5 Lösungen bei genau dieser Anzahl. Wir lösen dies, indem wir ihre Baseline aus nahegelegenen Teilezahlen schätzen, für die sie Daten haben, mittels Log-Raum-Interpolation. So erhalten mehr Puzzles Schwierigkeitsbewertungen.
2 Puzzle-Schwierigkeit
Für jeden qualifizierenden Spieler, der ein Puzzle gelöst hat, berechnen wir einen Schwierigkeitsindex:
Deine Baseline: 55 min
Du hast dieses Puzzle gelöst in: 63 min
Schwierigkeitsindex: 63 / 55 = 1.15
→ 15% schwerer als der Durchschnitt für dich
difficulty_index = solve_time / player_baseline
puzzle_difficulty = median(all player indices)
Der Schwierigkeitsgrad des Puzzles ist der Median aller qualifizierenden Indizes. Indizes über 5,0 werden als Ausreißer ausgeschlossen.
Minimum: 5 qualifizierte Spieler für einen Schwierigkeitsgrad erforderlich.
For each player with a baseline at this piece count:
difficulty_index = seconds_to_solve / player_baseline
Qualification:
- First attempt only (one per player per puzzle)
- Solo, non-suspicious, completed
- Index must be <= 5.0 (outlier ceiling)
puzzle_difficulty = median(all qualifying indices)
Minimum: 5 indices from different players
Schwierigkeitsstufen
3 Spieler-Skill
Spieler-Skill misst, wie du im Vergleich zu anderen Lösern bei jedem Puzzle abschneidest, gewichtet nach Puzzle-Schwierigkeit. Schwerere Puzzles zählen mehr.
Beispiel: Wie dein Skill-Wert berechnet wird
Du hast Puzzle X in 45 Min gelöst, vor 3 Monaten.
Von 50 Erstversuch-Lösern waren 38 langsamer — dein Perzentil = 0,78
Puzzle X ist Anspruchsvoll (Schwierigkeit 1,18) — Schwierigkeitsgewicht = 1,09
Gewichtetes Perzentil: 0,78 × 1,09 = 0,85
Lösung ist 3 Monate alt (innerhalb des Plateaus) — Altersgewicht = 1,00
Dein Skill-Wert = gewichteter Median all solcher Einträge, wobei neuere Lösungen mehr Einfluss haben.
Skill-Aktualitätsgewichtung
Deine Skill-Stufe spiegelt deine aktuelle Fähigkeit wider. Neuere Puzzles haben durch einen sanften Zeitverfall mit einem 6-Monats-Plateau mehr Einfluss als ältere.
effective_age = max(0, age_months - 6)age_weight = exp(-effective_age / 24)
Minimum: 10 qualifizierende Puzzles, jedes mit mindestens 20 Erstversuch-Lösern.
For each puzzle with 20+ first-attempt solvers:
percentile = (slower_count + tied_count / 2) / (total_solvers - 1)
confidence = min(1.0, sample_size / 50)
blend = 0.5 × confidence
difficulty_weight = (1 - blend) + blend × puzzle_difficulty
weighted_percentile = percentile × difficulty_weight
effective_age = max(0, age_in_months - 6)
age_weight = exp(-effective_age / 24)
skill_score = weighted_median(weighted_percentiles, age_weights)
Tier = based on percentile rank among all players
Skill-Stufen
4 MSP Rating Rangliste
Eine kompetitive portfolio-basierte Bewertung. Deine besten Puzzle-Ergebnisse der letzten 24 Monate werden ausgewertet, wobei Erstversuch-Leistung (75%) und Bestzeit-Leistung (25%) kombiniert werden. Schwerere Puzzles zählen mehr. Neuere Ergebnisse haben durch sanften Zeitverfall mehr Gewicht.
Erstversuche (75%)
Ein Puzzle kalt zu lösen hat das meiste Gewicht — es ist das reinste Maß für Können. Deine Top 100 Erstversuch-Ergebnisse werden ausgewertet.
Bestzeiten (25%)
Deine schnellste Zeit bei jedem Puzzle zählt auch — echte Verbesserung durch Übung wird belohnt, aber mit geringerem Gewicht als kaltes Lösen.
Rating-Aktualitätsgewichtung
Portfolio-Einträge werden sanft nach Alter abgebaut, damit neuere Ergebnisse mehr zählen, während ältere starke Ergebnisse weiterhin gelten. Ein 3-Monats-Plateau hält sehr aktuelle Ergebnisse auf vollem Wert.
effective_age = max(0, age_months - 3)decay = exp(-effective_age / 30)decayed_points = points × decay
Harter Grenzwert bei 24 Monaten — Lösungen, die älter sind, werden vollständig ausgeschlossen.
Beispiel: Kaltlöser vs Dauerlöser
Gleiches Schweres Puzzle (Schwierigkeit 1,35, Gewicht 1,175), gelöst letzten Monat (Verfall = 1,0):
Spieler A: Starker Erstversuch (92. Perzentil), löst nie wieder
Wert: 0,92 × 1,175 × 1,0 = 1,08
Spieler B: Schwacher Erstversuch (60.), trainiert auf 95. Perzentil Bestzeit
Wert: 0,75 × 0,70 + 0,25 × 1,12 = 0,81
Spieler A gewinnt deutlich — rohes Kaltlöser-Talent führt, aber B bekommt Teilpunkte für Verbesserung.
Anti-Gaming-Eigenschaften
- Gleiches Puzzle wiederholen: Betrifft nur einen Bestzeit-Eintrag (25% Gewicht). Erstversuch-Wert ist fixiert.
- Mengen-Anhäufung: Obergrenze von 100. Nach 100 Puzzles helfen weitere Lösungen nur, wenn sie besser als dein schwächster Eintrag sind.
- Einfache Puzzle farmen: Schwierigkeitsgewichtung macht schwere Puzzles bei gleichem Perzentil wertvoller.
- Inaktivität: Zeitverfall reduziert ältere Ergebnisse allmählich. Bleibe aktiv, um deine Bewertung zu halten.
Minimum: 20 Erstversuche + 50 qualifizierende Puzzles innerhalb eines rollenden 24-Monats-Fensters. Jedes Puzzle muss 20+ Löser haben.
Rolling window: 24 months. Decay: 3-month plateau.
For each puzzle in window (20+ public solvers):
fa_percentile = rank among first-attempt solvers (0–1)
bt_percentile = rank among all players' best times (0–1)
confidence = min(1.0, sample_size / 50)
blend = 0.5 × confidence
difficulty_weight = (1 - blend) + blend × difficulty
effective_age = max(0, age_months - 3)
decay = exp(-effective_age / 30)
fa_points = fa_percentile × difficulty_weight × decay
bt_points = bt_percentile × difficulty_weight × decay
First-attempt portfolio = mean(top 100 fa_points)
Best-time portfolio = mean(top 100 bt_points)
Rating = 0.75 × FA_portfolio + 0.25 × BT_portfolio
Entry: 20 first attempts + 50 total solves within window
Display: rating × 1000 (e.g., 0.85 → 850)
5 Zeitvorhersage
Wir verwenden ein mehrschichtiges Vorhersagesystem. Wenn du das Puzzle schon einmal gelöst hast, bekommst du eine persönliche Vorhersage basierend auf deiner Verbesserungshistorie und datengestützten Verbesserungsverhältnissen. Andernfalls bekommst du eine statistische Vorhersage basierend auf deiner Baseline und der Puzzle-Schwierigkeit.
Verbesserungsverhältnisse
Wir berechnen Verbesserungsverhältnisse — wie viel schneller Spieler typischerweise zwischen aufeinanderfolgenden Versuchen werden (1.→2., 2.→3. usw.). Diese werden aus echten Daten aller Spieler und Puzzles berechnet, stratifiziert nach dem Zeitabstand zwischen Versuchen.
ratio(N→N+1) = median(zeit_versuch_N+1 / zeit_versuch_N)
Quellen (Prioritätsreihenfolge):
1. Dein persönliches Verhältnis (aus allen deinen Wiederholungen)
2. Globales Verhältnis (von allen Spielern, pro Teilezahl)
3. Standard: 0,90
Abstandskorrektur: dein persönliches Verhältnis wird
durch globale Abstands-Bucket-Daten angepasst.
Der Zeitabstand zwischen Versuchen beeinflusst, wie viel du dich erinnerst. Verhältnisse sind nach Abstandsdauer gruppiert:
| Bucket | Bereich |
|---|---|
| lt30d | < 30 days |
| 1_3m | 30–89 days |
| 3_12m | 90–364 days |
| gt12m | 365+ days |
Persönliche Vorhersage (1+ vorherige Lösungen)
Wenn du das Puzzle schon gelöst hast, sagen wir deine nächste Zeit mithilfe von Verbesserungsverhältnissen kombiniert mit Holts gedämpfter Trendglättung vorher. Bei weniger Daten dominiert das Verbesserungsverhältnis. Mit mehr Historie übernimmt das Trendmodell.
ratio_prediction = letzte_zeit × verbesserungsverhältnis(N→N+1, abstand)
Kombination mit Holts gedämpftem Trend (α=0,5, β=0,4, φ=0,8):
N = 1: 100%% Verhältnisvorhersage
N = 2-5: Kombination (Holt-Gewicht = (N-1)/5)
N ≥ 6: 100%% Holts gedämpfter Trend
Minimum: max(Vorhersage, Bestzeit × 0,70)
Die Kombination sorgt für fließende Übergänge: mit wenig Daten leiten puzzle-übergreifende Verbesserungsmuster die Vorhersage. Wenn die puzzlespezifische Historie wächst, übernimmt das Trendmodell.
Statistische Vorhersage (erstes Mal bei diesem Puzzle)
Wenn du dieses Puzzle noch nicht gelöst hast, kombinieren wir deine Baseline mit der Puzzle-Schwierigkeit:
predicted_time = player_baseline × puzzle_difficulty
Deine 500-Teile-Baseline: 55 min
Puzzle-Schwierigkeit: 1.15 (Anspruchsvoll)
Vorhergesagte Zeit: 55 × 1.15 = ~63 min
Der Bereich verwendet P25–P75 der Schwierigkeitsindizes des Puzzles: Baseline × P25 bis Baseline × P75. Sicherheitsgrenzen halten den Bereich zwischen 30%% und 300%% der vorhergesagten Zeit.
6 Puzzle-Persönlichkeitsmetriken
Erinnerbarkeit
Wie viel einfacher wird dieses Puzzle, wenn du es schon einmal gelöst hast?
Misst, wie schnell Spieler dieses Puzzle über ihre ersten 3 Versuche lernen, normalisiert gegen die durchschnittliche Puzzle-Lernrate. Ein Wert > 1,0 bedeutet, dass dieses Puzzle Vertrautheit stärker belohnt als der Durchschnitt. Min: 8 Spieler mit 3+ Versuchen.learning_rate = (attempt_1 - attempt_3) / attempt_1
memorability = puzzle_learning_rate / global_learning_rate
Können-Empfindlichkeit
Macht Können einen großen Unterschied bei diesem Puzzle?
Verhältnis des 75. zum 25. Perzentil der Schwierigkeitsindizes. Höher = größerer Unterschied zwischen schnellen und langsamen Lösern. Min: 20 qualifizierende Indizes.skill_sensitivity = P75(indices) / P25(indices)
Vorhersagbarkeit
Wie vorhersagbar ist die Schwierigkeit dieses Puzzles?
Wert von 0 bis 1 (begrenzt). Näher an 1 = konsistentere Schwierigkeitserfahrung über verschiedene Löser. Min: 20 qualifizierende Indizes.CV = std_dev(indices) / mean(indices)
predictability = 1 / (1 + CV)
Schachtel-Abhängigkeit
Wie viel schwieriger ist dieses Puzzle, ohne die Schachtel zu sehen?
Verhältnis der Schwierigkeit ohne Schachtel zur Schwierigkeit mit Schachtel. 1,0 = kein Unterschied, 2,0 = doppelt so schwer ohne Schachtel. Min: 10 Löser ohne Schachtel + 5 mit Schachtel.box_dependence = median(unboxed_indices) / median(boxed_indices)
Verbesserungspotenzial
Wie viel kann Übung deine Zeit bei diesem Puzzle verbessern?
Verhältnis der mittleren Erstversuch-Zeit zum 10. Perzentil aller Versuche. Höher bedeutet, dass Übung die Zeiten dramatisch verbessert. Min: 20 Löser.improvement_ceiling = P50(first_attempts) / P10(all_attempts)
7 Konfidenz & Datenqualität
Konfidenzstufen
Datenqualität
- Nur Solo: Duo- und Team-Lösungen sind ausgeschlossen
- Erstversuche: Nur erste Begegnungen mit jedem Puzzle zählen für Schwierigkeit und Baselines
- Ausreißerfilter: Schwierigkeitsindizes über 5,0 werden ausgeschlossen (wahrscheinlich Timer-Fehler)
- Verdächtige ausgeschlossen: Als verdächtig markierte Zeiten werden ausgeschlossen
- Aktualitätsgewichtung: Neuere Lösungen zählen mehr — Baselines, Skill-Stufen und Rating verwenden alle Zeitverfall, um deine aktuelle Fähigkeit widerzuspiegeln
Mindest-Datenschwellen
| Spieler-Baseline | 5 verschiedene Erstversuch-Solo-Lösungen pro Teilezahl |
| Puzzle-Schwierigkeit | 5 qualifizierende Indizes von verschiedenen Spielern |
| Spieler-Skill | 10 qualifizierende Puzzles mit je 20+ Erstversuch-Lösern |
| MSP Rating Rangliste | 20 Erstversuche + 50 Gesamtlösungen innerhalb eines 24-Monats-Fensters |
| Erinnerbarkeit | 8 Spieler mit 3+ Versuchen |
| Können-Empfindlichkeit / Vorhersagbarkeit | 20 qualifizierende Indizes |
| Schachtel-Abhängigkeit | 10 Löser ohne Schachtel + 5 Löser mit Schachtel mit Baselines |
| Verbesserungspotenzial | 20 Löser |
8 Abmeldung
Spieler können sich in ihren Profileinstellungen vom Ranking und Skill-Tracking abmelden. Abgemeldete Spieler sind weiterhin in allen Hintergrundberechnungen enthalten — ihre Ergebnisse tragen zu Puzzle-Schwierigkeitsgraden und Rankings anderer Spieler bei. Sie erscheinen einfach nicht auf der öffentlichen MSP Rating Rangliste und sehen ihre eigene Skill-Stufe oder Rating-Bewertung nicht. Eine erneute Anmeldung stellt die volle Sichtbarkeit sofort wieder her.
Nächste Neuberechnung in --:--