| Source | Freshness Key | Table | Rows | Schedule |
|---|---|---|---|---|
| Prop Edge — Strikeouts | prop-edge-mlb-strikeouts | player_prop_edges (pitcher_strikeouts) | 1,384 | 4x daily |
| Prop Edge — Outs | prop-edge-mlb-outs | player_prop_edges (pitcher_outs) | 0 | 4x daily (no Kalshi market) |
| Prop Edge — Hits | prop-edge-mlb-hits | player_prop_edges (batter_hits) | 2,176 | 4x daily |
| Prop Edge — Home Runs | prop-edge-mlb-home-runs | player_prop_edges (batter_home_runs) | 2,406 | 4x daily (model-only ZIP) |
| Prop Edge — Total Bases | prop-edge-mlb-total-bases | player_prop_edges (batter_total_bases) | 2,294 | 4x daily |
| Prop Edge — RBIs | prop-edge-mlb-rbis | player_prop_edges (batter_rbis) | 0 | 4x daily (no Kalshi market) |
| Prop Edge — Runs | prop-edge-mlb-runs-scored | player_prop_edges (batter_runs_scored) | 0 | 4x daily (no Kalshi market) |
| Prop Edge — Stolen Bases | prop-edge-mlb-stolen-bases | player_prop_edges (batter_stolen_bases) | 0 | 4x daily (no Kalshi market) |
| Prop Edge — All | prop-edge-scanner-mlb | player_prop_edges (sport=mlb) | 8,260 | 4x daily |
| Steam Detection | mlb-props-steam | mlb_prop_steam | 1,714 | Every 30min |
| Source | Freshness Key | Table | Rows | Schedule |
|---|---|---|---|---|
| Kalshi MLB props | kalshi-mlb-props | kalshi_mlb_props | 943,144 | Every 30min |
| FanDuel props | mlb-props-fanduel | mlb_prop_lines (FD) | 205,070 | 2x daily |
| DraftKings props | mlb-props-draftkings | mlb_prop_lines (DK) | (shared) | 2x daily |
| Pinnacle (game context) | pinnacle-mlb | pinnacle_mlb_odds | 9,325 | Adaptive |
| Source | Freshness Key | Table | Rows | Schedule |
|---|---|---|---|---|
| SP Game Logs | mlb-sp-game-logs | mlb_sp_game_logs | 167 | Daily 11 AM |
| SP Baselines & EWMA | mlb-sp-baselines | mlb_sp_baselines | 127 | Daily 11 AM |
| Bullpen Status | scrape-mlb-bullpen | mlb_bullpen_status + mlb_bullpen_usage | 1,407 | Daily 11 AM |
| Pitcher Roster | mlb-pitchers | mlb_pitchers | 154 (40L/114R) | Daily 11 AM |
| Statcast Pitcher Stats | savant-pitcher-stats | savant_pitcher_stats | 401 | Daily 11 AM |
| Source | Freshness Key | Table | Rows | Schedule |
|---|---|---|---|---|
| Batter Game Logs | mlb-batter-game-logs | mlb_batter_game_logs | 2,017 | Daily 11 AM |
| Batter Prop Baselines | mlb-batter-baselines | mlb_batter_prop_baselines | 2,112 | Daily 11 AM |
| Platoon Splits (team) | mlb-platoon-splits | mlb_team_platoon_splits | 30 | Daily 11 AM |
| Baseball Savant (team) | scrape-baseball-savant | savant_team_batting | 29 | Daily 11 AM |
| Baseball Reference | scrape-baseball-reference | br_team_batting + br_team_pitching | 60 | Daily 11 AM |
| MLB Stats API | scrape-mlb-statsapi | mlb_schedule + mlb_standings + mlb_pitchers | 325 | Daily 11 AM |
| Source | Freshness Key | Table | Rows | Schedule |
|---|---|---|---|---|
| Park Factors | mlb-park-factors | mlb_park_factors + mlb_park_factors_full | 4 + 30 | Daily |
| Weather | scrape-mlb-weather | mlb_game_weather | 0 | Daily pre-game (early season) |
| Ump Scorecards | scrape-umpscorecards | umpire_stats + umpire_daily_assignments | 226 | Daily 11 AM |
| Lineups | mlb-lineups | mlb_lineups | 222 | Game day |
| Schedule | mlb-schedule | mlb_schedule | 141 | Daily |
| Transactions | mlb-transactions | mlb_transactions | 1,086 | Daily |
| Opener Detection | mlb-opener-flags | mlb_opener_flags | 127 (4 openers) | Daily 11 AM |
| Source | Freshness Key | Table | Rows | Schedule |
|---|---|---|---|---|
| Team Variance | mlb-team-variance | mlb_team_variance | 30 | Daily 11 AM |
| Fatigue Metrics | mlb-fatigue-metrics | mlb_fatigue_metrics | 156 | Daily 11 AM |
| Inning Scoring | mlb-inning-scoring | mlb_inning_scoring + mlb_game_innings | 14 + 142 | Daily 11 AM |
| Player ID Crosswalk | mlb-player-crosswalk | mlb_player_crosswalk | 536 | Daily 11 AM |
| Table | Rows | Purpose |
|---|---|---|
| sports_odds_snapshots (mlb, kalshi) | 2,165,564 | Full Kalshi price history |
| mlb_stadiums | 30 | Stadium lat/lon, roof type (1 dome, 7 retractable), altitude |
| mlb_prop_matchup_context | 414 | SP vs batter matchup enrichment |
| mlb_batter_platoon_individual | 567 | Individual batter vs LHP/RHP splits |
| mlb_bullpen_log | 2,240 | Detailed bullpen appearance log |
| mlb_bullpen_usage_index | 30 | Team bullpen fatigue index |
| prop_edge_summary | 6 | Per-prop-type edge summary |
| player_prop_profiles | 987 | Variance profiles (mean, stdev, CV) |
| player_prop_correlations | 2,060 | Pairwise stat correlations |
| mlb_derived_metrics | 38 | Quality composite metrics |
| mlb_quality_composite | 38 | SP quality grades |
| mlb_xfip | 127 | Expected FIP for pitchers |
| Parameter | Value |
|---|---|
| Min net edge | 4 cents |
| Kalshi fee | 7% |
| FD-DK divergence flag | >5 cents |
| EWMA spans | K=8, hits/TB=12, HR=20, SB=25 games |
| ZIP pi (HR) | 0.85 |
| Min sample (pitcher) | 10 games |
| Min sample (batter) | 20 games |
| Max player exposure | 5% daily bankroll |
| Opener IP threshold | < 3.0 avg IP |