User Guide
Everything you need to know about using the Betting Copilot.
Contents
1. Quick Start
Step 1: Start the Dashboard
python -m betting_copilot.web.app
Then open http://localhost:8000 in your browser.
Step 2: Fetch Fresh Odds
python -c "from betting_copilot.data.scheduler import poll_odds; from betting_copilot.config import Settings; poll_odds(Settings())"
Fetches live odds from 70+ bookmakers. Run a few times per day for best results.
Step 3: Train Models (Optional)
python -c "from betting_copilot.models.data_loader import load_all_historical; from betting_copilot.models.trainer import run_prediction_pipeline; from betting_copilot.storage.db import get_db; conn = get_db('data/betting.db'); load_all_historical(conn, seasons=3); run_prediction_pipeline(conn); conn.close()"
Downloads historical data and trains the Dixon-Coles prediction model.
2. Dashboard Pages
Your main view. Shows value bets (matches where odds are mispriced) sorted by confidence score, and recent alerts.
Look for: Confidence 4+ with value gap > 5% = strongest signals.
Browse all upcoming matches. Click any card to expand and see odds from every bookmaker, value bets, and tipster picks.
Tip: Look for matches where bookmakers disagree — that's where value lives.
Your betting track record: total bets, win rate, ROI, profit/loss. Bankroll curve chart and accuracy by confidence level.
Key metric: ROI (Return on Investment). Positive = you're beating the market.
Leaderboard of tracked tipsters from Reddit, Twitter, and prediction sites. Shows accuracy, ROI, and trust level (earned through 20+ tracked picks).
Professional metrics: CLV trend, ROI breakdown by sport/league, variance analysis, bet timing, risk of ruin, no-vig calculator, and signal feed (steam moves + RLM).
CLV (Closing Line Value) is the #1 metric professional bettors use.
AI model predictions for every upcoming match. Shows predicted scoreline, win probabilities, and model edge vs bookmaker odds.
Green rows = model sees 5%+ edge. These are the strongest model-based value bets.
Test strategies against historical data. Select a strategy (value detection, model prediction, or custom rules), pick a league and date range, and see what would have happened.
Important: Past performance doesn't guarantee future results. Use backtesting to validate, not to predict.
Record a bet you've placed. Enter teams, market, pick, odds, and stake. The bet is tracked and resolved automatically when the match finishes.
Full-page conversation with the AI copilot. Ask about value bets, match analysis, tipster consensus, predictions, analytics, or log bets naturally.
3. Key Concepts
Value Betting
A value bet exists when a bookmaker offers odds that imply a lower probability than the true probability. Example: true probability 60%, bookmaker implies 47.6% (odds 2.10) = 12.4% value gap. Over many bets, finding value consistently leads to profit.
Confidence Score (1-5)
Each recommendation is scored across five weighted signals:
Only 3+ recommended. 4+ triggers alerts.
Closing Line Value (CLV)
Compares your bet odds vs the final odds at kickoff. Consistently positive CLV = you're finding genuine edge. This is the #1 metric professional bettors track — more reliable than win rate.
Kelly Criterion
Formula for optimal bet sizing based on your estimated edge. The copilot uses fractional Kelly (25%) — conservative but safe. Auto-caps at 5% of bankroll per bet.
Pinnacle De-Vigging (Shin Method)
Pinnacle is the sharpest bookmaker with the lowest margins. The copilot strips their margin using the Shin method to find "true" probabilities. Any bookmaker offering better odds = value bet.
Steam Moves & Reverse Line Movement
Steam move: 3+ bookmakers move odds simultaneously = sharp money action. RLM: Odds move opposite to expected direction = sharps disagree with the public.
4. Recommended Daily Workflow
- 1.Morning: Fetch fresh odds (or let the scheduler run automatically)
- 2.Check Home page: Look at value bets and alerts
- 3.Check Predictions: See what the model expects for today's matches
- 4.Research: Click into Matches for detailed odds comparison on interesting games
- 5.Place bets: Place with your bookmaker, then log on the Log Bet page
- 6.Evening: Check for new alerts and tipster signals
- 7.Weekly: Review Performance and Analytics pages. Check CLV trend and ROI breakdown.
5. Chat Examples
6. Configuration
All settings in the .env file:
| Setting | Default | Description |
|---|---|---|
| GOOGLE_API_KEY | — | Chat agent (Gemini, free) |
| ODDS_API_KEY | — | Live odds (the-odds-api.com) |
| DEFAULT_BANKROLL | 500 | Starting bankroll (EUR) |
| KELLY_FRACTION | 0.25 | Bet sizing aggressiveness |
| VALUE_GAP_THRESHOLD | 0.03 | Minimum value gap to flag (3%) |
| CONFIDENCE_THRESHOLD | 3 | Minimum confidence to recommend |
| DIXON_COLES_XI | 0.005 | Model time decay |
| WEB_PORT | 8000 | Dashboard port |
7. CLI Commands
Start dashboard
python -m betting_copilot.web.app
Fetch odds
python -c "from betting_copilot.data.scheduler import poll_odds; from betting_copilot.config import Settings; poll_odds(Settings())"
Resolve bets (check results)
python scripts/resolve_bets.py
Run tipster pipeline
python -c "from betting_copilot.tipsters.pipeline import run_full_pipeline; print(run_full_pipeline())"
CLI chat (alternative to dashboard)
python -m betting_copilot.agent.chat
Run tests
python -m pytest tests/ -v
8. Troubleshooting
"No value bets found"
You need multiple odds snapshots over time. Fetch odds several times (every few hours) so the system has data to compare.
Chat not responding
Check your Gemini API quota. The free tier has daily limits. If exhausted, try again tomorrow.
Dashboard won't start
Another process may be using port 8000. Close it or change WEB_PORT in .env.
Models not predicting
Download historical data first (see Quick Start step 3). Models need 2+ seasons of data.
Remember: no bet is guaranteed. Bet responsibly.