FinCalcs

How to Calculate IRR by Hand — Trial, Error & Interpolation

IRR has no formula to apply — it is defined as the rate where NPV equals zero, and the only way to find it by hand is to hunt: guess rates, watch NPV's sign, and squeeze the root between two guesses. That hunt is exactly what your calculator automates. Done carefully, it lands within a tenth of a percent in three rounds.

Quick answer: Guess a rate, compute NPV by hand; the sign tells you which way to move. On −$1,000; $500, $600, $700: NPV at 30% is +$58.26, at 40% it's −$81.63 — so IRR sits between. Linear interpolation gives 30% + 58.26/(58.26+81.63)×10% ≈ 34.17%; the true IRR is 33.87%, because NPV curves rather than bends linearly. Two more trial rounds close the gap.

Step 1 — set up the NPV equation

Write the stream as an equation with the rate as the unknown: −1000 + 500/(1+r) + 600/(1+r)² + 700/(1+r)³ = 0. Solving this polynomial for r is what 'finding the IRR' means. Multiply through by (1+r)³ and you get a cubic — solvable in principle, miserable in practice, which is why everyone hunts numerically.

Step 2 — two guesses that bracket zero

  • Try r = 30%: 500/1.30 = 384.62 · 600/1.69 = 355.03 · 700/2.197 = 318.62 → NPV = +$58.26
  • Try r = 40%: 500/1.40 = 357.14 · 600/1.96 = 306.12 · 700/2.744 = 255.10 → NPV = −$81.63
  • The sign flipped, so the IRR is between 30% and 40%

Step 3 — linear interpolation

Assume NPV falls in a straight line between the two guesses: IRR ≈ 30% + 58.26/(58.26+81.63) × 10% = 30% + 4.17% = 34.17%. The real IRR is 33.87% — the interpolation overshoots by 0.30 points because NPV is a convex curve, not a line, over that span. The wider the bracket, the worse the linear lie; a 30–35% bracket would land within about 0.05.

Step 4 — one refinement round

Test 34%: 500/1.34 = 373.13 · 600/1.7956 = 334.15 · 700/2.406 = 290.94 → NPV = −$1.78. Just barely negative, so the root sits a hair under 34%: interpolating between 30% (+58.26) and 34% (−1.78) gives 30 + 58.26/60.04 × 4 = 33.88% — within 0.01 of the true 33.87%. That's the whole game: bracket, interpolate, refine.

What your calculator does instead

The same hunt, automated: scan rates in small steps until NPV changes sign, then bisect the bracket forty times to full float precision. This site's IRR engine scans from −99.99% to 1000% and bisects; a BA II Plus runs its own variant. 'No solution' from either means the stream never crosses zero — usually all-positive or all-negative flows, or multiple sign changes with no net crossover.

Educational reference only: nothing on this page is investment, tax, or legal advice, and no example implies a recommendation of any security or product.

Frequently Asked Questions

How accurate is the interpolation method?
Depends on bracket width: a 10-point bracket on a 3-year stream was off by 0.30 points; a 4-point bracket landed within 0.01. For exam multiple-choice, interpolation after one bracket is almost always enough to pick the right option.
Which guess should I start with?
Something near the rough average annual return of the stream. For −1000 returning ~600/yr over 3 years, 30–40% is a natural opener. A quick sanity anchor: total inflows ÷ outlay = 1.8× over 3 years suggests a rate in the tens, not single digits.
Does this work for monthly cash flows?
Same mechanics, per-month rates — and remember the result is a monthly IRR; annualize with (1+r)^12 − 1 before comparing to annual hurdle rates. Forgetting the annualization is the classic hand-calculation error.
When does hand-calculation become impractical?
Long streams (8+ periods), irregular flows, or streams with multiple sign changes — the arithmetic burden grows and the multiple-root ambiguity needs machine help anyway. Hand IRR is a learning exercise and an exam skill; production work uses the engine.

More tools used in this guide

More guides