⚙ First-Time Setup
You need a free Supabase project to store data across users. This takes about 3 minutes.
Step 1 — Create Supabase project

Go to supabase.com → New Project → choose a name and password → wait ~1 min for it to provision.

Step 2 — Run this SQL (once)

In Supabase → SQL Editor → paste and run:

create table if not exists users (
  id uuid primary key default gen_random_uuid(),
  username text unique not null,
  password_hash text not null,
  role text default 'viewer',
  created_at timestamptz default now()
);
create table if not exists appdata (
  id text primary key,
  data jsonb not null,
  updated_at timestamptz default now()
);
alter table users enable row level security;
alter table appdata enable row level security;
create policy "allow all" on users for all using (true) with check (true);
create policy "allow all" on appdata for all using (true) with check (true);
Step 3 — Paste your credentials

In Supabase → Project Settings → API → copy Project URL and anon public key.

Step 4 — Set admin credentials
⚾ MLB Tracker
0-0
Total P&L
Record
0-0
Win Rate
ROI
Units P&L
Wagered
Live Scores — Today's Bets
No active bets today.
Recent Plays
P&L Over Time
Performance by Bet Type
Performance by Tier
Loading games...
Card Settings
Plays
AwayHomeBet OnTypeOddsLineUnitsTierRisk / Win
Leg / BetOdds
Parlay Odds & Payout
$
Add at least 2 legs to calculate
Quick Add from Today's Card
No plays on Today's Card yet
Current Confidence Ratings
Season Pattern Performance
What is EV?
Expected value = how much you win on average per $100 bet. Positive EV means the bet profits long-term.
Edge %
Your true probability minus the book's implied probability. Anything above 3% is a strong edge.
Kelly Criterion
Optimal bet size = edge / odds. Most pros use ¼ Kelly to reduce variance. Never bet full Kelly.
Break-even %
Win rate you need at given odds just to break even. -110 requires 52.4%. Your true prob must beat this.
Bet Analysis
Game / BetBook OddsTrue Prob %Break-evenEdgeEV per $100Kelly UnitsVerdict
Reading your results
Strong play — bet it
Edge > 5% · EV > +$5/100 · Kelly > 2u. Book is giving you significantly better odds than your true probability justifies.
Marginal — consider it
Edge 2–5% · EV +$2–5/100. Worth betting at reduced size. Common on totals at -110 where your edge is real but narrow.
Negative EV — skip it
Edge < 0% · EV negative. Your true probability is lower than the implied odds. No matter how good the narrative feels, this loses long-term.
Query
Analyzing with v6.0 model...
DATE
UNIT SIZE ($)
BANKROLL ($)
ODDS API KEY get free key ↗
Ready to fetch today's games...
⚡ Fetch games, enter odds, and click ANALYZE FULL SLATE
BOARD ANALYZER — v6.0 DAILY WORKFLOW
MLB betting model · 17 live patterns · 51 tunable weights · auto pattern tracking
DAILY STEPS
STEP 1
FETCH TODAY'S GAMES
Click "FETCH TODAY'S GAMES". Auto-loads the full MLB slate: confirmed starters, team records, streaks, rest days, bullpen data, stadium park factors, and live weather for every outdoor game. Takes ~8–12 seconds. Games restore from cache if you've already fetched today.
STEP 2
RATE PITCHER QUALITY
For each game, set the starter tier using the ACE / SOLID / BACKEND / AUTO buttons:
· ACE — Elite arm: ERA <3.20, K/9 9+, consistent track record
· SOLID — Reliable mid-rotation: ERA 3.20–4.50
· BACKEND — 5th starter, opener, or replacement level
· AUTO — Let the model infer from fetched ERA/WHIP/K9 stats
This is the only step requiring judgment. Takes ~2 min for a 15-game slate.
STEP 3
ENTER ODDS
Type in current book odds for each game. Only fill what's available — blank fields are skipped:
· ML Away / ML Home (moneyline)
· RL Away +1.5 / RL Home -1.5 (run line)
· Total line + Over odds / Under odds
· F5 Under odds (first 5 innings under)
Odds auto-save as you type. Tip: enter ML first — the model uses ML odds as the primary edge anchor.
STEP 4
ANALYZE FULL SLATE
Click "ANALYZE FULL SLATE". The model runs all 4 bet types (ML, RL, Total, F5) across every game, applies 51 weighted factors, fires all 17 patterns, enforces hard caps, and outputs a ranked slate in ~1 second.

Results appear in two tabs:
· 📋 CARD — Your top 7 plays by edge (D8 cap enforced). These are your actual bets.
· 📊 ALL ANGLES — Every positive-edge play across all games, no cap. Use for research and pattern tracking.
STEP 5
SEND TO CARD + LOG RESULTS
Click + CARD on any play to add it to Today's Card with pattern tags automatically attached.
After games finish, go to Log Results → set each play W / L / P.
Pattern tallies update automatically when you grade — no manual scoring needed.
Locked cards move to History. Pattern Tracker updates in real time.
READING THE ANALYSIS OUTPUT
TRUE PROB — Model's estimated win/cover probability after all factors applied.
IMPLIED — Book's implied probability from the odds you entered. Edge = True − Implied.
EDGE % — The gap between model and market. Plays below +3% edge are suppressed.
REC STAKE — Units recommended by edge tier. Capped by D4 (April/May) and D8 (7-play max).
½ KELLY — Half-Kelly dollar stake based on bankroll setting. Reference only — not required.
PREDICTED RUNS — Model's projected total. "Model agrees" = model and book align. "Model diverges" = model sees different value.
FACTOR TAGS — Green = adds to true prob, Red = subtracts. Each tag shows the exact % contribution.
BP SECTION — High-leverage arms for both bullpens with TAXED / WARM / FRESH status and pitch counts.
UNIT TIERS + HARD CAPS
Edge → Units
≥20% edge → 10u 🔥🔥 MAX
17–19% → 9u 🔥 FIRE
14–16% → 8u 🔥 FIRE
11–13% → 7u STRONG
8–10% → 6u STRONG
6–7% → 5u SOLID
4–5% → 4u PLAY
2.5–3.9% → 3u MARG
1–2.4% → 2u THIN
Hard Caps (always enforced)
D4 — Totals cap: Apr ≤20 → 6u max · Apr 21–May 1 → 8u · May 2+ → 10u
D8 — Max 7 plays per slate (CARD tab). ALL ANGLES lifts this cap for research.
P5 — ML -160 to -200 → 4u cap. Above -200 → skip (vig destroys ROI).
D3 — RL not recommended above -200 ML favorites.
ML hard cap — No play can exceed 78% true prob.
Totals hard cap — No total play can exceed 70% true prob.
ACTIVE PATTERNS — v6.0 (auto-updates from live model)
Loading patterns…
PATTERN TRACKER — AUTO-GRADING
Pattern W/L tallies update automatically when you grade plays in Log Results. No manual scoring.
When you use + CARD to add plays from the Analyzer, pattern IDs are stored with the play. When you set a result W/L, those patterns are scored instantly.
For legacy plays (added manually without pattern tags), the system parses your card notes for pattern ID mentions (e.g. "P4 HOU @ COL") and infers the tags on first grade.
Click ⟳ SYNC ALL on the Pattern Tracker page to rescan all historical plays and backfill any ungraded results.
New patterns added to the model are auto-registered in the tracker the first time they fire and get graded — no code change needed in the tracker.
DATA SOURCES
Schedule + Pitchers — MLB Stats API (official, free)
Team stats + streaks — MLB Stats API yearByYear endpoint
Bullpen arms + pitch counts — MLB roster + gamelog API (cached 2h)
Pitcher splits (home/away ERA) — homeAndAway stats endpoint (cached 48h)
Weather — Open-Meteo API, fetched at game time
Park factors — Built-in DB, all 30 stadiums (elev, roof, HR adj)
Line moves — Manual dropdown (Neutral / Sharp / Trap etc.)
Odds — Manual input from your sportsbook
IMPORTANT NOTES
🔴 Breaking news — This model catches systematic edges. Always cross-reference for last-minute scratches, lineup injuries, or weather delays before betting.
🔴 Early season (Mar–Apr 20) — D4 cap limits totals to 6u. Small sample sizes mean pitcher stats are unreliable; model applies April timing lag (-2.5% hit trajectory).
🟡 Pattern tracker calibration — The model's historical confidence ratings (S/A/B) come from pre-season research. Your live W/L data in the tracker is what actually matters. Divergence between the two is a calibration signal.
🟡 MODEL_WEIGHTS — All 51 factor values are defined in one object at the top of the source file. Adjustments based on your live data are one-line changes. Don't adjust until you have 50+ graded plays per pattern.
🟢 ALL ANGLES tab — Use this for research. Log lower-confidence plays at 1-2u to build sample size faster. The D8 cap only applies to the CARD tab.
How the Model Works
Core: For each game the model runs four bet types (ML, RL, Total, F5) through independent probability engines. Each engine starts at 50% and applies weighted adjustments for pitcher quality, bullpen strength, hitting, park, weather, platoon, momentum, travel, and pattern signals. True prob minus implied prob = edge. Edge drives unit sizing.
MODEL_WEIGHTS: All 51 numeric factors live in a single MODEL_WEIGHTS object at the top of the source file. Changing one line calibrates the factor across every function. Adjust only after 50+ graded plays per factor — see Pattern Tracker for live hit rates.
Pattern Tracker: Live W-L records for all 17 patterns are tracked in Supabase and auto-update when you grade results in Log Results. Hit/miss counts shown in Model Notes below are model confidence ratings — for live season data go to Pattern Tracker.
ALL ANGLES: Run the Board Analyzer and check the ALL ANGLES tab — every positive-edge angle across all 15 games, no D8 cap. Use this to build sample size faster. Log angles at 1-2u for research even if not betting full size.
Pattern Confidence Tiers
S-TIER 80%+Full edge applied. Min 5u when firing. Historical data is deep and consistent. Bet aggressively.
A-TIER 65–79%Standard edge. Normal unit scale. Solid signal. Fire when conditions match.
B-TIER 50–64%Edge -25%. Max 4u sole anchor. Needs a confirmation factor — don't bet B-tier in isolation above 3u.
C-TIER <50%Monitor only. 2u max. No standalone plays above 2u. Use for parlay legs or research tracking.
Live hit rates are in Pattern Tracker — that's the source of truth for how each pattern is actually performing this season. The confidence ratings here are pre-season research baselines.
All 17 Patterns — v6.0 Firing Conditions
Hit/miss counts → Pattern Tracker page. Descriptions here = firing conditions only.
S-Tier — 80%+ · full edge · min 5u
P4 S-92%BACKEND vs BACKEND → OVER default. Both starters backend tier. Both typically exit inning 4-5, handing to bullpen early. Default over regardless of park or weather. Min edge 4%. Capped at +8% adjustment. Stacks at hitter parks. Fires in: detectPatterns → doTotal
P6 S-88%GB/Sinker arm → Under modifier. 55%+ career GB rate → -5% over / +5% under. Applies to both starters. Does NOT override in domes or at Coors — still applies. Current confirmed arms: Abbott, Kirby, Pallante, Soriano, Holmes. Fires in: detectPatterns → doTotal + doF5Under
P2 S-82%Under setup checklist — 2+ of 4 criteria. (1) ACE or K/9 10+ arm starting. (2) Dome or pitcher park. (3) Total in bottom 25% of slate. (4) Sub-50°F outdoor OR both teams cold offense L7. Score: 2=MARG 3u · 3=SOLID 5u · 4=FIRE 6u. Fires in: underChecklist → doTotal
A-Tier — 65–79% · standard edge · normal units
P1 A-78%BACKEND + hitter park + wind OUT → OVER. All THREE required: (1) BACKEND starter, (2) hitter-friendly park, (3) wind 10+ mph OUT or temp 80°F+. ACE or GB arm on either side negates. +5% over adjustment. Fires in: doTotal
P3 A-72%ACE vs ACE → UNDER default. Both starters ACE tier. Full 100% park+weather cap applied. 15% minimum edge required to bet OVER when P3 fires — never violate. +6% under adjustment. Fires in: detectPatterns → doTotal + doF5Under
S3 A-74%Wind 10+ mph IN → Under. 960-781 (55.1%) since 2005, +6.4% ROI. Wind suppresses HR, turns fly balls into warning-track outs. Does NOT fire in domes. Stacks with P2. +6% under adjustment. Fires in: detectPatterns → doTotal
S2 A-68%Divisional home dog +100 to +160. +9% ROI since 2005 (Sports Insights). Division familiarity levels field. Public overvalues visitor. Only fires up to +160. +4% true prob to home dog. Fires in: doML
D7 A-68%Series finale + rest advantage. Fires when: it is the series finale AND my team is rested (2+ days) AND not B2B. Effect: +2% edge for rested team. Does NOT fire if ACE starts for the favorite. Stacks with D6. Fires in: doML
D6 A-70%Sweep prevention dog. Fires when: team on L2+ losing streak enters the final game of a 3- or 4-game series AND is a dog at +1 to +180 AND does NOT have an ACE starting. +4% true prob to sweep-facing dog. Fires in: doML
B-Tier — 50–64% · edge -25% · max 4u sole anchor
P7 B-68%Hot team ML dog. Team 7-2+ in first 15 games, priced as dog +100 to +160. Books slow to update from preseason odds. +4% true prob. Requires OPS L15 confirmation — pure record without offensive support gets half credit (+2%). Fires in: doML
P5 B-62%Clean ML. Tier gap + lineup edge + ML -180 or better. No debut flags, no age caps firing. -160 preferred; -160 to -200 = 4u cap; above -200 = skip. Fires via factor stack in doML
P8 B-60%Cold + series finale → Under stack. Fires when: temp <50°F AND it is a series finale AND NOT both starters ACE AND NOT dome AND NOT Coors. Stacks D7 (-3%) + B10 cold (-10%). +5% under adjustment. Fires in: detectPatterns → doTotal
D9 B-65%DANG Under (day game after night game). Both teams played the night before, today is before 5pm ET. Hitter fatigue + pitching prep down. -3 to -4% total lean. Stacks with D7 for -5% max. Does NOT fire: ACE starting, Coors, dome. Fires in: detectPatterns → doTotal
S4 B-60%Wind 8+ mph OUT → Over lean. 1,174-1,045 (52.9%), +3.6% ROI since 2005. Weaker signal than S3. +4% over lean. Stacks with P1 for max over boost. Fires in: detectPatterns → doTotal
S5 B-62%Low total + quality starters → Under. Total ≤7.5 AND both starters ace/solid. Market pricing a pitcher's duel — under has positive expectation. +4% under lean. Stacks with P3, P2. Fires in: detectPatterns → doTotal
S6 B-58% MANUALFade trendy public over. When public betting over 65%+ and line hasn't moved — sharp money countering. Set line movement to "Public only" to activate. Does NOT fire automatically — requires manual note entry. Action Network data: 15-20 games under .500 when public loves an over at 66%+.
C-Tier · Monitor
P9 C-55%Pitch-count managed starter vs elite offense → Over lean. Fires when: starter has low confidence rating AND is solid/backend tier AND opposing offense has OPS ≥.760 or RPG ≥5.2. +3% over lean. Blocked at Coors. Fires in: detectPatterns → doTotal
P10 MONITORACE/GB arm at Coors → Under viable. Small sample — insufficient data for B-tier. Tracks only. Promote after 10+ data points.
Hard Cap Rules (always enforced, no exceptions)
D3 — RL gate: ML -200+ → skip RL entirely. -160 to -200 → 4u cap, 10%+ edge required. Research: favorites -150+ = -310u since 2005 despite 63% win rate — vig destroys ROI.
D4 — Tiered totals cap: Pre-Apr 20 = 6u max · Apr 21–May 1 = 8u max · May 2+ = 10u max. Cold weather + unproven rotations persist through late April in Northeast/Midwest.
D5 — Rain/postponement: 40%+ rain = conditional 3u max. 80%+ = skip. Don't lock until 2 hours before first pitch.
D8 — Quality filter: Max 7 plays per slate on the CARD tab. Never 3+ totals same direction. B/C tier cannot sole-anchor plays above 3u. Use ALL ANGLES tab to see remaining plays without the cap.
Age caps: Age 38-40 = -2u · Age 41+ = 3u HARD CAP non-negotiable.
ML hard cap: True prob capped at 78% ML · 70% totals. No play can exceed these regardless of model output.
Primary Model Factors (B-tier modifiers)
B2 — Pitcher tier: ACE / SOLID / BACKEND rated manually or via AUTO (uses ERA/WHIP/K9 from MLB API). AUTO sets SOLID as default when data is ambiguous.
B3 — Pitcher stats: Marcel blend = 60% recent / 40% prior year when ≥5 starts. FIP-ERA gap ≥0.7 = regression signal (±4-6%). K/9 ≥10 = K/9 boost. BB/9 ≥4.5 = command drag.
B4 — Rest days: B2B = -2% ML / -0.20 runs. Rested 2+ days = series finale boost eligible (D7). Travel: 2+ timezone crossing east = -2.5% for early games.
B7 — Bullpen: Elite BP ≤3.20 ERA/≤1.10 WHIP = +8% · Strong = +4% · Weak = -5% · Poor = -10%. Opp BP scaled at 60%. TAXED/WARM/FRESH arm status shown in analysis output.
B9 — Park factors: Hitter parks: GABP, CBP, Wrigley, Busch, Yankee Stadium, Coors (+large altitude bonus). Pitcher parks: Petco, Oracle, T-Mobile, Citi, Dodger Stadium. Full park DB with HR/over adjustments for all 30 stadiums.
B10 — Weather: Sub-45°F = -10% over · 45-49°F = -10% · 50-59°F = -5% · 80°F+ = +5% · 90°F+ = +10%. Wind 10-14mph OUT = +7% · 15+mph OUT = +12% · 10-14mph IN = -7% · 15+mph IN = -12%. Cold + wind IN stack fully. Oracle Park wind = ignore (architecture neutralizes). Dome = no factor.
B11 — Umpire zone: Wide = -4% totals/favors pitcher · Tight = +4% favors offense · Neutral = 0%.
B12 — Line movement: Sharp = +5% confidence · Public only = -4% · No movement = 0%. S6 uses "Public only" as its manual activation trigger.
Precision Factors (C-tier)
C2 — Run differential: Run diff +20 in L15 = +3% (genuine quality signal). Run diff -20 = -3%. Early W-L records dominated by 1-run game luck — unreliable before 30 games.
C5 — xERA/FIP regression: ERA-FIP gap ≥1.0 = ±4-6% correction. Never bet against strong positive regression. Example: starter ERA 6.75 vs xERA 2.27 = market pricing luck, bet the regression.
C6 — Early-season lag (Mar-Apr 20): Hitter trajectory discounted -2.5%. Small samples on offense — model applies April timing adjustment automatically.
Platoon advantage: Lineup handedness vs pitcher hand. Strong platoon (≥40% OPS delta) = +1.5% ML · Mild (≥25%) = +0.8%.
Streak context: Cold streak 6+ games = -1.5% (not applied below 6 games — small sample noise). Hot home streak = no bump (public trap).
Edge → Units Scale
≥20% = 10u 🔥🔥 MAX  |  17-20% = 9u 🔥 FIRE  |  14-17% = 8u 🔥 FIRE
11-14% = 7u STRONG  |  8-11% = 6u STRONG  |  6-8% = 5u SOLID
4-6% = 4u PLAY  |  2.5-4% = 3u MARG  |  1-2.5% = 2u THIN  |  <1% = PASS
Adjustments: B-tier sole anchor = -1u, cap 4u. C-tier = 2u max. Age 41+ = 3u hard cap. Debut + negative record = 3u hard cap. D4 totals cap applies on top of edge sizing. D7 series finale = -1u from final size.
Calibration Log
Record weight adjustments, confirmed pattern hits, new GB arms, rule updates. These notes persist in Supabase.
How it works: Each pattern has a confidence rating updated after every weekly review. Hit = +2% confidence (max +6%/week). Miss = -4%. Two consecutive misses = -8% immediately. Confidence directly controls edge applied and minimum units.
S-TIER 80%+Full edge. Normal scale min units. Bet aggressively when firing.
A-TIER 65–79%Standard edge. Normal unit scale.
B-TIER 50–64%Edge -25%. Unit cap -1u. Needs confirmation factor.
C-TIER <50%Monitor only. 1u parlay legs max. No standalone plays.
Promotion path: New patterns enter at 55% C-tier → A-tier after 5+ hits or 3+ hits / 0 misses → S-tier after 8+ hits with miss rate under 20%.
All Patterns — Current Confidence Ratings
S-Tier — 80%+ · full edge · min 5u
S-92%Pattern 4 — BACKEND vs BACKEND → OVER default. 6/6 hits — 100%. Zero misses. Both xERA 4.5+. Both exit by inning 4-5. Bullpen chaos. Default over regardless of park or weather. Min edge 4%. Min units 5u. Stack +3% at hitter park (GABP, CBP, Coors). Confirmed: CWS/MIA (13R), PIT/CIN (11R), MIA/CWS (11R), MIL/KC ×3 (10R, 13R, 13R).
S-88%Pattern 6 — Sinker/GB suppression → under modifier. 5/5 — 100%. 55%+ career GB rate → -5% over / +5% under. Stacks on tier. Applies even at Coors (Sanchez confirmed — Coors went under both games). Confirmed arms: Holmes (60%+), Abbott (58%), Kirby (55%+), Pallante (67%), Soriano (MLB GB leader), Sanchez (PHI).
S-82%Pattern 2 — Under setup checklist. 5/6 — 83%. Confirm 2+ of 4: (1) ACE or K/9 10+ arm, (2) dome or pitcher park, (3) total in bottom 25% of slate, (4) sub-50°F outdoor OR both teams cold offense L7. Score: 1=PASS · 2=MARG 3u · 3=SOLID 5u · 4=FIRE 6u.
A-Tier — 65–79% · standard edge · normal units
A-78%Pattern 1 — Over setup (BACKEND + hitter park + wind). 3/4 — 75%. All THREE required: (1) BACKEND arm, (2) hitter-friendly park, (3) wind 10+ mph OUT or 80°F+. ACE/GB arm can negate. Confirmed: WSH/PHI (15R), CWS/MIA (13R), LAD/WSH ×2 (15R, 14R).
A-72%Pattern 3 — ACE vs ACE → UNDER default. Both K/9 10+. Full 100% park+weather cap. 15% min edge for over. NEVER play over below 15% edge. Biggest loss ($400) came from violating this rule.
A-70%D6 — Sweep prevention. 2/3 — 67%. Team facing sweep (0-2 in series), priced as dog +100+. +3% true prob to sweep-facing team. Best use: fade sweeping team at -200+ when true odds ~-110. Confirmed: ATH beat HOU +240, MIA beat NYY.
A-68%D7 — Series finale + rest (the Sunday rule). All 3 must fire: (1) series finale or Sunday/Monday fav playing 3+ straight, (2) fav -150+ with resting regular or no off-day, (3) national TV or marquee team. Effect: -3% fav edge, -1u, +2% dog. Does NOT fire if ACE starts for fav. Stacks with D6 — max +5% combined dog bump.
B-Tier — 50–64% · edge -25% · unit cap -1u · needs confirmation
B-68%Pattern 7 — Hot team ML dog. 3/3 (small sample). Team 7-2+ in games 1-15, priced as dog +100 to +160. Books still on preseason pricing. +4% to true prob. Requires clean matchup. Confirmed: STL swept DET, MIL beat BOS, PIT beat BAL.
B-62%Pattern 5 — Clean ML. 4/7 — 57%. Tier gap + lineup edge + -180 or better. No debut flags, no age caps. Losses from ignoring D-tier, not the pattern itself.
B-60%Pattern 8 — Cold + series finale → under stack. 1/1. D7 fires AND sub-50°F outdoor: primary play is UNDER. Stack D7 (-3%) + B10 cold (-10% to -14%). Confirmed: CWS/TOR cold series finale = 3 total runs.
Sharp Patterns — statistically backed, season-long ROI data
A-74%S3 — Wind 10+ mph IN → Under. 960-781 record (55.1%) since 2005, +6.4% ROI (Action Network Bet Labs). Wind turning HR into warning-track outs. Does NOT fire in domes. Stacks with P2 under checklist. Best at: Wrigley, Fenway, Cleveland.
A-68%S2 — Divisional home dog (+100 to +160). +9% ROI in home RLM system since 2005 (Sports Insights). Div familiarity levels field — public overvalues visitor. Only fires for dogs up to +160. Best value early season when books are slow to adjust. Stacks with D7 series finale.
B-65%D9 — DANG Under (day game after night game). Both teams played night game prior day, today's game before 5pm ET. Hitter fatigue, pitching prep down. -3 to -4% total lean. Stacks with D7 series finale for max -5%. Does NOT fire: ACE starting, Coors, dome.
B-62%S5 — Low total (≤7.5) + quality starters → Under. When books set a low total AND both starters are solid/ace quality, the market is pricing in a pitcher's duel. Under has positive expectation. Stacks with P3, P2.
B-60%S4 — Wind 8+ mph OUT → Over lean. 1,174-1,045 (52.9%), +3.6% ROI since 2005. HR booster angle. Weaker signal than S3. Stacks with P1 (BACKEND + hitter park + wind OUT) for max over boost.
B-58%S6 — Fade trendy public over. When public heavily betting over (65%+) and total hasn't moved up — books holding line = sharp under money countering public. Select line movement dropdown to "Public only" to activate. Action Network: 15-20 games under .500 when public loves an over at 66%+.
C-Tier — monitor only · 1u parlay legs · no standalone
C-55%Pattern 9 — Post-surgery ACE + elite offense → over lean. Starts 2-5 post-TJ/surgery, facing wRC+ 108+. 5 IP max effective. +3% over. Model IP at 5 max. Active arms: McClanahan, Woodruff.
MONITORPattern 10 — ACE/GB at Coors → under viable. 2 data points only. Not active. Promote to C-tier after 4+ data points.
Tier A — Pattern Recognition
A1 · Pattern-first: Match to highest-confidence pattern first. Never play against your own pattern signal.
A2 · Dominant starter override: Single K/9 10+ → cap park+weather 50%. Both K/9 10+ → 100% cap. ACE vs ACE = 15% min edge for over.
A3 · Sinker/GB modifier [S-88%]: 55%+ GB → -5% over / +5% under. Stacks always. Even at Coors. Confirmed: Holmes, Abbott, Kirby, Pallante, Soriano, Sanchez PHI.
A4 · Start-2 regression (v6.0): Power-K (K/9 11+) = HALF penalty — bounces back faster (Mize confirmed). Command/GB = full ACE→SOLID through start 3.
A5 · Pitch count managed (v6.0): Post-surgery starts 2-5 = PITCH COUNT MANAGED. Model as 5 IP max effective. Bullpen carries 6-9. Current: McClanahan (post-TJ), Woodruff (building up).
Tier B — Primary Modifiers (v6.0)
B1: Implied odds → true prob. Edge = true − implied. Min 4% to consider.
B2: Pitcher tier: ACE / SOLID / BACKEND + Power-K / Sinker-GB / Command / Cutter.
B3: Pitcher form: L5 ERA, xERA, FIP, SIERA, WHIP. FIP-ERA gap 0.7+ = regression. BABIP outlier = luck flag.
B4: Rest: ≤3d = -4% · 4-5d = 0% · 6-7d = +2% · 8+ = -3% rust.
B5: Lineup wRC+: 70% weight games 1-15. Steamer projections. Top-3 order most important.
B6: Platoon splits: Elite wOBA vs hand = +5% · Good = +2% · Weak = -4%.
B7: Bullpen: ERA ≤3.50 = +5% · ERA 4.20+ = -7% · TAXED (15+ IP last 3d) = -5% · Closer on IL = -3%.
B8: Team form: Runs scored L7 AND runs allowed L7 split separately.
B9: Ballpark: Hitter = GABP, CBP, Wrigley, Busch, Yankee. Pitcher = Petco, Oracle, T-Mobile, Citi, Dodger. Coors = +20% over.
B10 [v6.0 UPDATED]: 90°F+ = +10% · 80°F = +5% · 60-79°F = 0% · 50-59°F = -5% · Sub-50°F = -10% · Sub-45°F = -10% (capped, was -14% — research shows -14% overstated). Wind 10-14mph OUT = +7% · 15+mph OUT = +12% · 10-14mph IN = -7% · 15+mph IN = -12%. Cold + wind IN = stack fully. Oracle Park: architecture neutralizes wind — ignore Oracle readings. Dome/closed = no factor.
B11: Umpire zone: Wide = -4% · Tight = +4% · Neutral = 0%.
B12: Line movement: Sharp = +5% · Public only = -4% · None = 0%.
Tier C — Precision Factors (v6.0)
C1: BvP: 20+ PA for projection. Any negative career record vs opponent on debut = unit cap (D1).
C2 [v6.0 UPDATED]: Replace record-based bumps with run differential. Run diff +20+ in first 15 games = +3% (genuine quality signal). Run diff -20+ = -3%. Early W-L records are dominated by 1-run game luck — unreliable before 30 games. Separately: 5+ hitters hot (.300+/OPS .900+) = +4-6%. 5+ cold = -4-6%.
C3: Pitcher type vs lineup: Power-K vs high-K = extra suppression. Soft-toss vs pull hitters = damage risk.
C4: F5 evaluation: Run on every strong starter mismatch. Manual grade required.
C5: xERA/xFIP regression: Gap 1.0+ = ±4-6%. Never bet against strong positive regression. Gilbert xERA 2.27 vs ERA 6.75 = market pricing ERA → SEA ML value.
C6: Early-season discount (games 1-15): Form 70% weight. 0-3/0-4 teams = +5% regression bump.
Tier D — Hard Override Rules
D1 [UPDATED v6.0]: Debut + pitch count: New team / return 6+ months / Japan-KBO = +15% variance. Negative career record vs opponent = 3u HARD CAP. Post-surgery starts 2-5 = PITCH COUNT MANAGED (5 IP max). Current: McClanahan, Woodruff.
D2: Age: 38-40 = -2u · 41+ = 3u HARD CAP non-negotiable. Active: Scherzer (TOR) 41+ · Sale (ATL) 38.
D3 [v6.0]: RL threshold updated — ML -200+ skip entirely (aligned with P5 gate). ML -160 to -200 = 4u cap requires 10%+ edge. Research: favorites at -150+ = -310u since 2005 despite 63% win rate.
D4 [v6.0]: Tiered totals cap — Pre-Apr 20: max 6u. Apr 21–May 1: max 8u. May 2+: full 10u. Extended from Apr 20 because early-season variance (cold weather, unproven rotations) persists through May in Northeast/Midwest parks.
D5: Postponement: 40%+ rain = conditional 3u max. 80%+ = skip. Don't lock until 2h before first pitch.
D6 [A-70%]: Sweep prevention: Game 3 of 3-game series. One team won all prior. Sweep-facing dog gets +3%, sweeping team -3% confidence. Best use: sweeping team at -200+ when true odds ~-110.
D7 [A-68%]: Series finale + rest: All 3 must fire: (1) series finale or Sunday/Monday fav playing 3+ straight, (2) fav -150+ with resting regular or no off-day, (3) national TV or marquee team. Effect: -3% fav, -1u, +2% dog. ACE starting for fav = rule does not fire.
D8: Quality filter: Max 7 plays/slate. Never 3+ totals same direction. B/C tier cannot sole-anchor plays above 3u.
Edge → Units Scale
20%+ = 10u MAX  |  17-20% = 9u FIRE  |  14-17% = 8u FIRE
11-14% = 7u STRONG  |  8-11% = 6u STRONG  |  6-8% = 5u SOLID
4-6% = 4u PLAY  |  2.5-4% = 3u MARG  |  1-2.5% = 2u THIN  |  <1% = PASS
Confidence adjustments: S/A-tier = full scale. B-tier sole anchor = -1u, max 4u. C-tier = max 2u. Age 41+ = 3u max. Debut + neg record = 3u max. Totals Apr 20 = 6u max. D7 = -1u from sizing.
Calibration Log
Pattern Performance
All time
TierIDPatternRecordHit %Model ConfStatus
Card Preview
Card Options
How to share
Download the PNG and drop it into Discord, iMessage, or Twitter/X. The card includes today's date, your plays, and season record footer. Tap Regenerate after adding plays from Today's Card.
Add New User
Current Users
Betting Unit Settings
Amount per unit (default $50)
Change Password