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.

01

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.

02

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 formHow has each team performed in the last 2–4 weeks? Momentum matters more than historical prestige.
  • Playstyle matchupHow 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 tendenciesNarrow 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-headHow have these two teams matched up before, especially at this level of competition? Only relevant when the roster and meta are comparable.
  • Roster changesAny recent stand-ins, bootcamps, or roster shifts that could affect performance?
  • Tournament stageGroups play differently than playoffs. Teams sometimes sandbag in groups to hide strategies.
  • ELO ratingMy 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.

03

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 1The Tier 1 pool.
  • Division 2The 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.

04

Win probability bar

Every prediction shows a bar with the expected outcome. It starts from the ELO gap:

P(A wins) = 1 / (1 + 10 ^ ((ELO_B − ELO_A) / 400))

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.

05

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.

06

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.

07

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

This site uses cookies

We use essential cookies to keep the site working. No tracking or advertising cookies are used. Learn more about our cookie policy