
HP 12C Learn
NPV for Uneven Cash Flows
Enter CF0, CFj, and the discount rate correctly to evaluate a non-uniform investment.
What this solves
This tutorial shows how to evaluate an investment when cash flows do not arrive in equal amounts each period.
Before you start
- Clear cash flow memory before entering a new CF0 and CFj sequence.
- Decide which cash flow is the initial investment and assign its sign correctly.
- Use a discount rate that matches the same period spacing as the cash flows.
Key ideas
CF0 is usually the initial outlay
In many project examples CF0 should be negative.
NPV is a discounted comparison
It tells you whether future inflows justify the initial investment at the chosen rate.
Worked example 1
Example: evaluate a project with uneven inflows
An investment requires an upfront outlay and produces different inflows over the next three periods.
Setup
- Assume one cash flow per year.
- Use an annual discount rate.
Inputs
- CF0
- -10,000Initial investment
- CF1
- 4,000
- CF2
- 4,200
- CF3
- 4,500
- Discount rate
- 8%
Keystrokes and checkpoints
Result
NPV = -10,000 + 4,000/1.08 + 4,200/1.08² + 4,500/1.08³ ≈ +876.77.
Interpretation
The positive result means the discounted inflows exceed the initial outlay by about 876.77 at an 8% annual discount rate.
Sanity checks
- If the sign of CF0 is wrong, the meaning of the result flips.
- If old cash flows were not cleared, the answer is unusable.
- If cash flows are monthly, the discount rate must also be monthly or consistently converted.
Why it works
- NPV discounts each future cash flow back to present value.
- The HP 12C cash flow memory stores uneven streams cleanly.
- Correct sign convention is critical because NPV compares inflows against the initial outlay.
Common mistakes
- Forgetting to clear old cash flow memory.
- Entering the initial investment with the wrong sign.
- Using a discount rate that does not match the cash flow period.
Practice prompt
Run the same project again with a higher discount rate and watch how the NPV changes.
Follow the steps above, then test the sequence live.