← Back to blog
Fintech·August 7, 2026·6 min read

ROI vs. IRR vs. Payback Period: Why the "Best" Investment Depends on Which One You Ask

Three investments, three different "winners" depending on which metric you compute — here is the arithmetic behind ROI, IRR, and payback period, and exactly when each one lies to you.

Two investments, same $10,000 outlay. Investment A returns $15,000 after one year. Investment B returns $20,000 after five years. Ask "which one had the better ROI" and the answer is B — 100% versus A's 50%. Ask "which one made more money per year" and the answer flips completely: A earned 50% annually, B earned under 15%. Neither answer is wrong. They're answering different questions, and the metric you reach for first quietly decides which question gets asked.

This mismatch — same cash flows, contradictory "winners" — is the single most common reason ROI, IRR, and payback period get misused interchangeably when they're not interchangeable at all. Each one measures something genuinely different, and each has a specific blind spot that will hand you the wrong answer if you lean on it outside its lane.

ROI: total return, no sense of time

Return on investment is the simplest of the three, and that simplicity is both its strength and its trap:

ROI = (Final Value − Initial Value) / Initial Value × 100

For Investment A: (15,000 − 10,000) / 10,000 = 50%. For Investment B: (20,000 − 10,000) / 10,000 = 100%. That's the entire calculation — no dates, no discounting, no concept of "per year" anywhere in the formula. ROI answers exactly one question: how much did I make relative to what I put in, over however long it took. It says nothing about whether that took one year or five, which is precisely why B looks like the better deal until you ask the obvious follow-up question.

Annualized ROI (CAGR): fixing the time-blindness, for lump sums only

The standard fix is to annualize — compound the return down to a "per year" rate, the same math behind CAGR (compound annual growth rate):

Annualized Return = (Final Value / Initial Value)^(1/years) − 1

For B: (20,000/10,000)^(1/5) − 1 = 2^0.2 − 1 ≈ 14.87% per year. For A, with a one-year horizon, the annualized rate is just the ROI itself: 50%. Now the comparison is honest — A is compounding at more than 3x the rate of B. This is exactly the calculation behind Utilix's ROI calculator: feed it an initial value, a final value, and an optional holding period, and it returns both the raw ROI and the annualized rate in one call.

But annualized ROI has a hard requirement that's easy to miss: it assumes a single cash outflow at the start and a single cash inflow at the end. It has no way to represent money arriving in installments along the way. That's where the next metric earns its keep.

Payback period: fast to compute, blind to everything after

Payback period asks a narrower, more practical question: how long until I get my capital back? Take Investment C — $10,000 upfront, returning $3,000 at the end of year 1, $4,000 at year 2, $5,000 at year 3, and $3,000 at year 4:

YearCash flowCumulative
0−10,000−10,000
1+3,000−7,000
2+4,000−3,000
3+5,000+2,000
4+3,000+5,000

The balance crosses zero partway through year 3: −3,000 recovered against a 5,000 inflow means payback lands at 2 + 3,000/5,000 = 2.6 years. That's a genuinely useful number for a liquidity-constrained decision — it tells you how exposed your capital is and for how long.

What it doesn't tell you: anything about the $3,000 that arrives in year 4, or how large the return eventually gets. Compare Investment C to Investment D — $10,000 upfront, $10,001 back after exactly one year. D's payback period (1.0 years) beats C's (2.6 years) outright. D's total profit is $1. C's total profit is $5,000. A metric that ranks D above C is not measuring what most people actually mean by "the better investment" — it's measuring capital-recovery speed, full stop, and should only be trusted to answer that specific question.

IRR: the one that actually handles uneven cash flows

Internal rate of return is the discount rate that makes the net present value (NPV) of every cash flow — in and out — sum to exactly zero:

0 = −10,000 + 3,000/(1+r)¹ + 4,000/(1+r)² + 5,000/(1+r)³ + 3,000/(1+r)⁴

There's no closed-form solution; in practice you solve it by iteration (this is what numpy.irr, Excel's IRR(), or a simple bisection loop are doing under the hood):

function npv(rate, cashFlows) {
  return cashFlows.reduce((sum, cf, t) => sum + cf / Math.pow(1 + rate, t), 0)
}
// bisect for the rate where npv(rate, flows) crosses zero

Running that on Investment C's cash flows converges to r ≈ 18.0%. Compare that to what naive averaging suggests: total profit of $5,000 on $10,000 over 4 years looks like roughly 12.5% a year on a simple basis. IRR comes in noticeably higher — 18% — because it correctly credits the cash that came back in years 1 and 2 with more time value than the cash arriving in year 4. Money recovered early is worth more, and IRR is the only one of these three metrics built to account for that.

IRR isn't free of gotchas, though. It implicitly assumes any cash returned mid-project gets reinvested at the IRR itself — a rate that's often unrealistically high for whatever you'd actually do with $3,000 sitting around in year 1. And when a cash flow stream changes sign more than once (an outflow, then inflows, then another outflow — common in projects with a decommissioning cost), the equation can have multiple mathematically valid roots, or none at all. Modified IRR (MIRR), which fixes the reinvestment assumption to a stated external rate, exists specifically to patch this.

The comparison, side by side

MetricHandles multiple/uneven cash flowsAccounts for time valueTypical failure modeBest for
ROINo — single in/out onlyNoIdentical ROI can mean wildly different annual returns depending on horizonQuick screen when comparing options with the same holding period
Annualized ROI / CAGRNo — single in/out onlyCompounds, doesn't discountMeaningless if cash arrives in installments rather than one lump sumComparing lump-sum investments with different holding periods
Payback PeriodYesNoIgnores all value created after the payback pointLiquidity-constrained decisions, capital-recovery risk
IRRYesYes — that's the whole pointReinvestment-rate assumption; multiple or no real roots on sign-flipping cash flowsComparing projects with uneven, multi-period cash flow schedules

Which one should you actually compute

If you're comparing two options with the same entry and exit structure and the same time horizon, plain ROI is honest and sufficient — the annualization step doesn't change the ranking. The moment horizons differ, annualize (CAGR) rather than compare raw percentages, which is exactly the mistake in the A-versus-B example at the top. The moment cash arrives in more than one installment, annualized ROI stops being well-defined and you need IRR to compare projects on equal footing — or payback period if what you actually care about is how fast you get liquid again, not total return. None of the three is strictly "more correct" than the others; they're answering different questions, and the failure mode is always the same one: using the metric that happens to be easiest to compute instead of the one that answers the question you're actually asking. For the lump-sum case — the one place a single formula genuinely suffices — Utilix's ROI calculator does the ROI-and-CAGR arithmetic in one step so you're not re-deriving the annualization formula by hand every time.

#roi#irr#payback-period#npv#capital-budgeting#fintech

Related reading

Fintech
The IBAN Checksum Explained: How Mod-97 Catches a Mistyped Bank Account Before It Costs You
Fintech
Margin vs. Markup: The Pricing Mistake That Quietly Eats Small-Business Profit
Fintech
How Amortization Actually Works: Why Two Loans at the Same Rate Cost Different Amounts