Comment nous calculons
Transparence totale sur nos algorithmes d'analyse de puzzles
Difficulté du puzzle
Quelle est la difficulté de chaque puzzle ? Nous comparons votre temps à votre moyenne personnelle pour le savoir.
Profil de compétence
Quel est votre niveau ? Nous vous classons par rapport aux autres joueurs sur chaque puzzle, pondéré par la difficulté et la récence.
Classement MSP Rating
Score compétitif basé sur un portefeuille. Vos meilleurs résultats des 24 derniers mois, pondérés par la difficulté avec décroissance temporelle.
1 Référence du joueur
La référence de chaque joueur est la médiane pondérée de ses temps de première tentative en solo pour un nombre de pièces donné. Les résolutions récentes comptent davantage grâce à une pondération par décroissance exponentielle.
Décroissance temporelle avec plateau de 3 mois
Les résolutions des 3 derniers mois comptent à plein poids. Après cela, les résolutions plus anciennes perdent progressivement de l'influence pour que votre référence reflète votre vitesse actuelle.
effective_age = max(0, age_in_months - 3)weight = exp(-effective_age / 13.5)
La référence est une médiane pondérée de vos temps de première tentative en solo pour chaque nombre de pièces. Les résolutions récentes influencent davantage la médiane que les anciennes.
Minimum : 5 puzzles distincts résolus (première tentative, solo) par nombre de pièces.
Nombres de pièces inhabituels
Pour les puzzles avec des nombres de pièces inhabituels (par ex. 631 pièces), la plupart des joueurs n'auront pas 5 résolutions à ce nombre exact. Nous résolvons cela en estimant leur référence à partir de nombres de pièces proches pour lesquels ils ont des données, par interpolation en espace logarithmique. Cela permet à davantage de puzzles d'obtenir des notes de difficulté.
2 Difficulté du puzzle
Pour chaque joueur qualifié ayant résolu un puzzle, nous calculons un indice de difficulté :
Votre référence : 55 min
Vous avez résolu ce puzzle en : 63 min
Indice de difficulté : 63 / 55 = 1.15
→ 15% plus difficile que la moyenne pour vous
difficulty_index = solve_time / player_baseline
puzzle_difficulty = median(all player indices)
Le score de difficulté du puzzle est la médiane de tous les indices qualifiants. Les indices supérieurs à 5.0 sont exclus comme valeurs aberrantes.
Minimum : 5 joueurs qualifiés nécessaires pour un score de difficulté.
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
Niveaux de difficulté
3 Compétence du joueur
La compétence du joueur mesure vos performances par rapport aux autres joueurs sur chaque puzzle, pondérée par la difficulté du puzzle. Les puzzles plus difficiles valent davantage.
Exemple : Comment votre score de compétence est calculé
Vous avez résolu le Puzzle X en 45 min, il y a 3 mois.
Sur 50 joueurs en première tentative, 38 étaient plus lents — votre percentile = 0.78
Le Puzzle X est Exigeant (difficulté 1.18) — poids de difficulté = 1.09
Percentile pondéré : 0.78 × 1.09 = 0.85
Résolution il y a 3 mois (dans le plateau) — poids temporel = 1.00
Votre score de compétence = médiane pondérée de toutes ces entrées, où les résolutions récentes ont plus d'influence.
Pondération par récence de la compétence
Votre niveau de compétence reflète votre capacité actuelle. Les puzzles récents ont plus d'influence que les anciens grâce à une décroissance temporelle douce avec un plateau de 6 mois.
effective_age = max(0, age_months - 6)age_weight = exp(-effective_age / 24)
Minimum : 10 puzzles qualifiants, chacun avec au moins 20 joueurs en première tentative.
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
Niveaux de compétence
4 Classement MSP Rating
Un score compétitif basé sur un portefeuille. Vos meilleurs résultats de puzzles des 24 derniers mois sont évalués, combinant la performance en première tentative (75%) avec la performance du meilleur temps (25%). Les puzzles plus difficiles valent davantage. Les résultats récents pèsent plus grâce à une décroissance temporelle douce.
Premières tentatives (75%)
Résoudre un puzzle à froid porte le plus de poids — c'est la mesure la plus pure de la compétence. Vos 100 meilleurs résultats en première tentative sont évalués.
Meilleurs temps (25%)
Votre temps le plus rapide sur chaque puzzle compte aussi — l'amélioration réelle par la pratique est récompensée, mais avec un poids inférieur à la résolution à froid.
Pondération par récence du Rating
Les entrées du portefeuille sont doucement atténuées avec le temps pour que les résultats récents comptent davantage, tout en conservant la valeur des anciens bons résultats. Un plateau de 3 mois maintient les résultats très récents à pleine valeur.
effective_age = max(0, age_months - 3)decay = exp(-effective_age / 30)decayed_points = points × decay
Limite stricte à 24 mois — les résolutions plus anciennes sont entièrement exclues.
Exemple : Joueur à froid vs Répétiteur
Même puzzle Difficile (difficulté 1.35, poids 1.175), résolu le mois dernier (décroissance = 1.0) :
Joueur A : Bonne première tentative (92e percentile), ne refait jamais
Score : 0.92 × 1.175 × 1.0 = 1.08
Joueur B : Première tentative faible (60e), s'entraîne jusqu'au 95e percentile
Score : 0.75 × 0.70 + 0.25 × 1.12 = 0.81
Le Joueur A l'emporte nettement — le talent brut à froid prime, mais B obtient un crédit partiel pour son amélioration.
Propriétés anti-manipulation
- Refaire le même puzzle : N'affecte qu'une seule entrée de meilleur temps (25% de poids). Le score de première tentative est verrouillé.
- Accumulation par volume : Limite de 100. Au-delà de 100 puzzles, plus de résolutions n'aident que si elles sont meilleures que votre entrée la plus faible.
- Farming de puzzles faciles : La pondération par difficulté rend les puzzles difficiles plus valorisés au même percentile.
- Inactivité : La décroissance temporelle réduit progressivement les anciens résultats. Restez actif pour maintenir votre score.
Minimum : 20 premières tentatives + 50 puzzles qualifiants dans une fenêtre glissante de 24 mois. Chaque puzzle doit avoir 20+ joueurs.
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 Prédiction de temps
Nous utilisons un système de prédiction en couches. Si vous avez déjà résolu le puzzle, vous obtenez une prédiction personnelle utilisant votre historique d'amélioration et des ratios d'amélioration basés sur les données. Sinon, vous obtenez une prédiction statistique basée sur votre référence et la difficulté du puzzle.
Ratios d'amélioration
Nous calculons des ratios d'amélioration — combien les joueurs s'améliorent typiquement entre tentatives consécutives (1re→2e, 2e→3e, etc.). Ceux-ci sont calculés à partir de données réelles de tous les joueurs et puzzles, stratifiés par l'intervalle entre les tentatives.
ratio(N→N+1) = médiane(temps_tentative_N+1 / temps_tentative_N)
Sources (ordre de priorité) :
1. Votre ratio personnel (de toutes vos résolutions répétées)
2. Ratio global (de tous les joueurs, par nombre de pièces)
3. Défaut : 0,90
Correction d'intervalle : votre ratio personnel est ajusté
par les données globales des intervalles de temps.
L'intervalle entre les tentatives affecte votre mémorisation. Les ratios sont regroupés par durée d'intervalle :
| Groupe | Plage |
|---|---|
| lt30d | < 30 days |
| 1_3m | 30–89 days |
| 3_12m | 90–364 days |
| gt12m | 365+ days |
Prédiction personnelle (1+ résolutions précédentes)
Quand vous avez déjà résolu le puzzle, nous prédisons votre prochain temps en utilisant des ratios d'amélioration combinés avec le lissage de tendance amortie de Holt. Avec moins de données, le ratio d'amélioration domine. Avec plus d'historique, le modèle de tendance prend le relais.
ratio_prediction = dernier_temps × ratio_amélioration(N→N+1, intervalle)
Combinaison avec tendance amortie de Holt (α=0,5, β=0,4, φ=0,8) :
N = 1 : 100%% prédiction par ratio
N = 2-5 : combinaison (poids Holt = (N-1)/5)
N ≥ 6 : 100%% tendance amortie de Holt
Plancher : max(prédiction, meilleur_temps × 0,70)
La combinaison assure des transitions fluides : avec peu de données, les patterns d'amélioration inter-puzzles guident la prédiction. À mesure que l'historique spécifique au puzzle grandit, le modèle de tendance prend le relais.
Prédiction statistique (première résolution)
Quand vous n'avez pas encore résolu ce puzzle, nous combinons votre référence avec la difficulté du puzzle :
predicted_time = player_baseline × puzzle_difficulty
Votre référence 500 pièces : 55 min
Difficulté du puzzle : 1.15 (Exigeant)
Temps prévu : 55 × 1.15 = ~63 min
La fourchette utilise P25–P75 des indices de difficulté du puzzle : référence × P25 à référence × P75. Des bornes de sécurité maintiennent la fourchette entre 30%% et 300%% du temps prévu.
6 Métriques de personnalité du puzzle
Mémorisabilité
À quel point ce puzzle devient-il plus facile une fois que vous l'avez déjà résolu ?
Mesure la vitesse à laquelle les joueurs apprennent ce puzzle au cours de leurs 3 premières tentatives, normalisée par rapport au taux d'apprentissage moyen. Une valeur > 1.0 signifie que ce puzzle récompense la familiarité plus que la moyenne. Min : 8 joueurs avec 3+ tentatives.learning_rate = (attempt_1 - attempt_3) / attempt_1
memorability = puzzle_learning_rate / global_learning_rate
Sensibilité à la compétence
La compétence fait-elle une grande différence sur ce puzzle ?
Ratio entre le 75e et le 25e percentile des indices de difficulté. Plus élevé = plus grand écart entre joueurs rapides et lents. Min : 20 indices qualifiants.skill_sensitivity = P75(indices) / P25(indices)
Prévisibilité
La difficulté de ce puzzle est-elle prévisible ?
Score de 0 à 1 (borné). Plus proche de 1 = expérience de difficulté plus constante entre différents joueurs. Min : 20 indices qualifiants.CV = std_dev(indices) / mean(indices)
predictability = 1 / (1 + CV)
Dépendance à la boîte
À quel point ce puzzle est-il plus difficile sans voir la boîte ?
Ratio entre la difficulté sans boîte et avec boîte. 1.0 = aucune différence, 2.0 = deux fois plus difficile sans boîte. Min : 10 joueurs sans boîte + 5 avec boîte.box_dependence = median(unboxed_indices) / median(boxed_indices)
Potentiel d'amélioration
À quel point la pratique peut-elle améliorer votre temps sur ce puzzle ?
Ratio entre le temps médian de première tentative et le 10e percentile de toutes les tentatives. Plus élevé signifie que la pratique améliore considérablement les temps. Min : 20 joueurs.improvement_ceiling = P50(first_attempts) / P10(all_attempts)
7 Fiabilité & Qualité des données
Niveaux de fiabilité
Qualité des données
- Solo uniquement : Les résolutions en duo et en équipe sont exclues
- Premières tentatives : Seules les premières rencontres avec chaque puzzle comptent pour la difficulté et les références
- Filtre des valeurs aberrantes : Les indices de difficulté supérieurs à 5.0 sont exclus (probablement des erreurs de chronomètre)
- Exclusion des suspects : Les temps signalés comme suspects sont exclus
- Pondération par récence : Les résolutions récentes comptent davantage — les références, niveaux de compétence et Rating utilisent tous la décroissance temporelle pour refléter votre capacité actuelle
Seuils minimum de données
| Référence du joueur | 5 résolutions distinctes en première tentative solo par nombre de pièces |
| Difficulté du puzzle | 5 indices qualifiants de joueurs différents |
| Compétence du joueur | 10 puzzles qualifiants avec 20+ joueurs en première tentative chacun |
| Classement MSP Rating | 20 premières tentatives + 50 résolutions totales dans une fenêtre de 24 mois |
| Mémorisabilité | 8 joueurs avec 3+ tentatives |
| Sensibilité à la compétence / Prévisibilité | 20 indices qualifiants |
| Dépendance à la boîte | 10 joueurs sans boîte + 5 avec boîte ayant des références |
| Potentiel d'amélioration | 20 joueurs |
8 Se désinscrire
Les joueurs peuvent se désinscrire du classement et du suivi des compétences dans les paramètres de leur profil. Les joueurs désinscrits sont toujours inclus dans tous les calculs en arrière-plan — leurs résultats contribuent aux scores de difficulté des puzzles et aux classements des autres joueurs. Ils n'apparaissent simplement pas dans le classement public MSP Rating et ne voient pas leur propre niveau de compétence ou score Rating. Se réinscrire rétablit immédiatement la visibilité complète.
Prochain recalcul dans --:--