Soccer Desk — Data Inventory v3.0

Updated: 2026-04-03


Databases

Database Path Purpose
research-pipeline.db /home/ubuntu/edgeclaw/data/db/research-pipeline.db Odds, edges, SBR, pregame, xG, team stats
soccer-metrics.db /home/ubuntu/edgeclaw/data/db/soccer-metrics.db Elo ratings, form, H2H, enriched results

Edge Detection

Table DB Rows Schedule Description
sports_edges (soccer) research-pipeline 316 4x daily Edge scanner output — totals (189), ml (60), spread (43), btts (24)
sports_edge_summary (soccer) research-pipeline 4x daily Aggregated edge summary per scan cycle
market_implied_curves (soccer) research-pipeline 3,612 With scanner Kalshi alt-line implied probability curves

Odds & Prices

Table DB Rows Schedule Description
kalshi_soccer_prices research-pipeline 8,058,845 Every 30 min Kalshi soccer market prices — 1X2, spreads, totals, BTTS
pinnacle_soccer_odds research-pipeline 15,594 Adaptive Pinnacle sharp odds — 1X2, AH, O/U
sbr_book_odds (soccer) research-pipeline 1,155+ 4x daily SBR multi-book — EPL + UCL moneylines (soccer only has 3-way ML on SBR)
soccer_odds_snapshots research-pipeline 4,019,290 Continuous Full odds history across all books
sports_odds_snapshots (soccer) research-pipeline 3,134,547 Continuous Shared schema — Kalshi (3.1M) + Pinnacle (12.9K)

Team Stats

Table DB Rows Schedule Description
soccer_team_stats research-pipeline 198 Daily 11AM W/D/L, GF/GA, xG, xGA, clean sheet rate, BTTS rate — 8 leagues
soccer_xg research-pipeline 1,384 Daily 11AM Understat match-level xG for Big 5 leagues
club_elo_ratings research-pipeline 1,687 Daily 11AM ClubElo power ratings — all European clubs
football_data_results research-pipeline 5,311 Weekly Match results + Pinnacle closing odds + referee + match stats (18 leagues)

Derived Metrics (soccer-metrics.db)

Table DB Rows Schedule Description
soccer_results soccer-metrics 5,311 Daily (after results) Enriched results with xG overlay + referee + cards
soccer_elo soccer-metrics 342 Daily (after results) Current Elo per team (K=32, home advantage=65)
soccer_elo_history soccer-metrics 10,622 Daily (after results) Match-by-match Elo progression with goal diff multiplier
soccer_form soccer-metrics 342 Daily (after results) Rolling L5/L10 form, goals scored/conceded, clean sheets, BTTS
soccer_h2h soccer-metrics 3,166 Daily (after results) H2H records — total matches, wins, draws, goals, last meeting
soccer_league_params soccer-metrics 20 Config-based Per-league avg goals, home advantage, draw rate, BTTS rate, Dixon-Coles rho

Scraper Files

File Function Status
scrape-soccer-team-stats.ts Understat + ESPN + Sporting Life team stats Running daily
scrape-understat.ts (shared) Understat match xG for Big 5 Running daily
scrape-clubelo.ts ClubElo ratings for all European clubs Running daily
scrape-football-data.ts Football-Data.co.uk CSV results + Pinnacle closing Running weekly
compute-soccer-metrics.ts Elo, form, H2H computation from football_data_results Running daily
soccer-calcs.ts Dixon-Coles, Shin 3-way, schedule density, finishing persistence Built (used by scanner)

Key Parameters

Parameter Value Source
Dixon-Coles rho (EPL) -0.13 config.ts SOCCER_LEAGUES
Dixon-Coles rho (Bundesliga) -0.10 config.ts SOCCER_LEAGUES
Elo K-factor 32 compute-soccer-metrics.ts
Elo home advantage 65 points compute-soccer-metrics.ts
Elo default rating 1500 compute-soccer-metrics.ts
Goal diff multiplier 1.0 (<=1), 1.5 (2), 1.75+ (3+) compute-soccer-metrics.ts
Min net edge 4 cents edge-scanner config
Kalshi fee rate 7% edge-scanner config
Kelly fraction 0.25 position sizing

Notes

Source: ~/.claude/projects/-home-ubuntu-edgeclaw/memory/soccer-desk-data-inventory.md