Frequently Asked Questions
Common questions about the platform, data, and how to use the tools effectively.
Match results and Bet365 odds go back to 2002 for ATP and 2007 for WTA. Betfair pre-match prices are available from 2016 onwards, with coverage improving each year (currently ~83–96% of matches). Elo ratings are calculated from 2000 onwards. Serve stats are available from approximately 2016 via MatchStat.
Live Betfair prices update every 30 seconds on the Live and Upcoming pages. Match results are imported nightly. Serve stats, Elo ratings and rankings update weekly. Fixture dates are refreshed daily from the MatchStat feed.
Both ATP (men's) and WTA (women's) main tour events are covered. ATP and WTA Challenger/125k events are included in the historical database and live feed. ITF events are not currently included.
Yes — the platform is responsive and works on mobile browsers. The Live page and Upcoming page are optimised for mobile use. The System Builder and Match Cards work best on a wider screen due to the volume of data displayed.
The Live page only shows markets currently open and in-play on Betfair. A match won't appear if: the Betfair market hasn't been created yet, the match hasn't started, or our ingest script (running on Windows via Bet Angel) has a temporary disconnection. The page refreshes every 30 seconds — check again after a refresh.
Doubles matches are automatically excluded from the Live page.
1. Open Telegram and search for @userinfobot
2. Send it any message — it will reply with your Chat ID (a number)
3. Search for @SportsEdgeProBot and send /start
4. Paste your Chat ID into the Telegram Alerts panel on the Live page and click Save
5. Click Test Alert to confirm it's working
You can choose which alert types to receive and filter by ATP, WTA or both.
The percentage shows how much the favourite's live price has moved relative to their pre-match price. A positive number means the price has drifted (lengthened) — the favourite is trading longer than they were before the match. This can indicate they are losing or under pressure in-play. A large drift (e.g. Fav +200%) can signal a potential lay opportunity if the favourite has lost a set.
Set score history (e.g. 6-4 in the score column) requires the ingest script to have been running when the set completed. If the match was already in progress when the script started, the earlier set scores won't be available. Scores for completed sets will always show from the next set completion onwards.
The favourite is defined as the player with the lower (shorter) Bet365 odds. All P&L figures are calculated from the perspective of backing or laying the favourite. If you want to analyse the underdog, you'd typically look at the lay P&L column (Betfair mode) since laying the favourite is equivalent to backing the underdog.
Betfair pre-match price data is only available from 2016 onwards, and not every match has a recorded price (coverage is ~83–96%). When Betfair mode is selected, matches without Betfair data are excluded from P&L calculations. The match count shown reflects only those with Betfair data.
Saved filters are stored in your browser's local storage. They can be lost if you clear your browser data or switch to a different browser/device. For important filters, note down the settings or use the filter name as a description of the key parameters.
Serve stats (hold %, 1st serve %, etc.) are calculated as 52-week rolling averages from MatchStat data. They are only available from approximately 2016 onwards, and require at least some matches in the prior 52 weeks to calculate. For older matches or players with sparse data, these fields will be null and show — in the results.
When you add a serve stat filter, only matches with that data available will be included — this reduces the sample size but ensures accuracy.
Back ROI = Back P&L ÷ total staked × 100. With a 1 unit stake per match and N matches, total staked = N units.
Lay ROI = Lay P&L ÷ total liability × 100. Total liability = sum of (odds - 1) across all matches.
Betfair commission of 2% is applied to winning back bets and winning lay bets (where the dog loses) when Betfair odds are selected.
Partially. The Match State conditions let you filter by whether the favourite won set 1, total sets played, and the final result. This allows you to backtest scenarios like "favourite lost set 1 — did they come back to win?" However, granular in-play price data (e.g. price at 3-3 in the 2nd set) is not currently available in the system builder.
The XGBoost model runs at approximately 66–68% accuracy across all ATP matches, compared to a naive baseline of ~65% (just picking the lower-priced player). Accuracy is higher in Grand Slams (~70%) and lower in Challengers. You can track live model accuracy on the Accuracy page.
The model is a tool to identify value — matches where the model's fair odds differ significantly from the market price — not a guaranteed selection system.
This filter shows matches where the market's favourite is priced shorter than the model's calculated fair odds. For example, if the market has Player A at 1.40 but the model calculates their fair price as 1.55, the market may have overreacted — this can be a lay signal or a sign to look elsewhere for value.
The Historical Stats panel at the bottom of each match card shows how similar historical matches have performed — filtered by the same surface and a similar odds band (within ±0.10 of today's favourite price). It shows: Fav Win %, % reaching 3 sets, % won in straight sets, and Fav recovery % (won after losing set 1).
Elo is a rating system originally developed for chess that measures relative skill level between players. Each player starts with a base rating and gains or loses points after each match depending on the result and the strength of their opponent. Beating a highly-rated opponent earns more points than beating a lower-rated one.
We calculate separate Elo ratings for Overall, Clay, Hard, and Grass surfaces using historical ATP and WTA match results going back to 2016. Surface-specific Elos only update when a player plays on that surface, making them a more precise measure of surface ability than overall ranking.
Ratings are rebuilt weekly and updated nightly. The K-factor (how much each result moves the rating) is higher for newer players and lower for established ones.
The Elo difference between two players is a strong predictor of match outcome. A gap of 100+ points suggests a clear favourite on that surface. On Match Cards, the model uses Elo difference (alongside serve stats, rankings, and form) to calculate fair odds — shown as the "Fair" price next to each player.
Surface Elo is particularly useful on clay or grass where some players dramatically outperform (or underperform) their ranking. A player ranked 40th with a high grass Elo may be a better pick than their ranking suggests.
Most active tour players sit between 1400 and 1600. Top 10 players typically have overall Elos above 1600, with elite players reaching 1700+. A rating below 1400 generally indicates a lower-ranked or less experienced player. New players start at 1500.
Rankings and stats require a successful name match between the Betfair market name and our ATP/WTA database. Occasionally a player's name is formatted differently across sources (e.g. hyphenated names, accents) and the match fails. If you notice a specific player with missing data, this is likely a name mapping issue that can be fixed.
Betfair historical prices require the ingest pipeline to have captured the pre-match window. Some matches are missed if the script wasn't running during the pre-match period, or if the market opened too close to match time. Coverage is typically 83–96% across recent seasons.
Retirements are included in the raw historical data as they are recorded in the original ATP/WTA data source. This means the score may be incomplete for matches that ended early. When backtesting, this is consistent with real-world trading — a retirement is a result on Betfair regardless of how it occurred.