football_find_value_bets
Find football betting value by comparing model win probabilities to de-vigged market odds and flagging outcomes with positive expected value above a set edge threshold.
Instructions
Surface the largest gaps between the model's win probability and the market.
De-vigs each market's 1X2 decimal odds (removes the margin so implied
probabilities sum to 1) and compares them to this server's own match-outcome
probabilities — the same Elo/Poisson path football_match_predictor uses.
Flags outcomes where the model beats the de-vigged market by min_edge
and the offered price has positive expected value, with the edge, the
expected value and the model's fair odds. Events that have already started
are skipped.
Args: team: Optional FIFA code or team name to filter events (matched against both sides; an unrecognised value falls back to a case-insensitive substring match). Omit to scan every WC 2026 odds event. min_edge: Minimum edge (model_prob - devigged_market_prob), 0..1. Default 0.05 (5 percentage points).
Returns: data.value_bets: list of {event_id, home, away, outcome, model_prob, fair_odds, market_odds, edge, ev_pct, bookmaker, price_updated_at}, sorted by edge descending. data.events_analysed: not-yet-started events with both teams in the draw. meta.estimated: true. meta.is_stale reflects the odds freshness.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| team | No | Optional FIFA code or team name to filter events (matched against both sides; an unrecognised value falls back to a case-insensitive substring match). Omit to scan every WC 2026 odds event. | |
| min_edge | No | Minimum edge (model_prob - devigged_market_prob), 0..1. Default 0.05 (5 percentage points). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| data | No | ||
| meta | No | ||
| error | No |