The leaderboard now uses the Sudoku Power Index (SPI) — a score from 0 to 100 that rewards fast solves on difficult Sudokus and consistent performance as you complete more Sudokus.
Per‑Sudoku contribution
Each time you solve a Sudoku, you earn a score \( S_{u,s} \) that reflects both the difficulty of the Sudoku 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 Sudoku \( s \), and \( t_{u,s} \) is your time. The logarithmic term models Sudoku difficulty (with diminishing returns), while the clamped time ratio rewards speed within bounds.
Symbol |
Meaning |
\( \bar{t}_s \) |
Average solve time for Sudoku \(s\) (in seconds) |
\( t_{u,s} \) |
Your time to solve Sudoku \(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 Sudoku, 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 Sudokus 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 Sudokus — and solve them well — to reach the top.
Leaderboard score
Finally, all user scores are normalized to generate a clean leaderboard from 0 to 1000:
\[\displaystyle \text{SPI}_u = 1000 \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 1000.