Match autopsy

DOTA
AUTOPSY

Paste a match ID and get the whole game taken apart: every death on the map, every item that never got used, and an honest verdict on all ten players.

Find the ID in your Dota 2 match history, or in any Dotabuff link.Free, no account needed — just paste the ID.

What you get

Death map

Every kill, ward and rune where it actually happened — with the hero portrait and the minute.

Teamfights

Who started it, who showed up, and who was farming a jungle camp instead.

Build audit

Gold spent on items that sat in the bag, and the actives that were never pressed.

Hero percentiles

Not "low farm" — "GPM below 78% of players on this hero".

A verdict on each player

Decided by fixed rules in our engine, not by a model's mood.

AI breakdown on demand

The model gets the finished numbers and explains what to do about them.

How it works

  1. 1

    Paste the ID

    Any public match. Parsed replays give more — deaths, wards and fights on the map.

  2. 2

    Open the tabs

    Overview, players, map, fights, team report. All of it free and instant.

  3. 3

    Order the analysis

    Pick a player and let the model turn the numbers into a plan for the next game.

Dota 2 — match 9051625010 breakdown

Winner: Dire. Score 16:41, duration 31:49. Below is a verdict on each of the ten players, a breakdown of the decisive fight and the main mistakes, computed from match data.

Radiant

  • Crystal Maiden — BOT tschimmy: 0/8/11, 5,127 net worth, 192 GPM. Played poorly Lane efficiency 30% of par for your role — you left the lane already behind.
  • Axe — Jiraya: 7/6/3, 11,048 net worth, 386 GPM. Played well Culling Blade was cast 2 times in 32 min on a 80s cooldown — the ability sat idle most of the game.
  • Luna — Panflap: 2/7/2, 14,097 net worth, 488 GPM. Played poorly Only 3 teleports in 32 min: you rarely made it to another lane in time.
  • Rubick — LeBaNe$e{NoOb}: 2/12/10, 5,235 net worth, 224 GPM. Played poorly Lane efficiency 34% of par for your role — you left the lane already behind.
  • Outworld Devourer — Eternal Form: 4/8/4, 12,746 net worth, 444 GPM. Played poorly

Dire

  • Lina — MANGO 🥭🥭: 7/2/18, 14,461 net worth, 455 GPM. Played well Lane efficiency 43% of par for your role — you left the lane already behind.
  • Oracle — Morana: 6/8/17, 8,097 net worth, 306 GPM. Played poorly Lane efficiency 33% of par for your role — you left the lane already behind.
  • Sniper — StOn3r!: 16/3/17, 20,371 net worth, 678 GPM. Carried the game 2200 gold sat in items you never activated — above all Force Staff.
  • Lifestealer — M@gcelosor: 6/2/11, 19,500 net worth, 601 GPM. Played well Lane efficiency 63% of par for your role — you left the lane already behind.
  • Night Stalker — RSNPZD: 6/1/19, 17,488 net worth, 546 GPM. Played well Lane efficiency 66% of par for your role — you left the lane already behind.

The fight that decided it — 28:55, Bot

Winning side: dire. Deaths in the fight: 3, gold swing 3,913.

  • Outworld Devourer: 1,321 damage. Cast: Objurgation, Astral Imprisonment. Ultimate never cast
  • Crystal Maiden: 193 damage. Cast: Frostbite, Crystal Nova. Ultimate never cast
  • Rubick: 84 damage. Cast: Spell Steal, Fade Bolt, Rage
  • Axe: 249 damage. Cast: Berserker's Call. Ultimate never cast
  • Luna: 0 damage. Ultimate never cast
  • Sniper: 1,860 damage, killed Rubick, Crystal Maiden. Cast: Assassinate, Shrapnel, Take Aim
  • Lifestealer: 1,294 damage, killed Outworld Devourer. Cast: Infest, Rage, Consume, Open Wounds
  • Night Stalker: 1,825 damage. Cast: Dark Ascension, Void, Crippling Fear, Midnight Feast
  • Oracle: 263 damage. Cast: Purifying Flames, Fortune's End. Ultimate never cast
  • Lina: 0 damage. Cast: Dragon Slave, Light Strike Array. Ultimate never cast
DuelsRewardsMarketBlogProfile