Skip to content

計算方法

パズルインサイトアルゴリズムの完全な透明性

パズル難易度

各パズルの難しさは?あなたのタイムを個人平均と比較して算出します。

スキルプロフィール

あなたのスキルレベルは?各パズルで他のプレイヤーと比較し、難易度と新しさで重み付けしてランク付けします。

MSP Ratingラダー

ポートフォリオベースの競技レーティング。過去24ヶ月の最高成績を、難易度重み付けと時間減衰で評価。

1 プレイヤーベースライン

各プレイヤーのベースラインは、特定のピース数における初回ソロタイムの加重中央値です。指数減衰の重み付けにより、最近の完成がより重視されます。

3ヶ月プラトー付きの時間減衰

直近3ヶ月の完成はフルウェイトでカウントされます。それ以降は古い完成の影響が徐々に減少し、ベースラインが現在の速度を反映するようになります。

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)

ベースラインは各ピース数における初回ソロタイムの加重中央値です。最近の完成が中央値により大きく影響します。

最低条件:ピース数ごとに5つの異なるパズル(初回、ソロ)を完成させること。

特殊なピース数

特殊なピース数のパズル(例:631ピース)の場合、ほとんどのプレイヤーはその正確なピース数で5回の完成データを持っていません。近いピース数のデータから対数空間補間を使ってベースラインを推定することで解決しています。これにより、より多くのパズルが難易度評価を受けられます。

2 パズル難易度

パズルを完成させた各有資格プレイヤーに対して、難易度指数を計算します:

あなたのベースライン: 55 min

あなたの完成時間: 63 min

難易度指数: 63 / 55 = 1.15

→ あなたにとって平均より15%難しい

difficulty_index = solve_time / player_baseline
puzzle_difficulty = median(all player indices)

パズルの難易度スコアは、すべての有資格指数の中央値です。5.0を超える指数は外れ値として除外されます。

最低条件:難易度スコアには5人の有資格プレイヤーが必要です。

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
難易度ティア
とても簡単
25%+ easier than typical
簡単
10-25% easier
平均的
About typical
やや難しい
10-25% harder
難しい
25-45% harder
非常に難しい
45%+ harder

3 プレイヤースキル

プレイヤースキルは、各パズルで他のプレイヤーと比較したパフォーマンスを、パズル難易度で重み付けして測定します。難しいパズルほど価値が高くなります。

例:スキルスコアの計算方法

パズルXを45分で完成、3ヶ月前

50人の初回挑戦者のうち38人があなたより遅い — パーセンタイル = 0.78

パズルXはやや難しい(難易度1.18) — 難易度重み = 1.09

重み付きパーセンタイル:0.78 × 1.09 = 0.85

完成は3ヶ月前(プラトー内) — 時間重み = 1.00

スキルスコアは、最近の完成がより大きな影響を持つ、すべてのエントリーの加重中央値です。

スキルの新しさ重み付け

スキルティアは現在の能力を反映します。6ヶ月のプラトー付きの緩やかな時間減衰により、最近のパズルが古いものより大きな影響を持ちます。

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)

最低条件:20以上の初回挑戦者を持つ対象パズルが10個必要です。

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
スキルティア
カジュアル
Bottom 25%
愛好家
Top 75%
熟練
Top 50%
上級
Top 30%
エキスパート
Top 15%
マスター
Top 5%
レジェンド
Top 1%

4 MSP Ratingラダー

競技的なポートフォリオベースのレーティング。過去24ヶ月の最高パズル成績を評価し、初回挑戦パフォーマンス(75%)とベストタイムパフォーマンス(25%)を組み合わせます。難しいパズルほど価値が高い。緩やかな時間減衰により最近の結果がより重要。

初回挑戦(75%)

初めてのパズルを解くことが最も重要 — 純粋なスキルの指標です。上位100件の初回挑戦結果が評価されます。

ベストタイム(25%)

各パズルの最速タイムもカウントされます — 練習による真の上達は報われますが、初見の完成よりも低い重みです。

Ratingの新しさ重み付け

ポートフォリオエントリーは時間により緩やかに減衰し、最近の結果がより重要になりますが、過去の好成績もカウントされます。3ヶ月のプラトーにより、直近の結果はフルバリューを維持します。

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

24ヶ月でハードカットオフ — それより古い完成は完全に除外されます。

例:初見プレイヤー vs 繰り返しプレイヤー

同じ難しいパズル(難易度1.35、重み1.175)を先月完成(減衰 = 1.0):

プレイヤーA:強い初回挑戦(92パーセンタイル)、再挑戦なし

スコア:0.92 × 1.175 × 1.0 = 1.08

プレイヤーB:弱い初回挑戦(60パーセンタイル)、95パーセンタイルまで繰り返し

スコア:0.75 × 0.70 + 0.25 × 1.12 = 0.81

プレイヤーAが圧勝 — 初見の才能がリードしますが、Bは上達分の評価を得ます。

不正防止の特性

  • 同じパズルの繰り返し:1つのベストタイムエントリー(25%の重み)にのみ影響。初回挑戦スコアは固定。
  • 量の蓄積:上限100。100パズル以降は、最弱のエントリーより良い場合のみ効果あり。
  • 簡単なパズルの大量完成:難易度重み付けにより、同じパーセンタイルでも難しいパズルの方が高い価値を持ちます。
  • 非活動:時間減衰により古い結果が徐々に減少。レーティングを維持するにはアクティブに。

最低条件:24ヶ月のローリングウィンドウ内で20回の初回挑戦 + 50個の対象パズル。各パズルに20人以上の完成者が必要。

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 タイム予測

階層型予測システムを使用しています。パズルを以前に解いたことがある場合、改善履歴とデータ駆動型改善率を活用した個人予測が得られます。そうでない場合、ベースラインとパズルの難易度に基づく統計予測が得られます。

改善率

改善率を計算します — 連続する挑戦間でプレイヤーが通常どれだけ速くなるか(1回目→2回目、2回目→3回目など)。これらは全プレイヤーとパズルの実データから計算され、挑戦間の時間間隔で層別化されています。

ratio(N→N+1) = median(タイム_挑戦_N+1 / タイム_挑戦_N)

ソース(優先順位):
  1. あなたの個人率(すべての再挑戦から)
  2. グローバル率(全プレイヤーから、ピース数別)
  3. デフォルト:0.90

間隔補正:あなたの個人率はグローバルな
時間間隔データで調整されます。

挑戦間の時間間隔は記憶にどれだけ残るかに影響します。率は間隔の長さでグループ化されます:

バケット範囲
lt30d< 30 days
1_3m30–89 days
3_12m90–364 days
gt12m365+ days

個人予測(1回以上の完成歴)

パズルを以前に解いたことがある場合、改善率ホルトの減衰トレンド平滑法を組み合わせて次のタイムを予測します。データが少ない場合は改善率が主導します。履歴が増えるとトレンドモデルが引き継ぎます。

ratio_prediction = 最終タイム × 改善率(N→N+1, 間隔)

ホルトの減衰トレンドとの組み合わせ(α=0.5, β=0.4, φ=0.8):
  N = 1:  100%% 改善率予測
  N = 2-5:ブレンド(ホルト重み = (N-1)/5)
  N ≥ 6:  100%% ホルトの減衰トレンド

下限:max(予測, ベストタイム × 0.70)

ブレンドにより滑らかな移行が保証されます:データが少ない場合、パズル間の改善パターンが予測を導きます。パズル固有の履歴が増えると、トレンドモデルが引き継ぎます。

統計予測(初めてのパズル)

このパズルを以前に解いたことがない場合、ベースラインとパズルの難易度を組み合わせます:

predicted_time = player_baseline × puzzle_difficulty

あなたの500pcベースライン: 55 min

パズル難易度: 1.15 (やや難しい)

予測タイム: 55 × 1.15 = ~63 min

範囲はパズルの難易度指数のP25–P75を使用:ベースライン × P25からベースライン × P75。安全境界により範囲は予測タイムの30%%から300%%の間に保たれます。

6 パズルパーソナリティ指標

記憶しやすさ

一度解いた後、このパズルはどれだけ簡単になりますか?

プレイヤーが最初の3回の挑戦でこのパズルをどれだけ早く覚えるかを、平均的なパズルの学習率と比較して測定します。1.0以上は平均以上に馴染みが報われることを意味します。最低:3回以上挑戦した8人のプレイヤー。
learning_rate = (attempt_1 - attempt_3) / attempt_1
memorability = puzzle_learning_rate / global_learning_rate
スキル感度

スキルがこのパズルで大きな差を生みますか?

難易度指数の75パーセンタイルと25パーセンタイルの比率。高いほど速いプレイヤーと遅いプレイヤーの差が大きい。最低:20の有資格指数。
skill_sensitivity = P75(indices) / P25(indices)
予測可能性

このパズルの難易度はどれだけ予測しやすいですか?

0から1のスコア(上限あり)。1に近いほど、異なるプレイヤー間で難易度の経験が一貫していることを意味します。最低:20の有資格指数。
CV = std_dev(indices) / mean(indices)
predictability = 1 / (1 + CV)
箱依存度

箱を見ないとこのパズルはどれだけ難しくなりますか?

箱なし難易度と箱あり難易度の比率。1.0 = 差なし、2.0 = 箱なしで2倍難しい。最低:箱なし10人 + 箱あり5人の完成者。
box_dependence = median(unboxed_indices) / median(boxed_indices)
上達の余地

練習でこのパズルのタイムをどれだけ改善できますか?

初回挑戦の中央値と全挑戦の10パーセンタイルの比率。高いほど練習でタイムが劇的に改善されます。最低:20人の完成者。
improvement_ceiling = P50(first_attempts) / P10(all_attempts)

7 信頼度 & データ品質

信頼度レベル
高い信頼度 — 20+ qualified solvers
中程度の信頼度 — 10-19 solvers
低い信頼度 — 5-9 solvers
データ不足 — < 5 solvers
データ品質
  • ソロのみ:デュオとチームの完成は除外されます
  • 初回挑戦:難易度とベースラインには各パズルとの初回遭遇のみがカウントされます
  • 外れ値フィルター:5.0を超える難易度指数は除外されます(タイマーエラーの可能性)
  • 疑わしい結果の除外:疑わしいとフラグが付けられたタイムは除外されます
  • 新しさの重み付け:最近の完成がより重視されます — ベースライン、スキルティア、Ratingすべてが時間減衰を使用して現在の能力を反映します

最低データしきい値

プレイヤーベースラインピース数ごとに5つの異なる初回ソロ完成
パズル難易度異なるプレイヤーからの5つの有資格指数
プレイヤースキル20以上の初回挑戦者を持つ対象パズル10個
MSP Ratingラダー24ヶ月ウィンドウ内で20回の初回挑戦 + 50回の総完成
記憶しやすさ3回以上挑戦した8人のプレイヤー
スキル感度 / 予測可能性20の有資格指数
箱依存度ベースラインを持つ箱なし10人 + 箱あり5人の完成者
上達の余地20人の完成者

8 オプトアウト

プレイヤーはプロフィール設定でランキングとスキル追跡をオプトアウトできます。オプトアウトしたプレイヤーはすべてのバックグラウンド計算に含まれ、パズル難易度スコアや他のプレイヤーのランキングに貢献します。公開MSP Ratingラダーに表示されず、自分のスキルティアやRatingレーティングも表示されないだけです。オプトインに戻すと、すぐに完全な表示が復元されます。

次回の再計算まで --:--