Skip to content

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.

0 – 3 months
100% weight
6 months
80% weight
12 months
51% weight
18 months
33% weight
24 months
21% weight
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
Sehr Einfach
25%+ easier than typical
Einfach
10-25% easier
Durchschnittlich
About typical
Anspruchsvoll
10-25% harder
Schwer
25-45% harder
Sehr Schwer
45%+ harder

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.

0 – 6 months
100% weight
12 months
78% weight
18 months
61% weight
24 months
47% weight
36 months
29% weight
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
Gelegenheitspuzzler
Bottom 25%
Enthusiast
Top 75%
Versiert
Top 50%
Fortgeschritten
Top 30%
Experte
Top 15%
Meister
Top 5%
Legende
Top 1%

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.

0 – 3 months
100% weight
6 months
90% weight
12 months
74% weight
18 months
61% weight
24 months
50% weight
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:

BucketBereich
lt30d< 30 days
1_3m30–89 days
3_12m90–364 days
gt12m365+ 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
Hohe Konfidenz — 20+ qualified solvers
Mittlere Konfidenz — 10-19 solvers
Niedrige Konfidenz — 5-9 solvers
Nicht genügend Daten — < 5 solvers
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-Baseline5 verschiedene Erstversuch-Solo-Lösungen pro Teilezahl
Puzzle-Schwierigkeit5 qualifizierende Indizes von verschiedenen Spielern
Spieler-Skill10 qualifizierende Puzzles mit je 20+ Erstversuch-Lösern
MSP Rating Rangliste20 Erstversuche + 50 Gesamtlösungen innerhalb eines 24-Monats-Fensters
Erinnerbarkeit8 Spieler mit 3+ Versuchen
Können-Empfindlichkeit / Vorhersagbarkeit20 qualifizierende Indizes
Schachtel-Abhängigkeit10 Löser ohne Schachtel + 5 Löser mit Schachtel mit Baselines
Verbesserungspotenzial20 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 --:--