Broncos Betbot 2026: how the tool works. Ctrl + mouse wheel to zoom. The editable copy is docs\BETBOT_MAP.drawio.

Broncos Betbot 2026: how the tool works Read down. Orange: data and pricing. Green: what comes back after the game. Navy dashed: decisions, the only lines that change anything. Reviewer, Wed Oct 7 2026. 1 DATA SOURCES what comes in, and who pulls it 2 STORES one SQLite file and two feature tables; additive, de-duplicated 3 MODELS fitted on the feature tables; plus what the operator types or saves on game day 4 PRICING TO CARD game day, left to right; every number here comes from the rules box 5 EVIDENCE LOOP right to left, after the game; it ends at the decision, and only the decision changes anything The Odds API (FanDuel filter only) live full board, about 62 credits a pull closing snapshot at kickoff minus 8 paper boards: early and late, every game 2025 closes: the historical backfill FanDuel pages, saved by hand (D3) My Bets, Transaction History, Rewards a text parser that survives redesigns no browser automation, ever nflverse parquet, 2016-2025 schedules, play-by-play, player stats, snap counts, injuries, rosters, officials (Hugging Face dataset as the fallback source) Open-Meteo weather + config/stadiums.csv temperature, wind, roof flag forecast before the game, archive after Who pulls: the GitHub Actions runner nightly 10:00 UTC: refresh, weather, injuries, odds snapshot, hf-sync closing-snapshot at kickoff-8; paper-board slots secrets live in .env and GitHub secrets only data/betbot.sqlite (schema v11) odds_snapshots 225,932 rows (189,420 closes, 26,643 live, 9,869 pages) the ledger: bets, bet_legs, bankroll_transactions, fanduel_activity, tokens cards, card_lines, paper_snapshots, paper_lines additive only: nothing is ever deleted; every import de-duplicated Feature tables (betbot features-build) team_game 5,522 rows 2016-2025; player_game 94,845 rows 2021-2025 rolling _l3 / _l6 and season-to-date columns from strictly prior games week 1 carried forward from each player's last game of last season Study models (off the card) player_props-2.0.0 market-anchored, loadable 1.3.0 dispersion refit: failed its sentence sacks 1.2.0: does not beat the market 1.1.0+cal calibration map: paste 54 Oct 12 decides what goes on the paper board Market-fair references calibration curves for one-sided markets (anytime TD, sacks) from the 2025 closes player_props-1.1.0 (LIVE) LightGBM mean per market, 11 markets yards log-normal; counts negative binomial; anytime TD Poisson to binary pre-kickoff usage floors game_lines-1.1.0 margin and total as Normals closing spread / total as inputs out-of-sample residual scale; referee SGP joint probability Gaussian copula over measured leg correlations (5,125 team-games) Game day, typed or saved by hand final injury report; inactives at I (T-90) matchups_today.txt, referees_week.txt the Rewards page for the tokens (menu 3) never scraped RULES: config/settings.toml Kelly 0.25 on the current roll caps 4% a bet, 80% a week, 10% one-sided; min edge 1.0 band 25-75%; blend 0.50 / 0.30 changed only at a settle (D18) The board the latest FanDuel snapshot inside a time window; a moved line is never priced as still offered Price each selection FanDuel price > break-even > no-vig (both sides) > model probability > blend > edge and EV Guards band 25-75% on model AND market; one-sided floor 0.20; role-change rule; min edge; feature readiness (every refusal says why) size_stake fractional Kelly on the roll caps enforced; SGP half fraction and $10; best EV first; minimum acceptable price Token optimizer each token where it adds the most EV (exact search) hold at most 2 bets for the T-30 second touch The card card.html + card_lines ranked bets, SGP ladder, tokens, dies-if-inactive + printouts: injury, matchups, defense betbot serve (127.0.0.1) tick to confirm: one bets row per ticket, stake and price as actually got placement route page YOU place every ticket by hand on FanDuel (D3) P Saturday, I at T-90, G at T-70, 5 verify, close at T-8 betbot grade (Monday 7 / 8) box scores > results; closing line > CLV (a diagnostic) Transaction History ties the roll to the cent; the operator's own rows: one aggregate line Weekly report 2026_wNN.md calibration first: reliability by decile, largest gap, the Kelly gate's read; dollars second; card rows only (D10) Paper board (D19), league-wide every game priced by the same engine, graded, never bet; 1,000+ lines over 4 weeks with largest gap <= 5 pts opens the gate Studies and the regression matrix on the 2025 closes, no credits: folds weeks 7-14 walk-forward; holdout weeks 15-22 + 40 games of 2024, scored once; sentences before numbers Audits (ops/audits) a reader that did not build it 01 leakage: no verdict moves 02 doctrine; 03 Sunday MONDAY SETTLE: the operator decides D18: no settings change this season; Week 9 review Nov 9. Oct 12: 2.0.0 on the paper board? injury row? boost rule? the only path that changes rules or models 2025 closes the day's snapshots model probabilities confirmed tickets the evidence rules, at a settle only which model goes where Sources: config/settings.toml; docs/DECISIONS.md (D3, D10, D18, D19); docs/REGRESSION_MATRIX_2025.md; ops/menu.ps1. The operator's own tickets appear nowhere here.