Current Data Set
The system now separates missing payout data from verified no-pool refunds. A missing payout parse is marked
UNGRADED_MISSING_PAYOUT, not treated as a returned stake. The active dashboard namespace is
corrected_scenarios, leaving the old scenario files available for comparison.
What Was Fixed
- Added explicit bet statuses:
WON,LOST, verified refunds, missing payout, missing result, invalid source, and parse error. - Changed WPS grading so missing payout tables do not become no-pool refunds.
- Only
REFUND_NO_POOL_VERIFIEDis used when result text or structured data explicitly proves no wagering/no pool was offered. - Normalized WPS and exotic payouts by payout base, with tests for $1 and $2 bases.
- Stored exacta/trifecta combinations explicitly and charged part-wheels by combo count.
- Kept chronological prediction boundaries: predictions are saved locked before results are loaded for grading.
- Added payout coverage audit CSVs and dashboard warnings for poor coverage, small resolved sample, proxy odds, and data-quality-only filters.
Payout Coverage Audit
The main data-quality problem is show-pool coverage. The current result set has 1,967 show-pool rows with missing or unverified show payout data, only 120 show-pool rows with complete payout data, and 31 rows where no wagering/no pool is verified.
| Pool | Pool status | Payout status | Race/pool rows | Meaning |
|---|---|---|---|---|
| Win | Verified | Complete | 2,085 | Usable for grading. |
| Place | Verified | Complete | 2,087 | Usable for grading. |
| Show | Unknown | Missing | 1,967 | Ungraded. This was the previous false-refund problem. |
| Show | Verified | Complete | 120 | Usable for corrected show grading. |
| All listed pools | No pool verified | Not applicable | 31 each | Usually non-wagering/qualifying rows with explicit no-wagering evidence. |
| Exacta | Verified | Complete | 2,085 | Usable for exact-order grading. |
| Trifecta | Verified | Complete | 2,085 | Usable for exact-order grading. |
| Superfecta | Verified | Complete | 2,073 | Usable where implemented. |
Audit exports: coverage by date, coverage by pool, missing payout examples, verified no-pool examples, parse issue examples, and corrected strategy summary.
Corrected Strategy Results
Resolved ROI is the primary metric only when coverage and sample size are adequate. Show-based strategies still have poor coverage unless they are explicitly restricted to the 120 complete show-payout rows. No strategy passes the validation rule set.
| Scenario | Total bets | Wagered | Net | All-ticket ROI | Resolved bets | Resolved ROI | Coverage | Missing payout | Validation |
|---|---|---|---|---|---|---|---|---|---|
| Corrected win only | 2,082 | $41,750.00 | -$17,257.90 | -41.3% | 2,079 | -41.4% | 99.9% | 3 | not validated |
| Corrected place only | 2,082 | $41,750.00 | -$17,698.10 | -42.4% | 2,082 | -42.4% | 100.0% | 0 | not validated |
| Corrected show only | 2,086 | $41,750.00 | -$1,218.80 | N/A | 120 | -40.6% | 5.8% | 1,966 | insufficient show-payout coverage |
| Corrected 70% show | 837 | $41,000.00 | -$1,245.70 | N/A | 58 | -45.3% | 6.9% | 779 | insufficient show-payout coverage |
| Complete-data show | 120 | $3,000.00 | -$1,218.80 | -40.6% | 120 | -40.6% | 100.0% | 0 | not validated |
| Corrected Show EV | 220 | $5,636.00 | -$168.00 | N/A | 10 | -67.2% | 4.5% | 210 | insufficient show-payout coverage |
| Corrected Place EV | 151 | $4,006.00 | -$2,286.80 | -57.1% | 151 | -57.1% | 100.0% | 0 | not validated |
| Corrected win overlay | 1,629 | $37,942.00 | -$23,372.00 | -61.6% | 1,627 | -61.7% | 99.9% | 2 | not validated |
| Corrected segment | 0 | $0.00 | $0.00 | N/A | 0 | N/A | N/A | 0 | No bets generated |
| Corrected vuln fav | 30 | $736.00 | $0.00 | N/A | 0 | N/A | 0.0% | 30 | Not validated: no resolved bets |
| Corrected exacta | 590 | $16,570.00 | -$10,077.17 | -60.8% | 589 | -60.9% | 99.8% | 1 | not validated |
| Corrected filtered show | 276 | $14,138.00 | -$494.70 | N/A | 21 | -40.2% | 7.6% | 255 | insufficient show-payout coverage |
| Corrected fancy | 4,500 | $40,906.00 | -$20,311.33 | -49.6% | 4,496 | -49.7% | 99.9% | 4 | not validated |
| Corrected learned | 3,584 | $39,664.00 | -$18,551.70 | -46.8% | 3,581 | -46.8% | 99.9% | 3 | not validated |
| Corrected original | 3,558 | $39,464.00 | -$17,199.70 | -43.6% | 3,555 | -43.6% | 99.9% | 3 | not validated |
Old vs Corrected
The old show-only dashboard showed 2,086 show bets, $41,750 wagered, $40,531.20 returned, and -2.92% raw ROI because 1,966 rows were treated as no-pool refunds. The corrected run keeps those 1,966 rows as UNGRADED_MISSING_PAYOUT. Only 120 show bets are actually resolved, and those resolved bets are -40.63% ROI.
The old 70% show limit had the same issue: 779 of 837 rows were missing payout rows, not verified no-pool refunds. Its corrected resolved sample is only 58 bets at -45.30% ROI. The complete-data show baseline isolates the 120 verified complete show-payout rows and confirms the same -40.63% resolved ROI.
Validation Finding
No corrected strategy is actually profitable under the corrected grading and walk-forward validation rules. Several strategies are also proxy-only because this data set has morning-line or estimated prices, not true live tote snapshots.
Corrected Show EV,Corrected Place EV,Corrected win overlay,Corrected segment, andCorrected vuln favare proxy-only and not suitable for live wagering decisions.Complete-data showis a data-quality baseline, not a live strategy, because it filters by historical payout coverage.- Final payouts are used only to grade already-locked simulated bets.
- The next useful data task is improving show payout extraction or adding a verified source with complete show-pool returns.
Phase 2 Forensic Findings
The current model beats random on win hit rate, but it does not beat the morning-line favorite. That means strategy tuning should stay disabled until the model, probability calibration, and source coverage improve.
| Question | Answer | Evidence |
|---|---|---|
| Does model rank beat random? | Yes on win hit rate | Model rank #1 win hit rate 28.66% vs random 15.35%. |
| Does model rank beat morning-line favorite? | No | Morning-line favorite win hit rate 32.65% vs model rank #1 at 28.66%. |
| Does model rank beat final public favorite? | Insufficient final-odds coverage | Only 2.4% of races have parsed final-odds favorite coverage, so this is diagnostic-only and not reliable. |
| Are odds parsed correctly? | Unit tests pass | EVEN, 5/2, 8/5, 110, favorite markers, and missing odds are covered. |
| Are program number and post position separated? | Yes, with audit warnings | 14,926 entries checked; 4,221 program/post differences are listed for audit, not collapsed into one field. |
| Can show-payout coverage be repaired now? | No alternate files found | TrackMaster adapter dry-run found 0 vendor files and 0 repair candidates for 1,967 missing show-payout races. |
| Which strategies remain candidates? | None | 0 strategies pass validation; live-wagerable strategy count is 0. |
Phase 2 exports: forensic audit page, summary JSON, baseline comparison, prediction ledger, and stake ledger.
Phase 3 Findings
Phase 3 fixed parser-audit semantics and rebuilt model diagnostics around the morning-line baseline. Candidate strategy count remains 0; live-wagerable strategy count remains 0.
| Gate | Status | Meaning |
|---|---|---|
| Model vs morning line | FAILS_MORNING_LINE | The current model must beat the morning-line favorite before strategy tuning resumes. |
| Hybrid vs market-only | FAILS_MARKET_ONLY | The residual/hybrid model must add out-of-sample signal beyond public proxy price. |
| Probability rebuild | INVALID_PROBABILITIES | EV strategies remain blocked unless probabilities pass calibration thresholds. |
| Show-payout coverage | INSUFFICIENT_SHOW_PAYOUT_COVERAGE | Missing show payouts remain ungraded, not refunds. |
| Final-odds coverage | INSUFFICIENT_FINAL_ODDS_COVERAGE | Final odds remain diagnostic-only and cannot enter live selection. |
Phase 3 page and exports: phase3.html, model vs morning line, probability rebuild, and horse-name cleanup audit.
Phase 4 Source-Truth Findings
Phase 4 fixes dashboard display semantics and builds the source-truth repair queue. Candidate strategies remain 0; paper-strategy evaluation is blocked; live-wagerable strategy count remains 0.
| Area | Status | Evidence |
|---|---|---|
| Dashboard ROI display | Fixed | Zero-resolved scenarios now display N/A instead of a numeric ROI. |
| Coverage gate | BLOCKED_DATA_COVERAGE | raw finish coverage below 80%; show payout coverage below 80%; final odds diagnostics below 80%; final odds remain unreliable; model rank #1 does not beat morning-line favorite; hybrid does not beat market-only; probabilities invalid; no passive tote snapshots |
| TrackMaster Results files | 0 | Local purchased files only; no scraping or downloading. |
| TrackMaster PP files | 0 | Pre-race data only; result-like fields are ignored and flagged. |
| Passive tote capture | disabled | Disabled by default; no recommendations are produced. |
Phase 4 page and exports: phase4.html, source coverage, repair approval template, and tote capture audit.
Phase 5 Vendor Data Findings
Phase 5 status is WAITING_FOR_VENDOR_FILES. Candidate strategies remain 0; paper evaluation is blocked; live-wagerable strategy count remains 0.
| Area | Status | Evidence |
|---|---|---|
| Vendor files | WAITING_FOR_VENDOR_FILES | Results files: 0; PP files: 0 |
| Missing-data manifests | Generated | Results rows: 2041; PP rows: 2086 |
| Repairs | NO_VENDOR_REPAIR_PROPOSALS | Proposals: 0; approved applied: 0 |
| Coverage | WAITING_FOR_VENDOR_FILES | Raw finish 45.83% to 45.83%; show 5.67% to 5.67%; final odds 2.40% to 2.40% |
| Tote readiness | NO_TOTE_SNAPSHOTS | No recommendations or strategy consumption are enabled in Phase 5. |
Phase 5 page and exports: phase5.html, vendor status, results manifest, gate summary.
Strategy Lab Findings
Strategy Lab is historical research only. It tested the original 20 proxy-only rule families plus added diagnostics and data-mined probes; candidate strategies remain 0, paper evaluation remains blocked, and live-wagerable strategies remain 0.
| Area | Result |
|---|---|
| Rules / variants evaluated | 39 |
| Strategies that generated bets | 36 |
| Research promising | 0 |
| Ticket validation | passed |
| Summary validation | passed |
Latest result: mined_nw_rank6_outside_midodds_win was positive in discovery and walk-forward, but failed locked holdout and has only 77 resolved bets, so it remains a small-sample diagnostic. Candidate strategies remain 0.
| Finding | Strategy | Resolved | Discovery ROI | Walk-Forward ROI | Holdout ROI | Status | Interpretation |
|---|---|---|---|---|---|---|---|
| Discovery-positive mined pocket | mined_nw_rank6_outside_midodds_win | 77 | +14.81% | +18.28% | -2.31% | SMALL_SAMPLE_DIAGNOSTIC | Positive discovery and walk-forward, but failed locked holdout and has only 77 resolved bets. |
| Walk-forward near-flat diagnostic | mined_nw_deep_model_rank6_win | 214 | -2.34% | +0.06% | -13.42% | SMALL_SAMPLE_DIAGNOSTIC | Walk-forward was barely positive, but discovery and holdout were negative. |
| Holdout-only control | open_class_consensus_win | 45 | -17.67% | -35.14% | +52.22% | SMALL_SAMPLE_DIAGNOSTIC | Holdout was positive, but discovery and walk-forward were negative with only 45 resolved bets. |