Every score on this platform, defined. The standings are decided by these formulas and the business case is written from them, so they are published in full, including what they do not measure.
Every market pays 100c to the winning side and nothing to the other. A contract trading at 30c is therefore a claim that the event happens 30% of the time. That is the only price at which the trade has zero expected value.
Buying NO at 30c is a claim that YES happens 70% of the time. Everything below restates prices as P(YES) so that both sides of a market are on one scale.
2
Brier score
BS = (1/N) × Σ (pᵢ − oᵢ)²
pᵢforecast probability that YES happens, in [0,1]
oᵢoutcome: 1 if the market resolved YES, else 0
Nnumber of scored forecasts
The standard binary Brier score (Brier, 1950). Range 0 to 1, lower is better. 0.25 is the score of forecasting 0.5 on everything.
Used twice: for the platform, where p is the market's closing price; and for a player, where p is the price they paid.
3
Brier Skill Score
BSS = 1 − BS ÷ BSref
BSrefthe reference forecaster's Brier score
Murphy (1973). 1 is perfect, 0 is no better than the reference, negative means the prices were worse than the reference, actively misleading.
Two references are reported, deliberately:
r(1−r)Climatology. The score of always forecasting the base rate r observed in this sample. This is the honest, hard baseline, and it is computed in sample, meaning the reference forecaster is assumed to have known how often YES came up. That makes it tougher than it looks.
0.25Uninformed. The score of forecasting 0.5 on everything. Softer, more commonly quoted, and reported alongside so the flattering number is never the only one on the page.
4
Reliability curve
Markets are grouped into ten bands by closing price. For each band the chart plots the mean forecast against the observed frequency of YES. A calibrated platform tracks the diagonal.
Each band carries a 95% Wilson interval on the observed frequency. Wilson rather than the normal approximation because bands sit near 0 and 1 with small counts, exactly where the normal interval leaves [0,1] and collapses to zero width when every outcome agrees. Bands with fewer than 10 markets are marked thin and should not be read as evidence of anything.
5
Edge
Edge = (returned − staked) ÷ staked
returned100c × contracts held on the winning side, summed over settled positions
stakedtotal cost of those positions, win or lose
A ratio of sums, not a mean of per-trade returns. That makes it money-weighted: a large well-priced position moves it more than a small one, which is the behaviour you want from a measure of trading skill.
6
Breadth
Breadth = Σ min(nc, 10)
ncsettled positions in category c
Counts range, not accuracy. The per-category cap of 10 is what stops it degenerating into a volume count. A player must also hold settled positions in at least 4 categories, and ties are broken on Brier score so range cannot pay for being wrong everywhere.
Choices a reader could reasonably disagree with
These are decisions, not facts. Each one changes the numbers, so each one is stated.
7
One forecast per market, per player
A player's holdings in a market are netted before scoring, so each market contributes exactly one Brier term whether they traded it once or twenty times.
Matched YES and NO contracts are removed at their guaranteed 100c redemption first. A fully hedged book therefore makes no forecast at all and is excluded rather than scored, otherwise a player could dilute a bad call by hedging it after the fact.
The trade-off: position size carries no weight in the Brier score. A 1-contract call and a 2 000-contract call count the same. That is correct for scoring forecasts and wrong for scoring conviction; Edge is the measure that weights by money.
8
Volume-weighted entry price
Where a position was built across several fills, the forecast is the average price paid. Buying at 30c and again at 50c is scored as one 40c call.
The trade-off: a player who correctly updated, bought at 30c, then again at 70c as news arrived, is scored at 50c, which flatters neither the first call nor the second. Scoring each fill separately would fix this and would also let someone farm the board by slicing one position into a hundred trades.
9
Markets that never traded are excluded
The platform score uses each market's closing price the implied price at the moment it closed, recorded before the book is cancelled and long before the result is known.
A market that never traded has no closing price, only the opening prior, which is a hand-set number and not a crowd view. Those are excluded from the headline score and counted separately. Right now: 0 scored on a real closing price, 0 excluded for having none.
10
What is excluded entirely
Void markets. Every stake is returned; they score for nobody, in either direction.
Open and closed-but-unsettled markets. Nothing is scored until the result is recorded.
The house market maker. Excluded from every player board. Its P&L is tracked separately on the house dashboard.
baselinethe uninformed value: 0.25 for Brier, 0.5 for accuracy, 0 for edge
Ordinary empirical-Bayes shrinkage toward the uninformed forecaster, with a pseudo-count of 10. Edge shrinks against a pseudo-stake of R100 instead of a count, because edge is money-weighted rather than forecast-weighted.
Why: ranking on the raw score puts whoever got one lucky call right at the top permanently. Hiding everyone below a threshold leaves the board empty for the first weeks of a season and discards real information. Shrinkage does neither: a single perfect call ranks near a coin flip, and the estimate converges on the truth as the record thickens.
The trade-off: it mildly favours volume. Two players with identical true skill will be separated by how many questions they settled, which is a real cost and the reason the raw score is displayed next to the rank rather than hidden behind it.
Scope: this affects the order of a list and nothing else. Every score shown in a table is the raw one, every figure in the exports is the raw one, and the pre-registered analysis uses the raw one throughout. No published result depends on it.
Check it yourself
12
Reproducing every number
The CSV export on the evidence page carries one row per settled market with its ticker, category, opening prior, closing price, result and Brier contribution. Every platform-level figure on this site is a summary of that file and nothing else.
The JSON export carries the computed summaries alongside, so the two can be reconciled against each other. If they disagree, the CSV is the source of truth and the summary is the bug.
Scores recompute from scratch every time a market resolves. Nothing is cached, and no score is ever written down and trusted later.
Found something wrong? That is worth more to this project than another hundred users. The formulas above are the whole basis on which YaNoBru claims its prices mean anything.
Contact us
A person reads every one of these. Tell us what happened and we will come back to you.