Guide

How AI Predicts Dota 2 Match Outcomes — Inside BritBets' Prediction Engine

Learn how BritBets uses AI to predict Dota 2 match results. From draft detection to XGBoost and DraftNet neural networks, 91 expert features, SHAP explanations, and value bet detection.

April 2, 2026·~8 min read

Can a Machine Really Predict Who Wins a Dota 2 Game?

Every Dota 2 match begins with a draft. Two captains take turns banning and picking heroes from a pool of over 120 options, and by the time the last pick is locked in, a huge amount of the game's outcome has already been decided. Professional analysts have always known this intuitively — a bad draft can lose a game before the horn sounds. But what if you could quantify exactly how much each pick matters?

That is the question BritBets set out to answer. The platform uses two separate machine learning models — an XGBoost gradient-boosted tree and a custom neural network called DraftNet — to analyze every professional Dota 2 draft in real time and produce a win probability for each team. The system watches live matches, detects picks and bans as they happen, runs both models, and publishes a prediction with a confidence score and a plain-English explanation of why one team has the edge.

If you have never heard of machine learning before, don't worry. This article will walk you through the entire pipeline in plain language, from the moment a match goes live to the moment you see a prediction on the <a href='/predictions'>predictions page</a>. No math degree required.

Step 1: Detecting the Draft in Real Time

Before any prediction can happen, the system needs to know which heroes have been picked and banned. BritBets uses a live data feed called Hawk that monitors professional matches with a 15-to-30-second delay. The moment a captain locks in a hero, the system records it. If Hawk goes down, there is a fallback connection to Steam's Game Coordinator, though that one runs on a longer delay.

The draft data includes not just the heroes themselves but also which team picked them, the order they were picked in, and which heroes were banned. All of this information feeds into the prediction models. The pick order matters because early picks tend to be safe, flexible heroes while later picks are targeted counters — and the models have learned to treat them differently.

Step 2: Feature Engineering — Turning a Draft into Numbers

Machine learning models don't understand hero names. They understand numbers. So the system translates every draft into a set of numerical features — measurable properties that describe the draft from every angle the models might care about.

The XGBoost model uses roughly 624 features per match. These include one-hot encodings of which heroes each team picked, recent win rates for each hero, head-to-head records between the two teams, league tier indicators, and 56 enrichment features derived from replay analysis. The enrichment features capture things like average gold advantage at 10 minutes, tower damage patterns, and teamfight participation rates — data that comes from parsing actual game replays rather than just looking at picks.

The DraftNet neural network adds another layer: 91 expert features that encode deep Dota knowledge. These features cover hero synergies, counter-pick relationships, lane matchups, power spikes, crowd control chains, BKB-piercing abilities, damage type balance, mobility, global presence, high-ground defense capability, area-of-effect coverage, backline access, flexibility, dispel availability, aura stacking, Tormentor efficiency, kill security, recovery potential, split push pressure, burst versus sustain damage, mana warfare, teamfight reset ability, frontline durability, vision control, and Roshan fight strength. Each of these is a number that the model uses to build a picture of how the two drafts match up.

Step 3: Two Models, One Prediction

BritBets runs two models in parallel because they see the game differently. XGBoost is a gradient-boosted decision tree — think of it as a massive flowchart that asks hundreds of yes-or-no questions about the draft and arrives at a win probability. It excels at capturing statistical patterns from historical data: if Team A picks Hero X and Team B picks Hero Y, and historically that matchup favors Team A 63% of the time, XGBoost learns that pattern.

DraftNet is a neural network built specifically for Dota 2 drafts. It uses hero embeddings (learned vector representations of each hero), self-attention layers that let it understand how heroes on the same team interact, and cross-attention layers that compare the two teams against each other. DraftNet was trained on over 28,000 professional matches and achieves 68.8% validation accuracy. It is especially good at detecting non-obvious synergies — hero combinations that are stronger together than their individual win rates would suggest.

The final prediction blends both models, weighting them based on how confident each one is and how much data is available for the specific matchup. You can see these predictions live on the <a href='/predictions'>BritBets predictions feed</a>, updated in real time as drafts unfold.

Step 4: Why Does the AI Think That? SHAP Explanations

A prediction is only useful if you can understand it. BritBets uses a technique called SHAP (SHapley Additive exPlanations) to break down every prediction into individual contributions. For each feature that went into the model, SHAP calculates how much it pushed the prediction toward one team or the other.

In practice, this means you might see an explanation like: "Anti-Mage pick contributes +4.2% toward Radiant win due to favorable late-game scaling against Dire's draft, but Dire's Spirit Breaker pick contributes +3.1% toward Dire due to strong ganking pressure in the mid-game." These explanations help you understand not just what the AI predicts, but why — and whether you agree with its reasoning.

This transparency is critical for betting decisions. If the AI gives a 62% win probability for one team but the key reason is a factor you know to be irrelevant in this specific context (say, a historical head-to-head record from a roster that has since changed), you can adjust your confidence accordingly.

Step 5: Calibration — Making Sure 60% Actually Means 60%

One of the biggest mistakes amateur prediction models make is overconfidence. A model might say "70% chance Team A wins" when in reality, teams in that situation only win 55% of the time. BritBets addresses this with two calibration techniques.

The first is isotonic calibration, which maps raw model outputs to observed frequencies. If the model says 70% and teams in that bucket actually win 65% of the time, isotonic calibration adjusts the output to 65%. The second is temperature scaling, which softens extreme predictions. BritBets uses a temperature of 1.8, which means a raw 80% prediction gets compressed toward 50% — reducing overconfidence while preserving the direction of the prediction.

The result is a well-calibrated model where the stated confidence closely matches real-world outcomes. You can verify this yourself on the <a href='/stats'>stats page</a>, which tracks prediction accuracy over time.

Step 6: Value Bet Detection — When the AI Disagrees with the Market

The most exciting part of the system is value bet detection. When BritBets' prediction significantly disagrees with the odds offered by bookmakers, the system flags it as a potential value bet. The logic is simple: if the AI says Team A has a 65% chance of winning but the bookmaker's odds imply only a 50% chance, there is a gap that represents potential value.

But the system is conservative about these calls. It applies several filters to avoid false positives. Value bets are only flagged for tier-1 and tier-2 leagues where data quality is high. The maximum odds threshold is 2.50 — historical data showed 0 wins out of 8 bets at odds of 2.50 or higher, so the system avoids those. And when the gap between the AI's prediction and the market exceeds 20%, the system actually compresses its edge by 80%, because extreme disagreement with the market often means the AI is missing context rather than finding alpha.

You can track value bet performance and see the AI's current edge on the <a href='/predictions'>predictions page</a>.

What the AI Cannot Do

No prediction model is perfect, and BritBets is transparent about its limitations. The system predicts based on drafts, team history, and league context — it cannot account for a player having a bad day, a team running an experimental strategy, or in-game factors like network lag. The current production accuracy sits around 66.7% for known-league matches, compared to 77% on the test set. Part of that gap comes from missing replay data (about 73% of live matches don't have replay enrichment features available at prediction time).

The AI also struggles with unknown or tier-3 leagues where data is sparse. For these matches, the system applies a 20% edge compression penalty and never flags value bets. This is by design — it is better to admit uncertainty than to fake confidence.

If you want to explore how different drafts affect win probability, the <a href='https://draft.britbets.xyz'>draft simulator</a> lets you experiment with hero combinations and see DraftNet's predictions in real time. And for live match predictions delivered straight to your phone, the <a href='https://t.me/britbets_bot'>BritBets Telegram bot</a> has you covered.

See live AI predictions for today's Dota 2 matches

View Predictions

Our Tools