About onlymove.net

This project was created by Henry Hemming and started on July 12th, 2025.

Problem Details

How accurate are the ratings?

The rating model is checked against players' self-declared ranks on other servers. It is also validated on held-out problems it never trains on, and the check is repeated over several independent runs — each retraining the model from scratch with a different randomly drawn 10% of problems set aside — to confirm it generalizes to unseen positions rather than memorizing, and that the result does not hinge on any one lucky split.

Both figures rest on a few hundred self-declarations, so each carries the sampling margin shown. A difference smaller than that between one refit and the next is noise, not movement.

The full technical account — how the ratings, the ranks and the weakness dimensions are built, and how the app uses them — is in the methodology.

Why train this way?

Fitting difficulty to real human results, targeting an ~80% success rate, and reviewing at a constant recall probability are not arbitrary choices — each rests on findings from the learning-science literature.

Do players improve?

Improvement is measured two independent ways and split by strength: DDK (10k and weaker), SDK (1k–9k) and dan. Rating is a maximum-likelihood estimate of each player's rank on three windows of 100 new problems — their first, the middle of their history, and their latest — for everyone who has solved at least three times that many: early is the change from the first window to the middle one, late from the middle one to the latest. Declared rank compares the rank players declare on the Go servers they play on, their first declaration against their latest, for everyone who has updated one; declarations the rank mapping rejects as implausible are left out. Changes are in ranks per 100 new problems solved — each group's total change over its total problems — ± the spread between players on the same scale.

StrengthRatingDeclared rank
PlayersEarlyImprovedLateImprovedPlayersChangeImproved
DDK80+0.33 ± 0.5368%+0.00 ± 0.4140%19+0.06 ± 0.1147%
SDK157+0.11 ± 0.5554%+0.07 ± 0.5644%36+0.12 ± 0.4033%
Dan18+0.08 ± 0.1961%+0.04 ± 0.1750%33-0.00 ± 0.0512%

The early and late steps span a median of 272 and 273 problems, and a player's two declarations a median of 170. "Improved" counts a rating gain of at least half a rank, or any rise in a declared rank: a declared rank moves in whole steps, and half a rank is the typical distance to the next one, so it is the gain at which a declared rank becomes as likely as not to have risen. Only players who kept solving, or came back to update their rank, are counted at all.

Ranking System

Features

Changelog

See the full changelog for the complete history of updates.