Why Test One Operating Assumption at a Time?
A project’s estimated net present value depends on forecasts: sales volume, selling price, operating costs, and other inputs. A base-case NPV gives one result for one set of assumptions. One-variable sensitivity analysis asks how that result changes when one operating assumption is changed and all other inputs are held fixed. It helps identify which assumptions have a meaningful effect on the decision and whether a modest forecast error could change the project’s apparent attractiveness.
This is a controlled comparison, not a claim that only one input will change in reality. It also does not assign probabilities to alternative inputs. Its conclusions are conditional: they describe what the stated cash-flow model implies for the particular values tested.
The NPV Model and Its Conditions
For a project with an initial outlay \(I_0\) at time zero and end-of-year net cash flows \(FCF_t\) in years \(t=1,\ldots,n\), the NPV at an effective annual discount rate \(i\) is:
This expression assumes the cash flows occur at the stated year-ends, the discount rate is appropriate for the project and is constant across the modeled years, and the cash-flow forecasts and rate use consistent currency and price conventions. If there are additional cash flows, such as a terminal value or a working-capital recovery, they must also be included at their dates. In the examples below, unless stated otherwise, cash flows are hypothetical, annual, and before tax; taxes, depreciation effects, financing flows, working capital, and terminal values are excluded. These simplifications define the model being tested; they are not universal features of project analysis.
To test an operating assumption \(x\), write each cash flow as a function of that input, \(FCF_t(x)\). For a chosen alternative \(x_1\), compare its NPV with the base value at \(x_0\):
A positive result means the alternative assumption raises modeled NPV; a negative result means it lowers NPV. The sign should be interpreted in context: a higher sales volume may raise cash flows, while a higher operating cost may reduce them. The sensitivity measure \(\Delta NPV/(x_1-x_0)\), when the input difference is nonzero, expresses the average NPV change per unit of that input over the tested interval. It is not necessarily a constant rate of response.
Why Discount the Change in Cash Flow?
The reason a change in an operating assumption affects NPV is that it changes one or more dated cash flows. Subtracting the base-case NPV from the alternative NPV gives:
The initial outlay cancels because it is held fixed. Each difference in future cash flow is discounted from its own date. Thus, an extra dollar in year three does not have the same NPV effect as an extra dollar at time zero. This derivation also explains an important boundary: if changing an assumption should alter the initial investment or another input, that input is not actually being held fixed, so the analysis must say how it is treated.
Specify the operating assumption, its units, and its base value. Keep the comparison tied to a clearly defined forecast.
State which project life, discount rate, investment, and operating assumptions do not change. This makes the comparison attributable to the selected input.
Apply the changed assumption to the cash flows it affects, discount each cash flow at its date, and compare the alternative NPV with the base-case NPV.
Report the NPV change and its direction, then state what it says about the tested input. Do not treat one-variable results as probabilities or as a joint forecast.
Worked Examples
Worked Example: Sensitivity to Annual Sales Volume
A hypothetical three-year project requires \(I_0=\$20{,}000\). It earns a contribution of \(\$14\) per unit sold and has annual fixed operating costs of \(\$4{,}000\). The base forecast is 1,000 units sold in each year. Assume year-end cash flows, an effective annual discount rate \(i=10\%\), no taxes, and no other cash flows. Find the base NPV and the NPVs if annual volume is 900 or 1,100 units, holding all other inputs fixed.
Method. Calculate annual net operating cash flow at each volume, then discount the three equal annual cash flows. The three-year annuity factor is:
At 1,000 units, annual cash flow is \(1{,}000(\$14)-\$4{,}000=\$10{,}000\). Its present value is \(\$10{,}000(2.486852)=\$24{,}868.52\), so base NPV is \(\$24{,}868.52-\$20{,}000=\$4{,}868.52\).
At 900 units, annual cash flow is \(900(\$14)-\$4{,}000=\$8{,}600\). Present value is \(\$8{,}600(2.486852)=\$21{,}386.93\), giving NPV \(\$21{,}386.93-\$20{,}000=\$1{,}386.93\).
At 1,100 units, annual cash flow is \(1{,}100(\$14)-\$4{,}000=\$11{,}400\). Present value is \(\$11{,}400(2.486852)=\$28{,}350.11\), giving NPV \(\$28{,}350.11-\$20{,}000=\$8{,}350.11\).
The 100-unit increase from the base case raises annual cash flow by \(100(\$14)=\$1{,}400\). Its discounted value is \(\$1{,}400(2.486852)=\$3{,}481.59\), matching \(\$8{,}350.11-\$4{,}868.52\), subject to rounding. The 100-unit decrease lowers NPV by the same amount because contribution and costs are linear in volume under these assumptions. The calculation is checked by comparing the direct NPVs with the discounted cash-flow change.
Common mistake avoided: treating a change in annual cash flow as if it occurred immediately. The \(\$1{,}400\) annual increase is not added once at time zero; it occurs in each of three years and each amount is discounted separately.
Worked Example: Sensitivity to Selling Price
A hypothetical project costs \(\$20{,}000\) initially and operates for four years. It sells 500 units per year. Variable cost is \(\$32\) per unit, and annual fixed operating cost is \(\$2{,}000\). The base selling price is \(\$50\) per unit. Assume year-end cash flows, an effective annual discount rate \(i=10\%\), no taxes, and no other cash flows. Calculate NPV at prices of \(\$48\), \(\$50\), and \(\$52\), with all inputs other than price fixed.
Method. First calculate the four-year annuity factor:
At the base price of \(\$50\), annual cash flow is \(500(\$50-\$32)-\$2{,}000=\$7{,}000\). Its present value is \(\$7{,}000(3.169865)=\$22{,}189.06\). Therefore, base NPV is \(\$22{,}189.06-\$20{,}000=\$2{,}189.06\).
At \(\$48\), annual cash flow is \(500(\$48-\$32)-\$2{,}000=\$6{,}000\). Present value is \(\$6{,}000(3.169865)=\$19{,}019.19\), so NPV is \(-\$980.81\). At \(\$52\), annual cash flow is \(500(\$52-\$32)-\$2{,}000=\$8{,}000\). Present value is \(\$8{,}000(3.169865)=\$25{,}358.92\), so NPV is \(\$5{,}358.92\).
A \(\$2\) price change changes annual cash flow by \(500(\$2)=\$1{,}000\), so the corresponding NPV change is \(\$1{,}000(3.169865)=\$3{,}169.87\). This agrees with each comparison: \(-\$980.81-\$2{,}189.06=-\$3{,}169.87\), and \(\$5{,}358.92-\$2{,}189.06=\$3{,}169.86\), with the one-cent difference caused by rounding.
Common mistake avoided: using selling price as if every dollar of price were additional cash flow. Variable cost remains \(\$32\) per unit, so the relevant price effect is the change in contribution on 500 units, not the full price multiplied by units.
Worked Example: Sensitivity to Maintenance-Cost Escalation
A hypothetical three-year project costs \(\$15{,}000\) initially. Before maintenance, it generates \(\$10{,}000\) at each year-end. Maintenance costs \(\$2{,}000\) in year one and then grow at a constant annual rate \(g\), so costs in years two and three are \(\$2{,}000(1+g)\) and \(\$2{,}000(1+g)^2\). Assume an effective annual discount rate \(i=10\%\), no taxes, and no other cash flows. Compare NPV at maintenance escalation rates \(g=0\%\), \(5\%\), and \(10\%\).
Method. For each \(g\), subtract maintenance from the \(\$10{,}000\) pre-maintenance cash flow in each year, then discount each resulting cash flow. At \(g=0\%\), maintenance is \(\$2{,}000\) in all three years, leaving annual cash flows of \(\$8{,}000\). Thus:
At \(g=5\%\), maintenance is \(\$2{,}000\), \(\$2{,}100\), and \(\$2{,}205\). The corresponding net cash flows are \(\$8{,}000\), \(\$7{,}900\), and \(\$7{,}795\). Discounting gives \(\$8{,}000(0.909091)=\$7{,}272.73\), \(\$7{,}900(0.826446)=\$6{,}528.93\), and \(\$7{,}795(0.751315)=\$5{,}856.50\). Their present values total \(\$19{,}658.15\), so NPV is \(\$4{,}658.15\).
At \(g=10\%\), maintenance is \(\$2{,}000\), \(\$2{,}200\), and \(\$2{,}420\), leaving cash flows of \(\$8{,}000\), \(\$7{,}800\), and \(\$7{,}580\). Their discounted values are \(\$7{,}272.73\), \(\$6{,}446.28\), and \(\$5{,}694.97\). The total is \(\$19{,}413.97\), so NPV is \(\$4{,}413.97\). From \(g=0\%\) to \(g=10\%\), NPV falls by \(\$480.85\), using the displayed rounded NPVs.
The response is not linear in \(g\): the escalation rate is compounded, so it affects later maintenance costs through powers of \(1+g\). The NPV changes across the tested rates are valid comparisons, but a constant NPV effect per percentage point should not be assumed. The calculation is checked by confirming that higher maintenance reduces each affected cash flow and therefore lowers NPV.
Common mistake avoided: applying the escalation rate only once to all years. The stated cost pattern compounds it, so the third-year maintenance cost is \(\$2{,}000(1+g)^2\).
Interpreting Results and Recognizing Limits
A sensitivity table for one selected input is a compact way to report the assumption values and their corresponding NPVs. For example, the selling-price calculations above show that NPV changes from negative to positive between the two tested alternatives around the base. That observation describes the tested values; it does not by itself establish the exact price at which NPV equals zero. Finding such a threshold is a separate calculation.
When interpreting results, keep the unit of the assumption visible. “NPV falls by \(\$480.85\) when maintenance escalation rises from 0% to 10%” is more informative than “NPV is sensitive.” If an average change per unit is reported, specify the interval: for a nonlinear relationship, the average change over one interval need not match the average over another.
One-variable analysis is useful for identifying influential assumptions and explaining the direction of an effect. But it has important limits:
- It is conditional on the model. Results depend on the cash-flow relationships, timing, and discount rate used.
- It does not describe likelihood. A tested input value is not a forecast or a probability-weighted outcome.
- It isolates rather than combines changes. In practice, assumptions may move together; changing one input at a time does not measure their joint effect.
- Its apparent precision may exceed forecast quality. Reporting cents from arithmetic does not make uncertain input forecasts precise.
A positive NPV at the base assumption means that the modeled discounted inflows exceed the initial outlay under that assumption set. Sensitivity analysis adds context: it shows how that conclusion moves when one chosen operating forecast changes. This makes the method useful for explaining exposure to assumptions without confusing a controlled comparison with a complete assessment of project uncertainty.
Check Your Understanding
For each problem, vary only the stated assumption and use year-end cash flows. Round final dollar answers to the nearest cent.
- A hypothetical three-year project costs \(\$12{,}000\) and generates annual net cash flow of \(600q-\$2{,}400\), where \(q\) is annual units sold. At \(q=9\), calculate NPV using an effective annual discount rate of \(5\%\). (Answer: \(-\$3{,}830.26\))
- A four-year project sells 800 units annually. How much does NPV change if selling price rises by \(\$1\) per unit, with volume and all other inputs fixed? Use an effective annual discount rate of \(10\%\). (Answer: NPV increases by \(\$2{,}535.89\))
- A three-year project generates \(\$12{,}000\) before annual maintenance and costs \(\$20{,}000\) initially. Maintenance is \(\$2{,}000\) in year one and escalates at \(g\) in later years. Compare NPV at \(g=0\%\) with NPV at \(g=10\%\), using an effective annual discount rate of \(10\%\). (Answer: NPV decreases by \(\$480.84\))
- A project costs \(\$25{,}000\) initially and produces \(\$9{,}000\) at each year-end for three years. If a one-at-a-time reduction in annual operating cost raises each annual cash flow by \(\$1{,}000\), calculate the resulting NPV at an effective annual discount rate of \(8\%\). (Answer: \(\$770.97\))