Skip to content
Log in

Theory

Discounting

Compounding in reverse: PV = FV ÷ (1 + r)ᵗ, NPV as a sum of discounted cash flows, IRR found by trial, the hurdle rate, and payback with linear interpolation.

~9 min read · 9 exercises · 250 points

Before you start

A hryvnia later is worth less now

Still on Klasna's product team, now with a bet to judge: a million hryvnias spent today on a mock-exam service, expected to bring back more than that over the next three years. On paper it looks like an easy yes.

Last lesson's compounding ran money forward in time. Today you'll run it backwards: discount future amounts to today, add them up into a net present value, and see how the rate changes the verdict and how long the money takes to come back.

Present value: compounding run backwards

Money later is worth less than money now, because money now could be put to work in the meantime. Present value turns a future amount into today's money by running compounding backwards: PV = FV ÷ (1 + r)ᵗ, where FV is the amount in t years and r the yearly discount rate.

PV=FV(1+r)tPV = \frac{FV}{(1 + r)^t}
PV: present value; FV: the amount in t years; r: the discount rate per year, what this money could earn elsewhere at similar risk.

Where Compounding multiplied by (1 + r) every year, discounting divides by it every year. At 25% a year, 1,000,000 in two years is worth 1,000,000 ÷ 1.25² = 1,000,000 ÷ 1.5625 = 640,000 today. Check it forwards: 640,000 × 1.25² = 1,000,000.

Two levers shrink a future amount: a higher rate and a longer wait. 1,000,000 in two years is worth 694,444 today at 20% and 640,000 at 25%; at 25% it is worth 800,000 one year out and 512,000 three years out.

The usual slip is dividing by (1 + r × t), as with simple interest: 1,000,000 ÷ 1.5 ≈ 666,667, too much. The power comes from compounding: each year divides once more.

  • Do
    1,000,000 in two years at 25%: 1,000,000 ÷ 1.25² = 640,000 today.
  • Don't
    "Two years at 25% is 50%, so it's worth 1,000,000 ÷ 1.5 today."

    That's simple interest run backwards; discounting compounds.

The discount factor and the rate behind it

The discount factor is the number you multiply a future amount by to get its value today: 1 ÷ (1 + r)ᵗ. For a positive rate it's always below 1, and it shrinks as t grows. At 25%: 0.8 for one year, 0.64 for two, 0.512 for three. Each extra year multiplies the previous factor by 0.8.

What is r? Not inflation and not a bank's rate by default. It is what the money could earn elsewhere at a similar risk: the return you give up by tying the money up in this bet. Klasna uses 25% a year for product bets, because that's what it asks of its money; the finance course explains where such a number comes from.

A handy reading: a factor of 0.64 means "a hryvnia two years out is worth 64 kopiykas today". With a column of factors, discounting becomes a column of multiplications.

Don't confuse the factor with its inverse: 1.5625 is how much money grows in two years at 25%, and 0.64 is how much a future amount shrinks back.

  • Do
    Discount factors at 25%: 0.8, 0.64 and 0.512 for years 1–3.
  • Don't
    Multiply a two-year amount by 1.5625 to "bring it to today".

    That's the growth factor; divide by it instead.

Net present value: all flows in today's money

Net present value brings every cash flow of a decision to today and adds them up: NPV = Σ CFₜ ÷ (1 + r)ᵗ. Money going out is negative, money coming in positive, and t = 0, today, isn't discounted. The Σ is the summing sign from The Σ sign: sums, limits and running totals.

NPV=∑t=0nCFt(1+r)t=CF0+CF11+r+CF2(1+r)2+…NPV = \sum_{t=0}^{n} \frac{CF_t}{(1 + r)^t} = CF_0 + \frac{CF_1}{1 + r} + \frac{CF_2}{(1 + r)^2} + \dots
CFₜ: the cash flow in year t (negative when money goes out); t = 0 is today, so it is not discounted.

Example: Klasna considers spending 1,000,000 UAH today on a mock-exam service that should bring back 300,000, 400,000 and 800,000 over three years. At 25%:

  • year 1: 300,000 ÷ 1.25 = 240,000;
  • year 2: 400,000 ÷ 1.5625 = 256,000;
  • year 3: 800,000 ÷ 1.953125 = 409,600.

Together 905,600 today, so NPV = −1,000,000 + 905,600 = −94,400 UAH.

At 25% a year, 300,000 in year 1 is worth 240,000 today, 400,000 in year 2 is worth 256,000 and 800,000 in year 3 is worth 409,600; together 905,600 against 1,000,000 invested.
The further away the money, the more it shrinks on the way back to today.

Work in a table: one row per year with the flow, the discount factor and their product, then a total. The usual slips are discounting today's outflow, using the same power for every year, and forgetting the minus sign of the investment.

  • Do
    One row per year: flow × 1 ÷ 1.25ᵗ, then add, with year 0 as it is.
  • Don't
    Add the flows, +500,000, and call the bet profitable.

    Undiscounted sums ignore when the money arrives.

Reading NPV: what a negative number loses to

A negative NPV doesn't mean the bet loses cash. The mock-exam service returns 1,500,000 for 1,000,000, a gain of 500,000 before discounting, and still has NPV = −94,400 at 25%.

What it loses to is the alternative. Discounting at 25% asks: would the same million, earning 25% a year elsewhere, end up with more? It would. So:

  • NPV > 0 at the rate you require: the bet beats the alternative.
  • NPV < 0: the money would do better elsewhere at a similar risk.
  • NPV = 0: the bet earns exactly the required rate.

NPV depends on the rate. At 0% it is just the sum of the flows, +500,000; at 15%, +89,340; at 20%, −9,259; at 25%, −94,400. The higher the required return, the lower the NPV, and far-off flows lose the most.

So "it brings back 1.5 times the money" is not a verdict. The verdict is the sign of NPV at the rate the company asks of its money.

  • Do
    "NPV at 25% is −94,400: the million would earn more elsewhere."
  • Don't
    "We get 1.5 million back for 1 million, so it's a yes."

    Undiscounted cash isn't the test.

IRR: the rate where NPV is zero

The internal rate of return (IRR) is the discount rate at which NPV is exactly zero: the steady yearly return the bet itself earns. With several flows there's no neat formula for it, so you find it by trying rates, or with a spreadsheet's IRR function, which does the trying for you.

The NPV curve shows the idea. For the mock-exam bet, NPV is +500,000 at 0%, +89,340 at 15%, −9,259 at 20% and −94,400 at 25%. It falls as the rate rises and crosses zero at about 19.5%: that's the IRR.

NPV of the bet falls as the discount rate rises: +500,000 at 0%, +89,340 at 15%, −9,259 at 20% and −94,400 at 25%; it crosses zero at the IRR of about 19.5%, below the 25% hurdle.
IRR is where the curve crosses zero.

Reading a sign change: if NPV is positive at one rate and negative at a higher one, IRR lies between them, nearer the rate whose NPV is closer to zero. +30,000 at 8% and −10,000 at 12% put IRR between 8% and 12%, nearer 12%.

Compare IRR with the hurdle rate, the minimum return a company asks of a bet. Klasna's hurdle is 25%, so an IRR of 19.5% falls short.

  • Do
    NPV + at 15% and − at 20%: the IRR is between them, near 20%.
  • Don't
    "NPV is negative at 25%, so the IRR must be negative."

    The IRR is about 19.5%, just below the hurdle.

Estimating IRR between two rates, and the hurdle

Between two rates whose NPVs have opposite signs, a straight line gives a good estimate of where NPV crosses zero. This is linear interpolation: IRR ≈ r₁ + (r₂ − r₁) × NPV₁ ÷ (NPV₁ − NPV₂), with NPV₁ positive and NPV₂ negative.

For the mock-exam bet: 15% + 5% × 89,340 ÷ (89,340 + 9,259) = 15% + 5% × 0.906 ≈ 19.53%. The exact IRR is about 19.5%; the NPV curve bends slightly, so a narrow bracket keeps the error small.

Then compare with the hurdle rate. IRR above the hurdle and NPV above zero at the hurdle are the same verdict said two ways. For this bet, 19.5% < 25% and NPV at 25% is negative: it fails both.

Two cautions. IRR is a rate, not an amount: a small bet with a high IRR can create less value than a big one with a lower IRR, so rank by NPV. And when flows change sign more than once, there can be more than one IRR; a spreadsheet quietly returns one of them.

  • Do
    15% + 5% × 89,340 ÷ 98,599 ≈ 19.5%, below the 25% hurdle.
  • Don't
    "Project B has the higher IRR, so it creates more value", without looking at its size.

    Rank by NPV; IRR ignores scale.

Payback with a fraction of a year

Payback asks a simpler question than NPV: when does the cumulative cash get back to zero? Add the flows year by year and watch the running total, as in The Σ sign: sums, limits and running totals.

For the mock-exam bet: −1,000,000 today, then −700,000 after year 1, −300,000 after year 2, +500,000 after year 3. It turns positive during year 3.

To get the fraction, assume that year's cash arrives evenly: 300,000 is still missing out of year 3's 800,000. Payback = 2 + 300,000 ÷ 800,000 = 2.375 years. That's linear interpolation again: the share of the year needed to cover the gap.

In general: payback = the last full year with a negative total + what's still missing ÷ the next year's flow.

Slips to avoid: dividing by the cumulative total instead of that year's flow, counting the year where the total turns positive as a full year (3 years here), and starting the count at year 1 instead of 0.

  • Do
    Payback = 2 + 300,000 ÷ 800,000 = 2.375 years.
  • Don't
    "Payback is 3 years, because the total turns positive in year 3."

    Only part of year 3 is needed.

Discounted payback, and payback's blind spot

Discounted payback runs the same running total on discounted flows. At 15% the mock-exam flows are worth 260,870, 302,457 and 526,014 today; the total goes −1,000,000 → −739,130 → −436,673 → +89,341, so payback is 2 + 436,673 ÷ 526,014 ≈ 2.83 years instead of 2.375. With positive inflows, discounting can only push payback later.

Both versions share a blind spot: they ignore everything after the payback point. A bet that pays back fast and then stops can lose to one that pays back slowly and keeps paying. Payback says how long money is at risk; NPV decides.

The same discounting values a customer: discounted LTV = Σ CMₖ ÷ (1 + r)ᵏ with a monthly rate, 1.877% for 25% a year. 300 UAH a month for three months is worth 300 + 294.47 + 289.05 = 883.52 today, not 900.

How it fits together: discounting divides by growth factors; NPV adds the discounted flows; IRR is the rate where NPV is zero; payback times the recovery. The next lesson sums long chains of flows that shrink by the same factor.

  • Do
    At 15%: 2 + 436,673 ÷ 526,014 ≈ 2.83 years, later than 2.375.
  • Don't
    "Payback is under three years, so approve it."

    Payback ignores the rate and the cash after it.

Ready to practise?

Answer the lesson's exercises and earn 250 points the first time you finish it.

Start the exercises