Duration is hidden
Validation does not reveal when the match ended. The drafter’s main prediction also uses no specified duration.

Draft Transformer · Dota 2 neural network
Draft Transformer estimates win probability from both lineups and match settings. It learns from played matches, and the drafter compares its predictions to help you choose your next hero.
01 / Hero map
The model describes each hero with a set of numbers called an embedding. It learns these descriptions from matches. Select a hero on the map to explore other heroes with similar representations.
Try searching and selecting heroes. Positions and links are examples.
Selected heroSelect a point, search for a hero or choose a name in the list to explore its neighborhood. Preview positions and links let you try the interface; they do not represent model results.
Use + / − to zoom. The wheel scrolls the page.
02 / From heroes to combinations
The embedding is a starting point. The model then considers allies, opponents, roles, lanes and match conditions. A hero’s representation is updated with this surrounding information.
Attention layers pass information between picks. Later layers work with representations that already contain context. Together with nonlinear transformations, this allows the model to learn effects where one hero’s contribution depends on several others at once.
Add heroes and see what changes
Phantom Strike lets PA close the distance to Sniper. Looking at this pair, the plan is clear: find the target and get into melee range.
Add Abaddon and Axe. A shield helps Sniper survive damage, while Axe can catch PA after her jump. The pair is unchanged, but securing the kill is a different problem.
Add Tidehunter alongside PA. If Ravage catches Sniper’s protection, PA can follow up. Part of Tide’s value here comes from helping another hero execute their plan.
The model receives match outcomes, not predefined rules about saves or counter picks. The gameplay example illustrates context; it does not explain a particular prediction.
03 / Training
The model compares its prediction with the match result and adjusts its internal parameters, or weights. Some heroes, roles and lanes are hidden during training so it also learns to work with incomplete drafts.
Explore the inputs the model receives during training
The inputs include heroes, roles and lanes. Training connects this information with the outcome of the match.
This illustration keeps 3 Radiant heroes and 2 Dire heroes visible. A slot can retain its role and lane even when its hero is hidden.
All heroes remain visible, but some slots lose a role or lane. These features are hidden independently of each other.
Stays the same as the inputs change
Heroes, sides, roles and lanes. Patch, mode, lobby type and average rank provide context.
Some heroes may be unknown. Roles and lanes are hidden independently; the match outcome stays the same.
The loss function compares the estimate with the result. Training gradually updates representations and connections.
04 / Measuring quality
The model learns from 95% of matches. On the remaining 5%, we compare its predictions with actual outcomes. Errors on these validation matches do not update model parameters; the results help us select the best saved version.
Matches are split at random while keeping the same patch proportions in both groups. This checks performance on represented patches. A new patch needs a separate evaluation.
Validation does not reveal when the match ended. The drafter’s main prediction also uses no specified duration.
We select the version with the best validation ROC AUC. Since these matches help select the version, an independent final test needs another dataset. Separate results for each draft stage are not available yet.
Metrics have not been published yet
Measured results will appear here when published. Until then, the architecture and hero map alone cannot tell you how accurate the model is.
Self-attention and nonlinear SwiGLU blocks form the core. Layer count does not specify a fixed order of gameplay interactions: dependencies develop through training.
05 / How the drafter works
The drafter inserts available heroes into a selected slot and compares predictions while keeping the other picks fixed. This lets you assess options from your own pool in a specific lineup.
Add known picks and choose the match conditions.
Every candidate is evaluated in the same surrounding lineup.
Consider the recommendations alongside your experience and plan.
The model evaluates the lineup. Your hero experience, team coordination, items and in-game decisions remain outside the prediction.
Understanding predictions
It projects base hero representations before processing a particular draft. Similar vectors do not necessarily imply synergy, a counter pick or identical play styles. t-SNE simplifies high-dimensional data; neighbors are calculated separately using original vectors. In preview mode, positions and links are illustrative.
A pairwise table describes two heroes. Draft Transformer receives entire lineups and their context. The architecture can account for combinations where one pick’s effect depends on several others. How successfully it learns these dependencies needs to be evaluated on data.
Yes. Training includes examples with hidden heroes. The drafter can compare options while slots remain empty. Every new pick adds context and changes the calculation. Separate quality metrics for each draft stage have not been published yet.
No. A probability refers to one lineup and its conditions. Accuracy is the share of correctly predicted outcomes across validation matches. Even a high estimate for a draft does not guarantee a win.
No. It compares estimates conditioned on specified match durations. It is neither a minute-by-minute simulation nor a prediction of when your game will end. The main prediction uses unknown duration.
Open the online drafter, add heroes manually or import a public match by ID. Compare next-pick options and lineup estimates. The drafter is free and requires no account.
Try it with your lineup
Build a draft and compare a few options. See how win probability changes with different allies and opponents.