Yeah, that's a really useful tool that I wish the designers provided because it says a lot about the assumptions of the game. There's an analysis – can't find the link – a fan did of how many goblins a 1st level fighter kills throughout the editions before the fighter is taken down. That sort of thing is invaluable to establish a baseline.
I'll take a stab at a chart for the Rogue (Thief), since it's an easier starting point.
Assumptions:
- Overall, I'm assuming a non-optimizing player who is experienced enough to run the class effectively in combat.
- Rogue with Thief subclass
- 16 in prime ability score (Dex) at 1st, up to 18 at 4th (ASI), and 20 at 8th (ASI).
- 12 Constitution.
- Max HP at 1st, average HP after 1st level.
- Wearing studded leather (AC = 12+Dex) & wielding a rapier one-handed.
- At 10th level, 12th, 16th, and 19th levels picks up feats or ASIs to flesh out the character that don't necessarily affect the numbers on this table.
- Reliably adds Sneak Attack damage once per round, thanks to subclass features, Hiding, allies working together, or opportunity attacks.
- Cunning Action (2nd level) is roughly worth a +1 AC bonus for getting distance from melee, avoiding opportunity attacks, and being hidden. This is a low value assumption because PCs have more uses for bonus actions typically, and sometimes you just don't have a great way to Hide. I think you could safely increase this instead to +2 AC, assuming that the rogue Hides about half the time with Cunning Action.
- Starting at 5th level, Uncanny Dodge allows the rogue to halve damage from one attack per round. First, I'm assuming that a rogue gets to use Uncanny Dodge about once per day/rest (due to a combo of avoiding being targeted in the first place, some monsters forcing saves, or the rogue using their reaction for other things). This is a low-ball assumption...Uncanny Dodge might contribute up to 3x that in a particularly intense melee. Second, we need a sense of what average monster damage actually looks like by CR (tl;dr the SRD monsters' avg damage caps close to 20 at CR 11+). This number might look different factorign VGtM, MToF, MMotM, and newer books. Third, we need to make some kind of assumption about "Typical Monster CR" encountered at each level – I'm going with CR = Level - 2 (i.e. CR 3 at 5th, etc). So I've created an Avg Monster Atk Dmg column, and added half of that to the rogue's HP (rounded down) starting at 5th level when they get Uncanny Dodge. Though this is a BIG assumption at lower levels, if that ~20 damage cap holds true, then it stops being a significant assumption at higher levels.
- Thief's Reflexes (17th level) allow for an extra turn at the start of combat. This equates to approximately a +33% increase in damage, assuming typical 3-round combats.
- Elusive (18th level) is roughly worth another +1 AC bonus. Just eyeballing it.
- Stroke of Luck (20th level) is roughly worth a +1 bonus to attack (i.e. comparable to Advantage once per combat, which is +4 divided by 3... rounded down to +1).
- I wasn't sure about how to factor critical hit damage, so for simplicity I left it out for now.
- For comparison purposes, I did not include magic weapons/items.
- While I did not include Advantage in the Attack Bonus, my GM hunch is that a rogue has Advantage on maybe half of its attack rolls. The median bonus from Advantage over all target rolls is +4. So, I think a safe assumption may be increasing the rogue's attack bonus universally by +2.
Rogue Level | Avg Monster Atk Dmg (of a monster whose CR = level -2) | HP | AC | DPR | Attack Bonus |
---|
1 | – | 9 | 15 | 11 (1d8+3+1d6) | +5 |
2 | – | 15 | 16 | 11 | +5 |
3 | – | 21 | 16 | 14.5 (1d8+3+2d6) | +5 |
4 | – | 27 | 17 | 14.5 | +6 |
5 | 10 | 38 (33+5) | 17 | 19 (1d8+4+3d6) | +7 |
6 | 12 | 45 (39+6) | 17 | 19 | +7 |
7 | 15 | 52 (45+7) | 17 | 22.5 (1d8+4+4d6) | +7 |
8 | 15 | 58 (51+7) | 18 | 22.5 | +8 |
9 | 17 | 65 (57+8) | 18 | 27 (1d8+5+5d6) | +9 |
10 | 17 | 71 (63+8) | 18 | 27 | +9 |
11 | 20 | 79 (69+10) | 18 | 30.5 (1d8+5+6d6) | +9 |
12 | 20 | 85 (75+10) | 18 | 30.5 | +9 |
13 | 20 | 91 (81+10) | 18 | 34 (1d8+5+7d6) | +10 |
14 | 20 | 97 (87+10) | 18 | 34 | +10 |
15 | 20 | 103 (93+10) | 18 | 37.5 (1d8+5+8d6) | +10 |
16 | 20 | 109 (99+10) | 18 | 37.5 | +10 |
17 | 20 | 115 (105+10) | 18 | 54.5 [1.33* (1d8+5+9d6)] | +11 |
18 | 20 | 121 (111+10) | 19 | 54.5 | +11 |
19 | 20 | 127 (117+10) | 19 | 59 [1.33*(1d8+5+10d6)] | +11 |
20 | 20 | 133 (123+10) | 19 | 59 | +12 |
Now we can take some of those values for the Rogue (Thief) and cross-reference with the example monsters you gave – Orc, Ettin, Frost Giant, Arcanaloth, Death Knight – and see what shakes out...
Est. Level | Monster | Monster DPR (Average) | Monster Attack Bonus | Rogue's AC | Factored Damage (%hit * DPR) | Rogue's HP | % Reduction to HP |
1 | Orc | 9 | +5 | 15 | 5 (.55 * 9) | 9 | 55% |
5 | Ettin | 28 | +7 | 17 | 15 (.55 * 28) | 38 | 39% |
10 | Frost Giant | 50 | +9 | 18 | 30 (.6 * 50) | 71 | 42% |
15 | Arcanaloth (finger of death) | 62 | save DC 17 | CON save +1 | 46 (.75 * 62) | 103 | 45% |
20 | Death Knight (staggering smite) | 95 | +11 | 19 | 62 (.65 * 95) | 133 | 47% |