Behind the picks
Terms of Use
Everything you need to know about how the predictions are made, how the ELO engine works, what powers the site, and why it exists.
Entertainment purposes only
Everything on this site — predictions, ELO ratings, analysis — is made purely for fun and entertainment. This is not betting advice, financial advice, or any form of professional forecasting. Dota 2 is unpredictable by nature and no model or person can predict it with certainty. Never use this content to make real-money decisions.
What this site is
Dota2ProTips is a personal prediction log. I — Greg Spencer — watch Dota, and before each series starts I put a pick on the line: who I think is going to win, and why. That's the whole idea.
Behind the picks sits an internal model — ELO-style team ratings combined with recent results and momentum signals — that gives me a baseline win probability for each match. It's a useful discipline tool, a sanity check against my own biases. But it's a starting point, not the answer. The final call is always mine, based on what I've actually watched.
The model is great at the macro picture. It cannot account for specific matchup dynamics, current form, or the micro-realities of a given match. That part is on me. For a full breakdown of how I approach each prediction, read this.
How much is me and how much is the model depends on the match:
Tier 1 — the big events. I watch every series and write the call myself. The model advises, I decide. The final word is mine, based on what I actually watched.
Tier 2 and qualifiers — everything else. There are hundreds of these and I can't hand-write every one. So here the pick leans on the model: ELO ratings, head-to-head, and an internal system that reads my whole database and gives me a starting probability. I still eyeball the output and override it when I know something the numbers don't — but the model does the heavy lifting.
Same log either way. Every prediction is public, every result is tracked, and my accuracy is visible to anyone who visits. I can't quietly delete a bad call. That's the point.
How predictions are made
Tier 1 — the analyzed picks. Each prediction is written before hero selection. By the time the draft starts, the pick is already locked in. This matters, because the draft in Dota 2 reveals a huge amount of information — predicting after it is significantly easier and far less honest.
My process for each match:
- Recent form — How has each team performed in the last 2–4 weeks? Momentum matters more than historical prestige.
- Playstyle matchup — How does each team want to win, and whose plan is more likely to succeed against the other? Fast vs. slow, skirmish vs. farm — the interaction matters more than raw rating.
- Draft tendencies — Narrow hero pools, patch comfort, historical drafting patterns. I never flip a pick after seeing the draft, but long-term drafting trends are factored in before the match.
- Head-to-head — How have these two teams matched up before, especially at this level of competition? Only relevant when the roster and meta are comparable.
- Roster changes — Any recent stand-ins, bootcamps, or roster shifts that could affect performance?
- Tournament stage — Groups play differently than playoffs. Teams sometimes sandbag in groups to hide strategies.
- ELO rating — My custom rating system gives a structured view of where each team stands relative to the other.
After the match, I come back and write an aftermath — a short note on what actually happened, what I got right, and where I was wrong. Predictions without follow-up accountability are worthless.
Tier 2 and qualifiers — the quick picks. There are hundreds of these matches, and hand-writing an analysis for every one isn't realistic — so this is where the model earns its keep. My internal system does the first pass: it reads the database — teams, players, recent results, head-to-head, ratings — and weighs around 62 parameters across form, matchup, roster, ratings, patch and stage into a probability for each match.
I read that output, sanity-check it, and lock a pick — a winner, or a draw for a Bo2. No essay on every match, and no pretending there is one. Just an honest, tracked call, made the same way every time. When I have the time and something to say, I'll add an aftermath here too — but the pick itself is the commitment.
The ELO rating system — two divisions
ELO is a rating system originally developed for chess. The core idea: every team starts at a baseline rating, and after each match, points flow from the loser to the winner. Beat a stronger team → gain more points. Lose to a weaker team → lose more points.
My implementation is adapted for Dota 2, and it runs as two separate ladders:
- Division 1 — The Tier 1 pool.
- Division 2 — The Tier 2 pool.
Each division runs its own rating, and a team only moves against teams in its own pool. That's deliberate: a Division 2 team feasting on other Division 2 teams shouldn't get to leapfrog a Tier 1 side it has never played. It also means you can't compare a number across divisions — both pools start at 1500, so a 1535 in Division 2 is not "above" a 1500 in Division 1. They're two different ladders with two different starting lines. Read each table on its own.
The rest of the engine works the same in both divisions:
Starting ratings
Every team begins at 1500. No reputation bonus, no legacy points, nothing. You earn your rating by winning and lose it by losing.
K-factor
This controls how much a single result moves the needle. Higher K means ratings shift faster. I use a moderate K to avoid wild swings from a single upset.
Series-based
Ratings update after a completed series (Bo2, Bo3, Bo5), not individual games. A series is a series; winning 2–1 counts as one result, and a drawn Bo2 nudges both teams toward the middle.
Automatic updates
The moment a match ends, a large model kicks in behind the scenes and recalculates all 62 parameters we track for each team. Based on that fresh picture, the team’s rating is pushed up or down automatically — no manual number-tweaking involved.
Which division a team sits in reflects the level it actually competes at, and it can move: a Division 2 team that starts earning real Tier 1 results gets promoted, and the reverse holds too.
Win probability bar
Every prediction shows a bar with the expected outcome. It starts from the ELO gap:
For a Bo2 the bar carries three outcomes — Team A win, draw, Team B win — so a close match shows a fat draw block in the middle, and a lopsided one leans hard to one side. It's an instant read on how confident or upset-prone a call is.
A pick where the underdog wins is worth far more than one where the favorite does. The bar keeps that context in front of you the whole time — and when I call an upset and it lands, you'll see it.
Accuracy tracking
Every finished match is marked correct or wrong, and the tournament page shows a running percentage. I track Tier 1 and Tier 2 separately — an analyzed Tier 1 call and a quick model pick aren't the same product, and blending them into one number would be dishonest.
I aim to beat 60% on any given event. Sounds modest, but in a game where the best teams in the world lose on any given day, staying above a coin flip is genuinely hard. Everything is stored openly. Nothing is hidden, edited, or removed after the fact.
How I cover each tier
Tier 1 is the main event — ESL One, PGL, The International. The best teams, serious preparation, results that matter. It gets the full treatment: watched, analyzed, written up.
Tier 2 and qualifiers used to be a blind spot, and people kept asking for them — so now they're in too, covered with model-led quick picks. It's the honest split: deep where I can go deep, fast where I can't. Everything still gets tracked, win or lose.
The database behind it
This site is also a full Dota 2 reference. Heroes, items, players, teams, tournaments — each has its own page, kept current with the meta. The hero and item guides are written from experience; the team and player pages carry ratings, rosters, and history.
That same database is what feeds the model. When my system runs a Tier 2 match, it's reading these pages — the ratings, the head-to-head, the recent results. The wiki you browse and the engine that makes the picks pull from the exact same place. Use it as a reference, or just read the guides.
One last thing
This site exists because I love Dota 2 and I love watching the pros play it. That's the whole story. No subscriptions, no locked content, no upsells. If the predictions help you follow the scene more closely, or give you something to argue about with your friends — that's the goal. Enjoy the games.
— Greg