Leak-free HKJC course ranker · V33C

AI That Reads
the HKJC Card

MeowKuda ranks every Hong Kong Jockey Club runner with a model win probability and the gap between that and the live tote price. In an earlier card-path backtest the ranker's top pick won 41.1% of 56 races. That has not held up live: over the 34 races since, the card's top pick won 6 while the market favourite won 12. We publish both numbers, not just the flattering one.

⚡ Sha Tin ⚡ Happy Valley 🧠 V33C Engine 🤖 Built with DeepSeek AI
—
Model
Next meeting TBC
—
Races Shown Free
Next meeting TBC
—
Runners Scored
Next meeting TBC
—
Venue
Next meeting TBC
Next meeting Loading…

How MeowKuda Works

From the published HKJC racecard to an honest probability for every runner.

01

Capture the card

The published HKJC racecard is captured race by race — runners, jockeys, trainers, draws, weights, gear, going and track. Live Singapore Pools tote prices are pulled in as the market opens.

02

Build the features

134 features for Happy Valley and 136 for Sha Tin are computed per horse: recent form, sectionals, jockey and trainer season stats, pedigree, draw and track bias, class and distance profile.

03

Rank & price

A LambdaRank model orders the field and a per-course isotonic calibration turns the score into win probabilities that sum to 100% for the race. Compare them with the live market and you get the model-vs-market gap in points — a model output, not a proven edge.


What You Get

Every race comes with the same numbers the model actually produces.

📊

Calibrated Win %

Each runner gets a field-calibrated win probability that sums to 100% across the race, alongside the raw model probability so you can see the difference.

💰

Edge vs market

Edge is the model's win probability minus the market's implied probability, in points. It is a model-vs-market difference, not a proven edge: measured, the model's probabilities are over-confident at the top of the field, so a positive edge is a question to look into, not a signal to bet.

🏆

Rank Order

The field is ordered by the ranker's rank score, and the top pick is flagged per race. Rank is an ordering, not a guarantee — the probabilities tell you how confident the model is.

🎯

Honest Confidence

Open races are called open. When the model's probabilities are spread thin, the race read says so instead of dressing a 12% chance up as a certainty.

🏟️

Both HK Venues

Separate models and separate calibration for Happy Valley and Sha Tin, because the two tracks behave nothing alike.

🔓

Free Race 1

Race 1 of the upcoming meeting is published free on this page — the genuine model output, not a mock-up. Races 2 onwards are for subscribers.


V33C Course Ranker

A leak-free LambdaRank model per course, with per-course isotonic calibration. Built with DeepSeek AI.

Ranking, then calibrating

MeowKuda V33C ranks the whole field in one pass with a LambdaRank objective — it learns the order of the field, not just an isolated win/lose score. The ranking score is then converted into a win probability by a per-course isotonic calibrator fitted on the validation slice only, so the probabilities are honest rather than optimistic.

Leakage was the hard part. Earlier versions scored higher by accident, learning from information that would not have existed before the race. V33C is trained and validated leak-free, and the numbers below are what it actually does.

0.8546
Honest AUC — Happy Valley
0.8823
Honest AUC — Sha Tin
134 / 136
Features (HV / ST)
41.1%
Top-1 winner, 56-race backtest (historical)

What makes V33C different

Rank-aware objective
LambdaRank orders the field directly instead of scoring runners one at a time
Per-course models
Happy Valley and Sha Tin are trained and calibrated separately
Field isotonic calibration
Probabilities are re-mapped so every race sums to 100% — no runner at 0%
Leak-free validation
Trained and tested without future information; the AUC is the honest one
Live market integration
Singapore Pools tote prices are read live to compute fair odds and edge
Built with DeepSeek AI
Engine, data pipeline and analysis tooling developed with DeepSeek AI

Next Meeting Race 1

Loading the upcoming meeting…

⚡ Model V33C

The Reasoning

A plain-language read of Race 1 built from the model's own numbers. Subscribers get the same read for every race on the card.


Measured, Not Promised

These are the numbers behind the current model. We publish the ones we can defend and leave out the ones we can't.

41.1%
Top pick won the race (earlier 56-race backtest)
Not reproduced live: over the 34 races since, the card's top pick won 6 and the market favourite won 12.
0.8546
Honest leak-free AUC — Happy Valley
0.8571 after field calibration.
0.8823
Honest leak-free AUC — Sha Tin
0.8894 after field calibration.
28,500+
Settled HKJC races in the training store
351,000+ individual runner records, 2015–2026.
What we will not claim. We do not publish a “96% accuracy” figure, an “accuracy score”, or a guaranteed strike rate. Horse racing is a high-variance sport: in our most recent 34 served races the top pick won 6, so the top pick loses most races. Staking decisions, and their consequences, are yours.

Unlock the Full Meeting

Every race on the card, every runner, with live odds and value edge.

Free
$0 / forever
  • Race 1 of every meeting
  • Calibrated win % and rank
  • Race 1 written read
  • Races 2 onwards
  • Live tote odds & edge
Monthly
Ask / month
  • Everything in the meeting pass
  • Both Sha Tin and Happy Valley
  • Results archive access
  • Priority support
  • No online card checkout yet

Frequently Asked

Is the Race 1 prediction on this page real?
Yes. It is the actual V33C output for the upcoming meeting, with the same calibrated probabilities a subscriber sees. Nothing on the free sample is a mock-up.
What do subscribers get that I don't?
Every race on the card — races 2 onwards are gated server-side, so they are not sent to a browser that is not signed in. Subscribers also get the full horse-by-horse table and the race read for each race.
How accurate is the model, really?
In an earlier card-path backtest the top pick won 41.1% of 56 races. That has not held up live: over the 34 races since, the card's top pick won 6 while the market favourite won 12 — on that stretch we are behind the market, and we say so. The top pick loses most races; no system wins every race.
Can I pay by card on this site?
Not yet — there is no payment gateway wired up. Subscriptions are set up manually by the MeowKuda team, who create your login. See the pricing page for how to request access.
All questions

Unlock the Whole Card

Race 1 is free. Sign in to see every race at the next meeting with model win probabilities, live tote odds and the model-vs-market edge for every runner.