Cloud Cost Review Template (FinOps)
Cloud cost review by FinOps phase: spend by service and team, unit economics, anomalies, savings, commitments, tagging, actions
How to use: Use it monthly or quarterly to review cloud spend with engineering and finance. Reconcile the total with the invoice and fill the Inform section before discussing savings. The main pitfall is listing opportunities without owners, estimates and decisions.
Preview
Cloud Cost Review: [Organisation or business unit] [Period]
Periodic review of cloud spend organised around the three FinOps Framework phases: Inform (visibility and allocation), Optimize (rates and usage) and Operate (governance and continuous improvement). Covers spend summary, cost by service and team, unit economics, anomalies, optimisation opportunities, commitments, tagging compliance and actions. Replace every
[bracketed]value and every row marked Example.
| Field | Value |
|---|---|
| Review ID | [FCR-2026-10] |
| Period | [YYYY-MM-DD to YYYY-MM-DD] |
| Scope | [Accounts, subscriptions or projects included] |
| Cloud providers | [Provider A], [Provider B] |
| Currency | [USD], amounts excluding tax, after credits |
| Data source | [Billing export, cost tool], extracted YYYY-MM-DD |
| Prepared by | [@finops-analyst] |
| Reviewed with | [Engineering leads, finance, product] |
| Status | [Draft / Final] |
1. Summary
| Metric | This period | Previous period | Change | Budget | Variance to budget |
|---|---|---|---|---|---|
| Total cloud spend | Example: 182,400 | 168,900 | +8.0% | 175,000 | +4.2% |
| Cost per 1,000 orders | Example: 3.42 | 3.61 | -5.3% | 3.50 | -2.3% |
| Commitment coverage | Example: 64% | 58% | +6 pts | 70% target | -6 pts |
| Tagged (allocatable) spend | Example: 91% | 87% | +4 pts | 95% target | -4 pts |
| Identified savings (annualised) | Example: 245,000 | n/a | n/a | n/a | n/a |
Key messages: [Example: "Spend grew 8% while orders grew 14%, so unit cost fell 5%. Data platform storage is the main driver of the overrun. The four approved or pending opportunities in section 4 could save about 18,500 per month."]
2. Inform: visibility and allocation
2.1 Spend trend
| Month | Compute | Storage | Database | Network | Other | Total |
|---|---|---|---|---|---|---|
| Example: [Month -2] | 71,200 | 31,800 | 39,500 | 12,100 | 9,600 | 164,200 |
| Example: [Month -1] | 72,900 | 33,400 | 40,100 | 12,600 | 9,900 | 168,900 |
| Example: [This month] | 74,300 | 41,700 | 41,200 | 14,800 | 10,400 | 182,400 |
2.2 Cost by service
| Service | This period | Previous | Change | Share of total | Comment |
|---|---|---|---|---|---|
| Example: Virtual machines | 58,100 | 57,300 | +1.4% | 31.9% | Stable |
| Example: Managed Kubernetes | 16,200 | 15,600 | +3.8% | 8.9% | Expected growth |
| Example: Object storage | 29,900 | 22,100 | +35.3% | 16.4% | Analytics raw data retention |
| Example: Managed database | 41,200 | 40,100 | +2.7% | 22.6% | Stable |
| Example: Data transfer | 14,800 | 12,600 | +17.5% | 8.1% | Cross-region replication added |
| [Service] | [Amount] | [Amount] | [%] | [%] | [Comment] |
2.3 Cost by team or product
| Team / product | Owner | This period | Previous | Change | Budget | Status |
|---|---|---|---|---|---|---|
| Example: Checkout | [@lead] | 48,300 | 45,900 | +5.2% | 50,000 | On track |
| Example: Data platform | [@lead] | 61,700 | 50,800 | +21.5% | 52,000 | Over budget |
| Example: Shared platform | [@lead] | 55,800 | 55,200 | +1.1% | 57,000 | On track |
| Example: Unallocated (untagged) | n/a | 16,600 | 17,000 | -2.4% | n/a | Reduce |
| [Team] | [@lead] | [Amount] | [Amount] | [%] | [Amount] | [Status] |
Shared costs are allocated by [method, for example "proportional to each team's direct compute spend"].
2.4 Unit economics
Unit cost links spend to business value:
where is allocated cloud cost and the number of business units delivered (orders, active users, API calls).
| Unit metric | Cost | Units | Unit cost | Previous | Change | Target |
|---|---|---|---|---|---|---|
| Example: Cost per 1,000 orders | 182,400 | 53.3 M orders | 3.42 | 3.61 | -5.3% | 3.50 |
| Example: Cost per monthly active user | 182,400 | 1.92 M | 0.095 | 0.098 | -3.1% | 0.090 |
| [Metric] | [Cost] | [Units] | [Value] | [Value] | [%] | [Target] |
2.5 Anomalies
| ID | Date detected | Service / account | Expected | Actual | Cause | Status |
|---|---|---|---|---|---|---|
| AN-01 | YYYY-MM-DD | Example: Object storage, analytics account | 800 per day | 1,450 per day | Retention policy removed during migration | Fixed YYYY-MM-DD |
| AN-02 | YYYY-MM-DD | Example: GPU instances, sandbox | 0 | 2,300 total | Test cluster not deleted | Fixed; budget alert added |
| [AN-nn] | YYYY-MM-DD | [Service] | [Amount] | [Amount] | [Cause] | [Status] |
3. Commitments and reservations
| Commitment | Type | Term | Expiry | Monthly value | Utilisation | Coverage of eligible usage |
|---|---|---|---|---|---|---|
| Example: Compute savings commitment | Spend-based | 1 year | YYYY-MM-DD | 32,000 | 98% | 61% |
| Example: Database reserved instances | Resource-based | 3 years | YYYY-MM-DD | 18,500 | 100% | 72% |
| [Commitment] | [Type] | [Term] | YYYY-MM-DD | [Amount] | [%] | [%] |
Effective savings rate across the estate:
Example: ESR this period = 23% (previous 20%). Expiring in the next 90 days: [list], decision required by YYYY-MM-DD.
4. Optimize: opportunities
| ID | Opportunity | Lever | Est. monthly saving | Effort | Confidence | Owner | Decision |
|---|---|---|---|---|---|---|---|
| OP-01 | Example: Restore 90-day lifecycle policy on analytics raw data | Usage | 7,200 | Low | High | [@name] | Approved |
| OP-02 | Example: Rightsize 42 VMs below 15% peak CPU for 30 days | Usage | 4,900 | Medium | Medium | [@name] | Approved |
| OP-03 | Example: Increase compute commitment coverage from 61% to 75% | Rate | 3,800 | Low | High | [@name] | Pending finance |
| OP-04 | Example: Schedule non-production clusters off outside 07:00 to 20:00 weekdays | Usage | 2,600 | Low | High | [@name] | Approved |
| OP-05 | Example: Move cross-region replication to compressed batches | Architecture | 1,900 | High | Low | [@name] | Investigate |
| [OP-nn] | [Opportunity] | [Rate / Usage / Architecture] | [Amount] | [L / M / H] | [L / M / H] | [@name] | [Decision] |
Total approved savings: [amount] per month, [amount] annualised.
5. Operate: governance and tagging
5.1 Tagging compliance
Required tags: cost-center, team, environment, service.
| Account / project | Spend | Spend with all required tags | Compliance | Previous | Owner |
|---|---|---|---|---|---|
| Example: prod-core | 92,000 | 89,200 | 97.0% | 95.1% | [@name] |
| Example: analytics | 48,600 | 41,800 | 86.0% | 79.4% | [@name] |
| Example: sandbox | 9,800 | 6,100 | 62.2% | 60.0% | [@name] |
| [Account] | [Amount] | [Amount] | [%] | [%] | [@name] |
5.2 Governance controls
| Control | Status | Notes |
|---|---|---|
| Budgets and alerts per team at 80% and 100% | Example: In place for 9 of 11 teams | Add for two remaining teams |
| Anomaly detection with daily notification | In place | Threshold 30% above 7-day baseline |
| Tag policy enforced at resource creation | Partial | Enforced in prod, warning only in sandbox |
| Sandbox auto-expiry | Not in place | See action A-04 |
| [Control] | [Status] | [Notes] |
6. Actions and owners
| ID | Action | Related | Owner | Due | Expected impact | Status |
|---|---|---|---|---|---|---|
| A-01 | Example: Reapply lifecycle policy and add policy-as-code check | OP-01, AN-01 | [@name] | YYYY-MM-DD | -7,200 per month | In progress |
| A-02 | Example: Rightsize VMs in two waves with performance check | OP-02 | [@name] | YYYY-MM-DD | -4,900 per month | Not started |
| A-03 | Example: Present commitment purchase to finance | OP-03 | [@name] | YYYY-MM-DD | -3,800 per month | Not started |
| A-04 | Example: Enforce tags and auto-expiry in sandbox | 5.1, 5.2 | [@name] | YYYY-MM-DD | Compliance > 90% | Not started |
| [A-nn] | [Action] | [Ref] | [@name] | YYYY-MM-DD | [Impact] | [Status] |
6.1 Actions from previous review
| ID | Action | Outcome | Realised saving |
|---|---|---|---|
| [A-nn] | [Action] | [Done / Partly / Dropped and why] | [Amount per month] |
7. Forecast and next review
| Item | Value |
|---|---|
| Forecast next period (before actions) | [Amount] |
| Forecast next period (after approved actions) | [Amount] |
| Main assumptions | [Example: "orders grow 4%; no new regions"] |
| Next review date | YYYY-MM-DD |
| Attendees | [Names or roles] |
Based on the publicly described FinOps Framework phases (Inform, Optimize, Operate), summarised in original wording. This template is original text written for this collection and is not affiliated with the FinOps Foundation. Template licence: MIT.
Related templates
Access Review Template
Periodic access audit – keep/modify/revoke
OperationsCapacity Plan Template
Capacity plan: demand forecast with growth model, utilisation, headroom policy, resource models, bottlenecks, scaling, lead times, cost
OperationsIT Disaster Recovery Plan Template (NIST SP 800-34)
IT disaster recovery plan: roles, contact tree, BIA with RTO/RPO/MTD, activation flow, recovery procedures, reconstitution, exercises