Every TCO analysis has the same structure. The numbers change. The categories change. The time horizon changes. But the framework is always the same.
This is that framework — ready to apply to any business decision.
TrueOutflow automates this entire template. If you'd rather skip the spreadsheet, you can run a full TCO analysis at trueoutflow.com in about 10 minutes.
Before You Start: Define the Parameters
Before entering a single number, lock in three things:
Time horizon — How long will you own or use this? For software: 3 years minimum. For hardware or infrastructure: 5 years. For major capital decisions: 7–10 years. The time horizon is the single biggest variable in TCO — changing it from 1 year to 5 years often flips the winning option.
Options to compare — TCO requires at least two alternatives. Option A vs Option B. Build vs buy. Lease vs purchase. Never run a single-option TCO — without a comparison point, the number is meaningless.
Currency and inflation rate — Set your base currency and a standard inflation rate for all recurring costs. 3% for stable operating environments, 10% for SaaS subscriptions (which typically escalate faster than CPI).
The TCO Template
Section 1: Direct Costs (One-Time)
These are upfront costs paid once at the start of the decision.
| Cost Item | Option A | Option B |
|---|---|---|
| Purchase / licence / build cost | ||
| Implementation and configuration | ||
| Data migration | ||
| Hardware and infrastructure setup | ||
| Initial training | ||
| Legal and contract costs | ||
| Total Direct Costs |
How to get these numbers:
- Vendor quotes (get at least two)
- Internal IT estimates (add 30% buffer — projects always run over)
- HR data for training time × average hourly rate
Section 2: Annual Recurring Costs
These repeat every year. Model each year separately to capture price escalation.
| Cost Item | Year 1 | Year 2 | Year 3 |
|---|---|---|---|
| Licence / subscription fee | |||
| Support and maintenance contract | |||
| Hosting and infrastructure | |||
| Security and compliance tooling | |||
| Total Recurring Costs |
Apply your chosen inflation rate to all recurring costs in years 2 and 3. A $30,000/yr SaaS contract with 10% annual increases costs $99,300 over 3 years — not $90,000. This single adjustment changes many procurement decisions.
Section 3: Hidden Costs (Labour and Indirect)
This is where most TCO models fail. These costs are real — they just don't appear on invoices.
| Cost Item | Hours/Month | Rate ($/hr) | Annual Cost |
|---|---|---|---|
| IT administration | |||
| End-user support (internal) | |||
| Vendor management | |||
| Training (ongoing / new hires) | |||
| Integration maintenance | |||
| Total Hidden Annual Costs |
How to get these numbers:
- Time tracking data (if available)
- Estimates from IT and operations leads — then add 40%, as teams consistently underestimate admin overhead
- HR fully-loaded rate (salary + super + benefits + overhead ÷ annual hours)
Section 4: Exit and Transition Costs
Often forgotten entirely. What does it cost to leave at the end of the period?
| Cost Item | Option A | Option B |
|---|---|---|
| Data export and migration | ||
| Parallel running period | ||
| Retraining for replacement system | ||
| Contract termination fees | ||
| Total Exit Costs |
Section 5: TCO Summary
| Option A | Option B | |
|---|---|---|
| Total direct costs | ||
| Total recurring costs (3yr) | ||
| Total hidden costs (3yr) | ||
| Total exit costs | ||
| 3-Year Total TCO | ||
| Monthly equivalent |
Reading the Results
If the TCOs are close (within 10–15%), the decision should be made on strategic factors — vendor stability, feature fit, internal capability — not cost. Neither option is clearly cheaper.
If one option is significantly cheaper (20%+), verify your inputs before acting. A large gap usually means a missing cost category on the cheaper option, not that it's genuinely that much better.
If the results surprise you, look at your labour assumptions first. Hidden labour costs are the most volatile variable in any TCO model — small changes in hours-per-month estimates create large swings in total cost.
Common Adjustments
For SaaS vs custom build: Add ongoing maintenance cost (15–25% of build cost per year) and infrastructure cost to the build option. These are frequently missing from internal estimates.
For hardware / equipment: Add depreciation schedule, residual value at end of period, and maintenance contract escalation. Physical assets deteriorate — model it.
For hiring decisions: The fully-loaded cost of an employee in Australia is typically 1.25–1.4× their base salary (super, leave, payroll tax, equipment, office space). Use this multiplier, not the salary figure.
For cloud infrastructure: Model usage growth. Cloud costs scale with consumption — a flat annual estimate is almost always wrong by year 3.
The One Number That Matters
Once you have the TCO for each option, calculate the monthly equivalent:
Monthly cost = Total TCO ÷ (years × 12)
This makes it easy to communicate. "Option A costs $4,200/month all-in, Option B costs $5,800/month" is a conversation a CFO can have. "Option A has a 3-year TCO of $151,200" requires them to do the maths themselves.