BRIER.

Methodology

How a prediction becomes a permanent, verifiable record — and how it gets graded.

1. Publish, before the fact

Every prediction is submitted with a timestamp that has to fall before the event it's about — the server rejects anything where that ordering doesn't hold. Each prediction's content is hashed (SHA-256) and chained to the hash of the row before it, so the full sequence can be replayed and checked by anyone. Once written, a prediction row can never be edited or deleted — that's enforced at the database level, not just in application code.

2. Grade, against the close

After an event starts, a grading pass checks for two things: the official result, and a verifiable closing line from the market. A prediction is only marked GRADED once both exist. If the result is known but no verifiable close is available, the prediction is marked UNGRADED_NO_CLOSE — it stays out of the public record rather than being graded on incomplete information. Nothing is graded, or displayed, on a guess.

3. Score it honestly

Two numbers do the work:

CLV (closing line value)
closing line − price at prediction time. A positive CLV means the market moved toward the prediction after it was made — the standard signal that a forecast held real information, independent of whether that specific bet happened to win.
Brier score contribution
(model probability − outcome)², where outcome is 1 if the predicted side hit and 0 if it didn't. Lower is better; 0 is a perfectly calibrated call, 1 is the worst possible one. This is what the site is named for — it's a scoring rule that only rewards well-calibrated probabilities, not lucky guesses.

Verifying it yourself

Every row in the record links to /verify, which recomputes that prediction's hash and chain position live and shows you both the stored and recomputed values side by side. You don't have to trust the number on the page — you can check it.