Blog

Building an Energy Project Cash-Flow Model

Build the year-by-year cash-flow model every energy project needs — capex, savings, escalation, replacement, and carbon — with a full 10-year worked capstone.

Tan Kok XinTan Kok XinEnergy Management: The Economics of Saving Energy
Building an Energy Project Cash-Flow Model

Every metric you have met so far in this course — payback, ROI, NPV, IRR — is not really a formula. It is a squeeze. Each one is squeezed out of a single underlying object: a year-by-year money diary that runs from the day you write the cheque (Year 0) to the day the equipment retires (Year N). That diary is the cash flow model, and for any energy project it is the core engine. Get the engine right and the metrics fall out almost for free. Get it wrong — a hard-coded number here, a forgotten replacement there — and every polished ratio you present to the board is quietly wrong too.

This part shows you how to build that engine. We will assemble it from five building blocks, add the two things beginners most often forget (escalation and carbon), and then run a full ten-year capstone you can copy into your own spreadsheet.

The five building blocks

Any energy-project cash flow, no matter how large, is made of just five kinds of money:

1. Capital expenditure (Capex) — the upfront cost, almost always landing in Year 0. Equipment, installation, engineering, commissioning. It is negative (money out).
2. Operating savings (inflows) — the reason the project exists. Lower electricity bills, less gas burned, avoided maximum-demand charges. Positive, and they recur every year the equipment runs.
3. Operating costs (outflows) — the running cost the project adds: extra maintenance, service contracts, consumables. Small, but real, and negative.
4. Replacement costs — mid-life spend to keep the asset alive. A variable-speed drive (VSD) rarely lasts the full life of the motor it controls, so you budget a replacement in, say, Year 10. Negative, and lumpy.
5. Terminal (salvage) value — what the asset is worth at the end. Sometimes a positive scrap value; often zero for embedded building kit. It appears once, in the final year.

Lay these five out as rows, put the years 0 to N across the columns, and you have the skeleton. The art is filling the cells honestly.

Escalation: next year's ringgit is a different number

The single biggest beginner error is to type Year-1 savings into a cell and drag it flat across ten columns. Prices do not stand still. Electricity tariffs creep up, gas moves with global markets, maintenance labour tracks wages. Escalation grows each line at its own realistic rate:

$$\text{Value in year } t = \text{Value}_{yr1} \times (1 + r)^{(t-1)}$$

The `(t − 1)` matters: Year 1 is the base, so it grows by nothing. Crucially, each line gets its own rate — you do not escalate electricity and gas at the same speed. Sensible Malaysian planning bands are:

- Electricity: 1–4% per year
- Natural gas: 3–8% per year (more volatile)
- Operating costs / maintenance: ~3% per year
- Carbon price: flat, or rising, depending on your policy

Worked example. Gas savings of RM189,000 in Year 1, escalated at 3%, in Year 5:

$$189{,}000 \times (1 + 0.03)^{(5-1)} = 189{,}000 \times 1.1255 = \text{RM}212{,}721$$

That is nearly RM24,000 more than the flat number would have shown — money you would have left on the table in your NPV.

Carbon as cash

Even where there is no carbon tax to pay today, mature firms put a price on the carbon they avoid. It is a self-imposed shadow price: a number you choose, added as its own cash line, so that low-carbon projects get the credit they deserve and you are ready the day a real carbon cost arrives. The formula is deliberately simple:

$$\text{Carbon value} = \text{tCO}_2 \text{ saved} \times \text{internal carbon price (RM/tCO}_2)$$

Typical internal (shadow) carbon-price bands used in Malaysia:

- Manufacturers: RM20–50/tCO₂
- Multinationals (MNCs): RM50–150/tCO₂
- Net-zero-aligned firms: RM200–300/tCO₂

To get the tonnes, you convert saved energy with emission factors. The grid factor is 0.56 tCO₂/MWh of electricity; natural gas is about 2.2 kg CO₂ per Nm³ burned. (Both are course canon — pick them once, note them, and reuse everywhere.) We will price carbon into the capstone below.

The ten-year capstone: VSD plus boiler upgrade

A Klang Valley factory installs a variable-speed drive on a large pump motor and upgrades its boiler burner and controls. Total installed cost is RM215,000. Here is how the five blocks fill in.

Block 1 — Capex (Year 0): −RM215,000.

Block 2 — Operating savings (Year 1):

- Electrical: the VSD cuts 27,500 kWh/yr. At a blended commercial rate of RM0.50/kWh → RM13,750/yr.
- Thermal: the boiler upgrade saves 63,000 Nm³ of gas/yr. At RM3.00/Nm³ → RM189,000/yr.
- Carbon: convert both savings to tonnes, then price them.

$$\text{Electrical CO}_2 = 27.5 \text{ MWh} \times 0.56 = 15.4 \text{ tCO}_2$$ $$\text{Thermal CO}_2 = 63{,}000 \times \frac{2.2}{1000} = 138.6 \text{ tCO}_2$$

Total avoided emissions: 154 tCO₂/yr. At an internal carbon price of RM50/tCO₂:

$$154 \times 50 = \text{RM}7{,}700 \text{/yr}$$

Block 3 — Operating costs (Year 1): the VSD and new controls add about RM1,300/yr in extra servicing. −RM1,300.

Netting Year 1:

$$13{,}750 + 189{,}000 + 7{,}700 - 1{,}300 = \text{RM}209{,}150$$

Block 4 — Replacement: the VSD is rated for roughly a decade, so we budget −RM35,000 in Year 10 to swap it out.

Block 5 — Salvage: the embedded kit has negligible resale value, so terminal value = RM0.

Now we escalate the recurring lines (electricity 2%, gas 3%, operating cost 3%, carbon price held flat) and lay out the full diary. This is the core engine:

Year

Elec savings

Gas savings

Carbon

O&M cost

Replacement

Net cash

PV @ 8%

0

−215,000

−215,000

−215,000

1

13,750

189,000

7,700

−1,300

209,150

193,657

2

14,025

194,670

7,700

−1,339

215,056

184,375

3

14,306

200,510

7,700

−1,379

221,136

175,544

4

14,592

206,525

7,700

−1,421

227,397

167,142

5

14,883

212,721

7,700

−1,463

233,841

159,149

6

15,181

219,103

7,700

−1,507

240,477

151,542

7

15,485

225,676

7,700

−1,552

247,308

144,300

8

15,794

232,446

7,700

−1,599

254,342

137,411

9

16,110

239,420

7,700

−1,647

261,583

130,857

10

16,433

246,602

7,700

−1,696

−35,000

234,038

108,406

Every metric from the previous two parts — payback, NPV, IRR — now comes straight out of the last two columns.

Net Present Value (NPV). Discount each year's net cash at 8% and sum, then subtract nothing extra (Year 0 is already in the table):

$$\text{NPV} = \sum_{t=0}^{10} \frac{\text{Net cash}_t}{(1 + 0.08)^t}$$

The present values in the right-hand column add to about RM1,552,000 of inflows against the RM215,000 outflow, giving:

$$\text{NPV(8\%)} \approx \text{RM}1{,}337{,}000 \approx \textbf{RM1.34 million}$$

Payback. Cumulative net cash reaches RM215,000 almost exactly one year in (Year 1 alone returns RM209,150), so the simple payback ≈ 1.0 year. On a discounted basis — using the PV column — it stretches only slightly, to about 1.1 years. Always label which one you are quoting; they are different animals.

IRR. The internal rate of return is the discount rate at which NPV would fall to zero. With the whole capex repaid inside the first year, that rate is enormous — around 100%. A number that high is really the model telling you the project is dominated by one very cheap, very large thermal saving; it is not a rounding artefact.

Notice what the model reveals that a single ratio never could: the gas line does all the heavy lifting, escalation adds tens of thousands over the decade, and the Year-10 VSD replacement barely dents an NPV of RM1.34 million. That texture is the whole point of building the engine.

Six mistakes that quietly ruin a model

1. Average tariff instead of Time-of-Use. A blended average hides peak/off-peak structure and, worse, the maximum-demand charge. If your saving is about when you use power, an average rate erases the benefit. (See how power and energy differ and the maximum-demand calculator.)
2. No escalation, no discounting. Flat lines undercount future savings; ignoring the discount rate overcounts them. You need both, pulling in opposite directions.
3. Ignoring maintenance and replacement. A model with only inflows is a sales brochure, not a forecast. Budget the O&M line and the mid-life swap.
4. No carbon value. You leave a real, board-relevant benefit off the page — and lose the margin that tips borderline projects.
5. Unrealistic operating hours. Savings scale with runtime. Assume 8,760 hours for a pump that runs 5,000 and your NPV is fiction.
6. Hard-coded formulas. Type `= 212721` and no one — including future you — can audit or re-run the model. Every cell should reference its rate and its base, so a single tariff change flows through the whole diary.

That last point is where measurement matters. A model is only as good as the assumptions feeding it, and escalation and savings assumptions get validated against metered reality — which is exactly what Cobler's CobiNeural monitoring is for, turning your spreadsheet's "27,500 kWh saved" into a number you can defend with data from the meters themselves.

The takeaway

The cash-flow model is the one artefact you actually build; payback, NPV and IRR are just three ways of reading it. Assemble the five blocks, escalate each line at its own honest rate, price your carbon, and never hard-code a cell. Do that, and the RM1.34 million answer is not a claim — it is an audit trail.

Next up — Part 12: Benefit-Cost Ratio and Profitability Index — turns this same engine into the ratios that let you rank projects when capital is scarce.

FAQ

Frequently asked questions

Keep Reading

Related articles