The leaderboard now uses the
Sudoku Power Index (SPI) — a score from 0 to 100 that rewards
fast solves on difficult puzzles and consistent performance as you complete more puzzles.
Per‑puzzle contribution
Each time you solve a puzzle, you earn a score \( S_{u,s} \) that reflects both the difficulty of the puzzle and how fast you solved it:
\[
S_{u,s} = \max\left(1,\ \log_{1.2}\left(\frac{\bar{t}_s}{20}\right)\right)
\cdot \mathrm{clamp}\left(\frac{\bar{t}_s}{t_{u,s}},\ 0.5,\ 2\right)
\]
Here, \( \bar{t}_s \) is the average time (in seconds) to solve puzzle \( s \), and \( t_{u,s} \) is your time. The logarithmic term models puzzle difficulty (with diminishing returns), while the clamped time ratio rewards speed within bounds.
Symbol |
Meaning |
\( \bar{t}_s \) |
Average solve time for puzzle \(s\) (in seconds) |
\( t_{u,s} \) |
Your time to solve puzzle \(s\) (in seconds) |
Weight examples (based on avg. time in seconds)
Average time (s) |
\( \log_{1.2}\left(\frac{x_1}{20}\right) \) |
60 | 6.025851 |
120 | 9.827469 |
240 | 13.629253 |
300 | 14.853154 |
600 | 18.654938 |
1200 | 22.456722 |
2400 | 26.258506 |
3600 | 28.482407 |
7200 | 32.284191 |
The weight grows faster for harder puzzles, with base-1.2 logarithmic scaling from 20 seconds upward.
User score
Your score \( R_u \) is the sum of your scores from the
last 100 puzzles you’ve completed. If you’ve solved fewer, only those count.
\[\displaystyle R_u = \sum_{s=1}^{N_u} S_{u,s}\]
This setup rewards both quantity and quality: you must solve many puzzles — and solve them well — to reach the top.
Leaderboard score
Finally, all user scores are normalized to generate a clean leaderboard from 0 to 100:
\[\displaystyle \text{SPI}_u = 100 \cdot \frac{R_u}{\max\limits_v R_v}\]
The closer your performance is to the best in the community, the closer your SPI will be to 100.