JockeyBench: Evaluating LLM Agents on Horse-Racing Decision-Making
Organizations: The Hong Kong University of Science and Technology · Tsy Capital Limited · Independent researcher · Hong Kong Baptist University
Abstract
Repeated event forecasting requires extracting predictive signals from noisy evidence and evaluating their value across successive decisions. We introduce JockeyBench, a benchmark and evaluation protocol that studies this problem through historical Japanese horse racing. The protocol combines time-gated evidence, priced tools, paired frozen-program controls, and two workflows: executing an LLM-written predictor or acquiring evidence for a fresh per-race LLM forecast. Evaluation separates forecast quality, benchmark-specific net utility, and retrospective betting returns and risk under fixed decision rules. Across 28 model--scaffold configurations on 324 races, paired tests identify seven revision gains and two declines after multiple-testing correction. Yet every configuration has negative mean profit under capped-Kelly settlement. In a four-model comparison, the reusable-program workflow has higher mean betting profit and lower research fees, although both workflows lose on average. Further diagnostics reveal that mean probability bias reverses on selected bets and that profitable individual runs can depend on concentrated returns. These findings motivate evaluating predictive competence, adaptation, resource use, and decision value separately when assessing agents for repeated event forecasting.
Figures & tables
| Benchmark | Time-gated data | Predictive code | Feedback loop | Outcome revision | Dual workflows | Payoffs | Risk metrics | Priced tools | Frozen control |
| ForecastBench | |||||||||
| Prophet Arena | |||||||||
| PolyBench | |||||||||
| Vending-Bench | |||||||||
| CostBench | |||||||||
| MLE-bench |
| Forecast quality | Delivery | Utility | Daily revision | Cost | Run setup | |||||
| Model / reference | Log gain mean SD | S log gain mean | Top-1 % | Top-3 % | Predictor % | Net /race | A S [95% CI] | Validated versions | Fees /race | Access |
| GPT-6.1-Sol | 100 | 1.0 | 14.1 | Codex | ||||||
| GPT-6-Astra | 100 | 1.0 | 13.6 | Codex | ||||||
| Claude Opus 5 | 100 | 4.0 | 14.9 | Claude Code | ||||||
| GPT-5.6-Sol | 100 | 4.2 | 17.0 | Codex | ||||||
| GPT-6-Sol | 100 | 4.2 | 16.7 | Codex | ||||||
| Reference | 6 Jan–3 Feb 2024 | Jan–Jun 2024 | From 5 Oct 2024 | Predictor | |
| Log gain | Top-1 accuracy | Log gain | Log gain | ||
| Agent-interface references: R1–R3 fitted on 87 support races | |||||
| R0: uniform | 0.000 | 0.071 | 0.000 | 0.000 | Equal probabilities |
| R1: race-card features | 0.155 | 0.157 | 0.160 | 0.088 | Conditional logit |
| R2: card + recent history | 0.343 | 0.238 | 0.363 | 0.239 | Conditional logit |
| R3: expanded factual features | 0.298 | 0.210 | 0.310 | 0.167 | Conditional logit |
Appendix figures & tables20 assets
Supplementary material from the paper’s appendix.
Appendix
| Group | Fields | Content |
|---|---|---|
| Race | 23 | distance; surface; direction; course layout and variant; venue; meeting day; age class; eligibility condition; weight rule; grade; declared field size; turf grass type and height; rolling and antifreeze treatment; rainfall; forecast weather; forecast turf and dirt going; inner, middle and outer turf condition |
| Runner | 25 | carried weight; draw; sex; age in days; blinkers; body weight and its change (when on the card); layoff duration; transport; earned and class prize money; starts and days since stabling; class-drop, rest-reason and hoof codes; late-start rate; sire and damsire turf and dirt top-two rates and average distance; sire and damsire IDs |
| Workout | 13 | workout distance; early, middle and late split times; effort and urging; rider role; training partner’s result, class, age and effort; course type; distance type |
| Past start | 30 | finishing position; abnormal result; distance; surface; going; venue; condition; grade; age class; field size; draw; carried weight; body weight and its change; first and last three-furlong times; margin to the winner; fourth-corner position and path; path; overall, early, middle and late trouble; race pace and own pace; running style; slow start; jockey and trainer IDs |
| Connections | 6 | jockey and trainer starts, wins and top-three finishes over the preceding 365 days, counted from released results |
| Withheld | – | odds and popularity (current and past races); dividends; expert indices, ratings and marks; predicted positions; aptitude, class and track-bias assessments; free text; real names; absolute dates |
| Display name | Recorded model identifier | Route | Effort | Model responses per run |
|---|---|---|---|---|
| GPT-6-Astra | gpt-6-astra | Codex | high | 26.0 |
| Claude Fable 5.1 | claude-fable-5-1 | Claude Code | high | 52.0 |
| GPT-5.6-Sol | gpt-5.6-sol | Codex | high | 74.0 |
| GPT-6-Sol | gpt-6-sol | Codex | high | 86.7 |
| Claude Opus 5 | claude-opus-5 | Claude Code | high | 47.7 |
| Claude Opus 5.5 | claude-opus-5-5 | Claude Code | high | 30.3 |
| Model | Runs A/S |
|---|---|
| GPT-6.1-Sol | 5/5 |
| GPT-6-Astra | 5/5 |
| Claude Opus 5 | 4/4 |
| GPT-5.6-Sol | 5/5 |
| GPT-6-Sol | 5/5 |
| Claude Fable 5.1 | 4/4 |
| Analysis | Coverage | Sample |
|---|---|---|
| Main Program comparison | 28 configurations | 138 A/S pairs |
| Delivery archive | 25 configurations | Earlier export |
| Flat-WIN archive | 22 models | 54 Program trajectories |
| Workflow forecasts | 4 models | 31 trajectories |
| Workflow betting and costs | 4 models | Same 31 trajectories |
| Matched acquisition controls | 2 models | 3 Frozen/Adaptive pairs |
| Sealed prediction outcomes | Session diagnostics | ||||||
| Model | Predictor | Silent unif. | Explicit unif. | No program | Fallback | SDK misuse | No save |
| GPT-6-Astra | 972 | 0 | 0 | 0 | 0 | 1 | 0 |
| Claude Fable 5.1 | 972 | 0 | 0 | 0 | 0 | 0 | 0 |
| GPT-5.6-Sol | 972 | 0 | 0 | 0 | 0 | 0 | 0 |
| GPT-6-Sol | 972 | 0 | 0 | 0 | 0 | 0 | 0 |
| Claude Opus 5 | 972 | 0 | 0 | 0 | 0 | 0 | 0 |
| F18 | FAGENT | FV5 | ||||
|---|---|---|---|---|---|---|
| Train | Logit | Logit | Logit HGB | Logit | HGB | Logit HGB |
| 100 | 0.411 | 0.470 | 0.438 | 0.394 | 0.327 | 0.431 |
| 300 | 0.442 | 0.487 | 0.462 | 0.492 | 0.405 | 0.493 |
| 1,000 | 0.461 | 0.501 | 0.494 | 0.536 | 0.466 | 0.535 |
| 3,000 | 0.462 | 0.502 | 0.510 | 0.577 | 0.571 | 0.597 |
| 10,000 | 0.463 | 0.503 | 0.519 | 0.584 | 0.606 | 0.613 |
| Reference | January–June 2024 | Autumn 2024 |
|---|---|---|
| Uniform (R0) | 0 | 0 |
| Race-card features (R1) | 0.160 | 0.088 |
| Card and recent history (R2) | 0.363 | 0.239 |
| Expanded factual features (R3) | 0.310 | 0.167 |
| 18 hand-built features + logit (F18) | 0.457 | 0.369 |
| Agent-inspired feature ensemble (FAGENT) | 0.496 | 0.405 |
| Probabilistic score | Ranking accuracy | |||
| Workflow | Smoothed log gain (nats) | Top-1 (%) | Top-3 precision (%) | |
| DeepSeek-V4-Flash | ||||
| Program | 6 | |||
| Adaptive Acquisition | 6 | |||
| GLM-5.3-Flash | ||||
| Program | 5 | |||
| Metric | DeepSeek R1 | DeepSeek R2 | GPT-6-Astra R1 | |||
|---|---|---|---|---|---|---|
| Frozen- | Adaptive | Frozen- | Adaptive | Frozen- | Adaptive | |
| Synthetic scores (score-yen) | ||||||
| Gross score | ||||||
| Weighted fees | ||||||
| Net score | ||||||
| Forecast quality | ||||||
| Measure | Frozen | Adaptive R1 | Reduction |
|---|---|---|---|
| Logical calls | 4,568 | 392 | 4,176 |
| Native acquisitions | 3,500 | 287 | 3,213 |
| Newly charged cells | 1,136,800 | 92,904 | 1,043,896 |
| Weighted data fee | 5,684.00 | 464.52 | 5,219.48 |
| Weighted call fee | 875.00 | 71.75 | 803.25 |
| Weighted total | 6,559.00 | 536.27 | 6,022.73 |
| Model (rounds pooled) | Win ROI % | [95% bootstrap] | Place ROI % |
|---|---|---|---|
| GPT-6-Astra (3) | -5.0 | [-21, +11] | -16.3 |
| Claude Fable 5.1 (3) | -12.7 | [-27, +2] | -15.6 |
| GPT-5.6-Sol (3) | -7.6 | [-24, +10] | -14.9 |
| GPT-6-Sol (3) | -8.1 | [-25, +10] | -15.9 |
| Claude Opus 5 (3) | -10.0 | [-26, +7] | -14.1 |
| Claude Opus 5.5 (3) | -10.5 | [-25, +5] | -15.9 |
| Return | Mean-path risk | |||||
| Model | Workflow | Profit (JPY) | ROI (%) | Max. DD (JPY) | Annualized P&L SR | |
| Flat JPY 100 WIN | ||||||
| DeepSeek | Program | 6 | ||||
| DeepSeek | Adaptive Acquisition | 6 | ||||
| GLM | Program | 5 | ||||
| GLM | Adaptive Acquisition | 1 | ||||
| Model | Workflow | Gross score | Weighted fees | Net score | |
|---|---|---|---|---|---|
| DeepSeek-V4-Flash | Program | 6 | |||
| DeepSeek-V4-Flash | Adaptive Acquisition | 6 | |||
| GLM-5.3-Flash | Program | 5 | |||
| GLM-5.3-Flash | Adaptive Acquisition | 1 | |||
| GPT-6-Astra | Program | 5 | |||
| GPT-6-Astra | Adaptive Acquisition | 2 |
LLM Agent Evaluation
Large language model agent evaluation measures whether tool-using systems complete tasks reliably, safely, and efficiently.
See all 1,217 papers