Markdown Editor

Total Cost of Ownership (TCO) Analysis Template

Multi-year TCO comparison of options by cost category, with NPV discounting, sensitivity, break-even and recommendation

Arsitektur & Desain SistemStandartcoanalysismath

Cara menggunakan: Use when choosing between options whose costs differ in timing or type, such as self-hosting versus SaaS. Fix scope, horizon, currency and discount rate first, then fill every cost category for every option. The main pitfall is under-counting people and exit costs; keep all arithmetic visible.

Pratinjau

Total Cost of Ownership Analysis: [Solution or decision name]

Total cost of ownership (TCO) analysis comparing two or more options over a fixed horizon: scope, cost categories (acquisition, implementation, operations, licences, people, infrastructure, exit), year-by-year cost tables, discounting to net present value, sensitivity analysis, assumptions and a recommendation. Based on common industry practice for TCO and discounted cash-flow comparison. Replace every [bracketed] value and every figure marked Example. This is a format for analysis, not financial advice; agree the discount rate and accounting treatment with your finance team.

FieldValue
Document ID[TCO-001]
Decision supported[e.g. Self-host versus SaaS for the observability platform]
Version[0.1]
Status[Draft / In review / Approved]
Owner[@architect]
Finance reviewer[@finance-partner]
Last updatedYYYY-MM-DD
Related[Technology selection TS-NNN], [ADR-NNN], [Business case]

1. Scope and horizon

[Describe the capability, the user population and the volumes being costed. List anything explicitly out of scope.]

Example: Observability platform (logs, metrics, traces) for 140 services, 2 TB of logs per day, 30-day hot retention, 400 engineers with read access. Out of scope: security information and event management (SIEM), which has its own budget line.

ParameterValue
Options comparedExample: A = self-hosted open-source stack; B = SaaS observability vendor
HorizonExample: Year 0 (set-up) plus 3 operating years
Currency and basisExample: USD thousands, nominal (includes expected price rises)
Discount rate rrExample: 8% per year, supplied by [finance]
Timing conventionExample: Year 0 costs at start; Years 1 to 3 costs at year end
Volume growthExample: Flat volumes; growth tested in section 5

2. Cost categories

CategoryIncludesExcludes
AcquisitionHardware purchase, perpetual licences, one-off vendor fees, procurement costsRecurring subscriptions
ImplementationDesign, build, configuration, data migration, integration, training, consultantsRun-state staff
LicencesSubscriptions, support contracts, usage-based feesOne-off perpetual licences
InfrastructureCompute, storage, network egress, backup, environmentsVendor-hosted costs inside the subscription
PeopleLoaded cost of staff who operate, maintain and support the solutionImplementation project staff
OperationsMonitoring, incident tooling, audits, certificates, minor toolingStaff time (counted under people)
ExitData export, parallel running, decommissioning, contract termination feesCosts of the successor solution

Hidden costs to check for each option: [list]. Example: egress fees, premium support tiers, compliance audits, on-call allowances, retraining when staff leave, and the cost of the old system running in parallel.

3. Cost tables per option

3.1 Option A: [Self-hosted open-source stack]

Values in USD thousands. Year 0 is set-up; Years 1 to 3 are operating years.

CategoryYear 0Year 1Year 2Year 3Total
AcquisitionExample: 4000040
Implementation120000120
Licences (support contract)010101030
Infrastructure30606060210
People (1 FTE platform engineer, loaded)0150150150450
Operations020202060
Exit0003030
Total190240240270940

Notes: [sources]. Example: infrastructure from the cloud cost calculator for 18 storage-optimised nodes; people cost at the internal loaded rate of 150 per FTE-year.

3.2 Option B: [SaaS observability vendor]

CategoryYear 0Year 1Year 2Year 3Total
Acquisition (onboarding fee)Example: 1000010
Implementation8000080
Licences (subscription, +5% per year)0180189198567
Infrastructure00000
People (0.33 FTE administrator)0505050150
Operations010101030
Exit (data export, dual running)0004040
Total90240249298877

Notes: Example: subscription from vendor quote Q-2291 dated YYYY-MM-DD, with the 5% annual uplift in the draft contract; Year 3 uplift rounded to 198.

3.3 Option [C]: [Name]

[Repeat the table for each further option, or delete this subsection. Include a "do nothing" option when the current solution has a running cost that would continue.]

4. Discounting and net present value

The net present value of the cost stream of an option is

NPVcost=∑t=0TCt(1+r)t\text{NPV}_{\text{cost}} = \sum_{t=0}^{T} \frac{C_t}{(1+r)^t}

where CtC_t is the total cost in year tt, rr is the discount rate and TT is the last year of the horizon. With r=8%r = 8\% the discount factors are 1.00001.0000, 0.92590.9259, 0.85730.8573 and 0.79380.7938 for Years 0 to 3.

Year ttFactor 1/(1.08)t1/(1.08)^tOption A costOption A PVOption B costOption B PV
01.0000190190.09090.0
10.9259240222.2240222.2
20.8573240205.8249213.5
30.7938270214.3298236.6
Total940832.3877762.3

Example result: Option B has the lower NPV of cost by 832.3−762.3=70.0832.3 - 762.3 = 70.0 thousand, about 8% of Option A. Present values are computed with unrounded factors and then rounded to one decimal.

Cost per unit of value, where useful: [e.g. cost per GB ingested, per user, per transaction]. Example: Option B costs 877/(2×365×3)≈0.40877 / (2 \times 365 \times 3) \approx 0.40 thousand USD per TB ingested over the horizon, about USD 400 per TB.

5. Sensitivity analysis

ScenarioChangeOption A NPVOption B NPVLower cost
BaselineAs in sections 3 and 4832.3762.3B
Example: Vendor uplift 10% per yearB licences 180 / 198 / 218832.3785.9B
Example: Self-host needs 1.2 FTEA people 180 per year; Year 3 total 300909.6762.3B
Example: Discount rate 5%Factors 0.9524 / 0.9070 / 0.8638869.5801.8B
[Scenario][Change][ ][ ][ ]

Break-even: [state the value of the key input at which the options cost the same]. Example: holding everything else at baseline, Option B's Year 1 to 3 subscription would have to be about 70.0 / (0.9259 + 0.8573 + 0.7938) ≈\approx 27 thousand per year higher, that is roughly 207 instead of 180 in Year 1, before Option A becomes cheaper.

Qualitative factors not priced: [list]. Example: SaaS removes on-call burden for the platform; self-hosting keeps data in our own account, which simplifies some customer audits.

6. Assumptions

IDAssumptionValueSourceConfidence
AS-01Example: Loaded cost per platform engineer FTE-year150HR finance rate card YYYYHigh
AS-02Example: Log volume per day2 TB, flat90-day average from current platformMedium
AS-03Example: Vendor annual price uplift5%Draft contract clauseMedium
AS-04Example: Exit costs incurred in final yearYesArchitecture team estimateLow
AS-05Example: Discount rate8%Finance policyHigh
[AS-nn][Assumption][Value][Source][H/M/L]

7. Recommendation

Example: Choose Option B. It has the lower NPV of cost in every tested scenario (762.3 versus 832.3 thousand USD at baseline), removes a dedicated on-call rota, and the break-even subscription increase of about 15% gives a reasonable margin. Conditions: cap the annual uplift at 7% in the contract, and re-run this analysis if daily log volume exceeds 3 TB, because usage-based fees then dominate.

FieldValue
Recommended option[Option]
NPV of cost advantage[Amount and %]
Key conditions[Conditions]
Decision owner[@name]
Re-run trigger[Event or date]

8. Approval

RoleNameDecisionDate
Architecture owner[@name][Approved / Changes requested]YYYY-MM-DD
Finance partner[@name][Decision]YYYY-MM-DD
Budget holder[@name][Decision]YYYY-MM-DD

Standard and licence note

Based on common industry practice for total cost of ownership analysis and discounted cash-flow (net present value) comparison. Original text written for this collection; example figures are illustrative. This template is a format for analysis, not financial advice. Template licence: MIT.

Templat terkait