Are our percentages honest?

Updated after racing on Mon 19 Oct 2026 · 31 forward races · 379 runners

When we rate a horse at 20%, does it win about 1 in 5? This page checks, and shows the market alongside us, good or bad.

How to read this

We sort runners into bands by our rated win %. If our percentages are honest, a band rated around 20% should win about 20% of the time, so the actual wins should be close to the expected wins (our percentages added up). The two scores boil it down to one number each: the lower, the better, and the market’s score is on the same races for comparison.

Forward · our locked ratings

Scored on what actually happened

31 races so far. These numbers will move a lot until we have a few hundred.

Every runner’s rating as locked 4 minutes before the off, from the 50/50 blend we use for Top Rated, scored against the result. The market here is the market’s own chance for each runner at the same moment (1 ÷ odds, adjusted so each race adds to 100%). We only started saving full fields on 11 Oct, so earlier meetings are in the “top pick only” table below.

Our score
0.0706
Brier score of our percentages: the average squared miss. Lower is better; 0 is perfect.
Log loss 2.191
Market’s score
0.0710
The same test on the market’s chances at our lock time.
Log loss 2.202
Skill score v market
Level with the market — too early to tell (31 races)
Skill score +0.005 (95% range −0.027 to +0.032). Below zero would mean the market is sharper.
0%0%10%10%20%20%30%30%40%40%0–5%: 165 runners, 4 won vs 5.0 expected. Rated 3.0% on average, won 2.4% (small sample)5–10%: 123 runners, 13 won vs 8.8 expected. Rated 7.2% on average, won 10.6% (small sample)10–15%: 35 runners, 3 won vs 4.4 expected. Rated 12.5% on average, won 8.6% (small sample)15–20%: 28 runners, 4 won vs 4.7 expected. Rated 16.9% on average, won 14.3% (small sample)20–30%: 19 runners, 4 won vs 4.6 expected. Rated 24.0% on average, won 21.1% (small sample)30%+: 9 runners, 3 won vs 3.5 expected. Rated 38.8% on average, won 33.3% (small sample)Our rated win % (band average)Actual win rate
One band. Bigger dot = more runnersGrey = small sample (under 10 expected wins)Dashed line: rated = won
Our rated %RunnersExpected winsActual winsRated (avg)Won (actual)
0–5%small sample1655.043.0%2.4%
5–10%small sample1238.8137.2%10.6%
10–15%small sample354.4312.5%8.6%
15–20%small sample284.7416.9%14.3%
20–30%small sample194.6424.0%21.1%
30%+small sample93.5338.8%33.3%
The market’s own bands, same races (at lock)
Market %RunnersExpected winsActual winsMarket’s chance (avg)Won (actual)
0–5%small sample1754.842.7%2.3%
5–10%small sample1017.277.2%6.9%
10–15%small sample475.71212.2%25.5%
15–20%small sample254.1016.3%0.0%
20–30%small sample194.4423.1%21.1%
30%+small sample124.7439.4%33.3%

Earlier meetings · top pick only

Every locked race since 1 Oct

Before 11 Oct we saved only each race’s top three, so for these races we can check the Top Rated pick and nothing else. Rated % is our rating for the pick; expected wins is those ratings added up.

Rating usedRacesAverage ratedExpected winsActual wins
Model only, before we switched to the 50/50 blend on 7 Oct2226.9%5.92
50/50 blend of model and market (from 7 Oct)4026.8%10.78

The model-only top picks were rated about 27% on average and won 2 of 22 races, where about 5.9 would have been expected. That small sample is one reason we moved Top Rated to the 50/50 blend on 7 Oct. Small samples mislead in both directions, so we are not drawing more from it than that.

Test · 854 races we never trained on

The same check on last season

854 races from 7 Sep 2025 to 15 Jul 2026, 10,687 runners. Our rating is the same 50/50 blend; the market is its final prices. That is not the price we can see 4 minutes before the off, so treat the market score as the market at its sharpest.

Our score
0.0672
Brier score of our percentages: the average squared miss. Lower is better; 0 is perfect.
Log loss 2.115
Market’s score
0.0660
The same test on the market’s chances from final HKJC prices.
Log loss 2.050
Skill score v market
−0.019
On 854 test races the market was sharper than us.
95% range −0.026 to −0.011. Below zero means the market is sharper.
0%0%10%10%20%20%30%30%40%40%0–5%: 4,694 runners, 103 won vs 126.8 expected. Rated 2.7% on average, won 2.2%5–10%: 3,104 runners, 215 won vs 222.9 expected. Rated 7.2% on average, won 6.9%10–15%: 1,450 runners, 192 won vs 177.6 expected. Rated 12.3% on average, won 13.2%15–20%: 674 runners, 124 won vs 116.4 expected. Rated 17.3% on average, won 18.4%20–30%: 556 runners, 138 won vs 133.7 expected. Rated 24.0% on average, won 24.8%30%+: 209 runners, 82 won vs 76.5 expected. Rated 36.6% on average, won 39.2%Our rated win % (band average)Actual win rate
One band. Bigger dot = more runnersGrey = small sample (under 10 expected wins)Dashed line: rated = won
Our rated %RunnersExpected winsActual winsRated (avg)Won (actual)
0–5%4,694126.81032.7%2.2%
5–10%3,104222.92157.2%6.9%
10–15%1,450177.619212.3%13.2%
15–20%674116.412417.3%18.4%
20–30%556133.713824.0%24.8%
30%+20976.58236.6%39.2%
The market’s own bands, same races (final prices)
Market %RunnersExpected winsActual winsMarket’s chance (avg)Won (actual)
0–5%5,104113.91022.2%2.0%
5–10%2,712196.11797.2%6.6%
10–15%1,244153.216912.3%13.6%
15–20%672116.012917.3%19.2%
20–30%648155.216023.9%24.7%
30%+307119.511538.9%37.5%

Read this before drawing conclusions

Ratings, not tips. Updated automatically after each meeting’s results are in.