Skip to content

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.

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)

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é
Très facile
25%+ easier than typical
Facile
10-25% easier
Moyen
About typical
Exigeant
10-25% harder
Difficile
25-45% harder
Très difficile
45%+ harder

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.

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 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
Débutant
Bottom 25%
Passionné
Top 75%
Compétent
Top 50%
Avancé
Top 30%
Expert
Top 15%
Maître
Top 5%
Légende
Top 1%

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.

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

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 :

GroupePlage
lt30d< 30 days
1_3m30–89 days
3_12m90–364 days
gt12m365+ 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é
Fiabilité élevée — 20+ qualified solvers
Fiabilité moyenne — 10-19 solvers
Fiabilité faible — 5-9 solvers
Données insuffisantes — < 5 solvers
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 joueur5 résolutions distinctes en première tentative solo par nombre de pièces
Difficulté du puzzle5 indices qualifiants de joueurs différents
Compétence du joueur10 puzzles qualifiants avec 20+ joueurs en première tentative chacun
Classement MSP Rating20 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îte10 joueurs sans boîte + 5 avec boîte ayant des références
Potentiel d'amélioration20 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 --:--