Concepts → Expected strikes to kill
Expected strikes to kill — when mean wins back from variance
The variance pillar argued that lower-mean / higher-variance rolls can out-kill higher-mean / lower-variance rolls when the target's HP sits just above your average swing. That story flips at scale: once HP grows beyond your single-strike ceiling, mean wins linearly and variance washes out into a small constant correction. The crossover is the elementary renewal theorem.
The setup
Until now we've asked "what's the chance one strike finishes the
target?" — call it p₁ = P(damage ≥ HP). The natural
next question: how many strikes does it take, in expectation? And
what's the chance of finishing in ≤ N?
Two reasons it matters:
- Long fights. Bosses rarely die in one swing. The expected-strike count is the number you actually plan around.
- Action economy. "How many rounds until this dies" decides whether to chip or to nuke, whether to use a one-shot consumable, whether to fish for a crit or just keep swinging.
The math, briefly
Each strike is i.i.d., so total damage after N strikes is the
N-fold convolution of the per-strike distribution with
itself. Let p_n = P(damage in n strikes ≥ HP). Then:
P(killed in exactly n strikes) = pn − pn−1
E[N] = ∑n≥1 P(N ≥ n) = 1 + ∑n≥1 (1 − pn)
The second line is the survival-function identity for a
positive-integer random variable: expected value equals the sum of
survival probabilities. It converges fast — once
p_n approaches 1, the tail contributes almost nothing.
Worked example: 2d6+5 across an HP sweep
Greatsword swing, +5 strength modifier. Single strike has mean 12, max 17, variance ≈ 5.83. Hand-derived from the engine's exact rationals:
| Target HP | P(kill in 1) | E[N] (exact) | E[N] (decimal) |
|---|---|---|---|
| 10 | 83.33% | 7/6 | 1.167 |
| 15 | 16.67% | 2377/1296 | 1.834 |
| 17 (single-strike max) | 2.78% | 857/432 | 1.984 |
| 18 (just past max) | 0% | 2627/1296 | 2.027 |
| 30 | 0% | 561133/186624 | 3.007 |
| 60 | 0% | ≈ 5146461.../94036996... | 5.473 |
| 120 | 0% | (38 digits / 36 digits) | 10.479 |
| 240 | 0% | (huge) | 20.479 |
Notice: as HP doubles past the single-strike max, E[N] roughly doubles too. The slope is 1/mean = 1/12. That's the renewal-theorem rule.
The renewal-theorem rule of thumb
For HP much larger than the single-strike maximum, the elementary renewal theorem gives:
E[N] ≈ HP / μ + (σ² / 2μ² + 1/2)
where μ is the per-strike mean and σ²
the per-strike variance. The first term — HP/μ —
dominates and grows linearly. The second term is a bounded
correction: variance contributes a small offset, but doesn't
compound with HP. For long fights, mean is king.
For 2d6+5 (μ=12, σ²≈5.83) at HP=240: rule of thumb predicts 240/12 + (5.83/288 + 0.5) ≈ 20 + 0.52 = 20.52. Engine says 20.479. Inside 0.05 strikes — for a quantity that took 35 N-fold convolutions to compute exactly, that's a pretty good back-of-envelope.
Variance washes out: reliable vs nuke at scale
The
reliable-vs-nuke pillar
paired 3d4+4 (reliable, mean 11.5, variance 3.75) with
1d12+5 (nuke, mean 11.5, variance 11.92). Same mean,
triple the variance. Single-strike kill chance flipped depending on
HP: reliable wins below the mean, nuke wins above. Now stretch HP
out and watch the gap close:
| Target HP | E[N] reliable (3d4+4) | E[N] nuke (1d12+5) | Gap |
|---|---|---|---|
| 10 | 1.156 | 1.333 | −0.18 (reliable wins) |
| 12 (the shared mean) | 1.500 | 1.500 | 0 (exact tie) |
| 15 | 1.938 | 1.792 | +0.15 (nuke wins) |
| 30 | 3.061 | 3.113 | −0.05 (reliable barely) |
| 60 | 5.698 | 5.719 | −0.02 |
| 120 | 10.906 | 10.936 | −0.03 (~0.3% relative) |
At HP 120, the strikes-to-kill chains for these two completely different distributions are within 0.3% of each other. The variance that mattered so much at HP 15 has been absorbed into the constant term of the renewal series. Side-by-side at HP 120:
The two regimes — when each pillar's lesson applies
The variance pillar and this one aren't contradicting each other; they describe two different scaling regimes:
- HP ≲ single-strike maximum — variance-pillar territory. The kill turns on the right-tail mass. Higher variance helps you when the target's HP sits just out of mean's reach; hurts you when the target is well within reach.
-
HP >> single-strike maximum — this pillar's
territory. Variance contributes a bounded correction (the
σ²/2μ² + 1/2offset), and otherwise mean wins linearly. Doubling your mean halves your expected strikes; halving your variance shaves a fraction of one strike.
The boundary is roughly HP ≈ 1.5 × single-strike max, give or take. Below: think variance. Above: think DPR.
Where this matters in practice
- Boss fights. A 200 HP boss vs a level-5 fighter swinging 2d6+5 (mean 12) is firmly in the renewal regime — expected ≈ 16-17 strikes. Build choices that buff mean (Great Weapon Master's +10 damage on demand, Smite, magic weapons) directly cut that count. Build choices that buff variance (Champion crit range, Reckless advantage as variance) contribute a much smaller correction.
- Action economy and Extra Attack. Going from one attack per round to two doesn't just double DPR — it halves per-round variance via the multi-roll average, pulling you toward the renewal regime faster. The combat resolves in fewer rounds AND with less round-to-round swing.
- Diablo / PoE / Last Epoch boss-burning. Mapping builds (lots of small enemies) live in the variance regime — crit-stacking, fat-tail builds clear faster. Boss-rush builds should optimize for sustained DPR — the boss's HP bar is the renewal regime made literal.
- Resource economy across many fights. Knowing E[N] for typical encounters tells you, in expectation, how many spell slots / bonus actions / consumables a long day will burn. DM-side: easier than per-fight simulation.
Try it yourself
↦ /strike/2d6+5?hp=60 — slide the HP, watch E[N] climb linearly ↦ /vs/3d4+4/1d12+5?hp=120 — same mean, watch the chains converge ↦ /vs/2d6+5/1d12+5?hp=120 — different means, gap stays open