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 9049875217 breakdown

Winner: Radiant. Score 61:46, duration 50:51. 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

  • Jakiro — CreepingFear: 10/11/28, 18,153 net worth, 391 GPM. Played well Lane efficiency 26% of par for your role — you left the lane already behind.
  • Hoodwink — icefoxlive: 3/12/22, 12,458 net worth, 281 GPM. Played poorly The enemy had Riki, Clinkz, and you bought no sentry or dust all game.
  • Pudge — Yuras334: 9/7/16, 16,156 net worth, 386 GPM. Played well The enemy had Riki, Clinkz, and you bought no sentry or dust all game.
  • Lifestealer — Masha: 19/7/24, 25,389 net worth, 546 GPM. Played well The enemy had Riki, Clinkz, and you bought no sentry or dust all game.
  • Drow Ranger — SmokeFanit: 17/9/19, 26,746 net worth, 573 GPM. Played well Lane efficiency 42% of par for your role — you left the lane already behind.

Dire

  • Windranger — LEMON4K: 12/5/17, 19,325 net worth, 449 GPM. Carried the game Lane efficiency 43% of par for your role — you left the lane already behind.
  • Ursa — Илюха вор: 5/18/7, 10,081 net worth, 251 GPM. Played poorly Lifestealer killed you 8 times — that is a read pattern, not bad luck: change position or hold a counter for that hero.
  • Riki — d1mino: 5/13/12, 13,344 net worth, 327 GPM. Played poorly Lane efficiency 39% of par for your role — you left the lane already behind.
  • Clinkz — богатейший: 14/12/20, 18,656 net worth, 399 GPM. Played well A mid who took 1 runes in 51 min hands the tempo to the enemy for free.
  • Enigma — Myrstick: 10/13/13, 19,004 net worth, 485 GPM. Played well A mid who took 1 runes in 51 min hands the tempo to the enemy for free.

The fight that decided it — 47:41, Base

Winning side: dire. Deaths in the fight: 8, gold swing 4,334.

  • Jakiro: 295 damage, killed Ursa, Enigma. Cast: Ice Path, Dual Breath. Ultimate never cast
  • Drow Ranger: 3,793 damage, killed Clinkz. Cast: Gust, Multishot
  • Hoodwink: 2,379 damage. Cast: Sharpshooter, Acorn Shot
  • Pudge: 2,031 damage. Cast: Dismember, Rot, Meat Hook. Buybacks: 1
  • Lifestealer: 574 damage. Ultimate never cast
  • Windranger: 1,629 damage, killed Hoodwink, Drow Ranger. Cast: Focus Fire, Windrun, Powershot, Shackleshot. Buybacks: 1
  • Enigma: 5,836 damage, killed Pudge. Cast: Black Hole, Midnight Pulse, Demonic Summoning
  • Clinkz: 2,975 damage, killed Jakiro. Cast: Skeleton Walk, Strafe
  • Ursa: 821 damage, killed Lifestealer. Cast: Overpower. Ultimate never cast
  • Riki: 647 damage. Cast: Blink Strike, Smoke Screen, Tricks of the Trade. Buybacks: 1
DuelsRewardsMarketBlogProfile