Skip to main content
guide14 min read

Chef's Kitchen Rule #47: Know the Cost of Every Dish — A Complete Guide to Cloud Unit Economics

CloudCostChefs TeamCloudCostChefs Team
Blaze
Blaze says:Stop reporting total cloud spend to leadership. Start reporting cost per customer instead. A growing bill that serves proportionally more customers is a success story, not a problem.

Chef's Kitchen Rule #47: Know the Cost of Every Dish

A restaurant that only tracks its total food bill is headed for trouble. What matters is cost per plate. Cloud is the same. Your total AWS bill going up isn't necessarily bad — if your cost per customer is going down. That's unit economics, and it's the metric that separates FinOps teams that optimize from FinOps teams that just report.

Your Cloud Bill Is a Terrible Metric

Every month, FinOps teams report the cloud bill to leadership. It went up. Panic. It went down. Celebration. But neither reaction makes sense without context.

A $2M monthly cloud bill serving 10 million customers costs $0.20 per customer. A $500K monthly bill serving 500,000 customers costs $1.00 per customer. Which company is more efficient? The one spending four times more in absolute terms.

This is unit economics — the practice of measuring cloud cost relative to business output. The FinOps Foundation defines it as “a system of profit maximization based on objective measurements of how well your organization is performing” by tying cloud spend to marginal cost and marginal revenue. It's the single most important FinOps capability for connecting infrastructure decisions to business outcomes.

What Most Teams Report

  • “Cloud spend increased 18% this quarter”
  • “We're over budget by $47K”
  • “EC2 costs are up 23%”
  • Result: Cost-cutting pressure, no context

What Great Teams Report

  • “Cost per customer dropped from $0.32 to $0.24”
  • “Cost per transaction is $0.003, down 15% QoQ”
  • “Infrastructure COGS is 14% of revenue, on target”
  • Result: Strategic decisions, aligned with growth

Why Unit Economics Is the #1 FinOps Capability in 2026

Three forces are making unit economics non-negotiable:

AI and GPU Spend Changes the Game

AI capabilities like inference endpoints, embedding models, and GPU instances create spend at the feature level. Traditional cost centers don't capture this. You need to know the cost per AI inference, per feature used, per customer served — not just the total GPU bill.

Boards Want Margin, Not Bills

CFOs and investors care about gross margin and COGS as a percentage of revenue. Best-in-class SaaS companies achieve 75–85% gross margins. Your cloud infrastructure is a direct input to COGS — unit economics tells leadership whether infrastructure spend is scaling efficiently or eroding margins.

Cloud Costs Are Composable and Dynamic

You're not paying for VMs anymore. You're paying for data egress, API calls, managed services, reserved capacity, spot instances, and per-invocation pricing — all layered together. Without unit metrics, tracing costs to their business origin is nearly impossible.

The Numbers: What Good Looks Like

75–85%

Gross margin target for best-in-class SaaS

Cloud infra should be 15–25% of COGS

92%+

Cloud Efficiency Rate (CER) for elite teams

Ratio of productive spend to total spend

15–20%

Infrastructure as % of revenue (healthy SaaS)

Above 25% signals scaling inefficiency

70%+

Gross margin floor for VC-backed SaaS

Below 65% raises serious investor concerns

Step 1: Pick Your Unit of Value

The unit you choose defines the lens through which every cost decision gets made. Choose the unit that maps to what your business charges for or delivers.

Business ModelPrimary UnitExample Metric
SaaS (seat-based)Customer / Tenant$0.24/customer/month
E-commerce / FintechTransaction$0.003/transaction
API / PlatformAPI Call$0.0001/API call
Media / StreamingStream hour$0.02/stream hour
AI / ML PlatformInference$0.008/inference request
Internal PlatformEnvironment / Deploy$145/environment/month

Tip: The FinOps Foundation recommends cost per customer as the starting metric for most organizations. It's universally understood, easy to benchmark, and directly ties to revenue.

Step 2: Allocate Costs Down to Your Unit

This is where most teams stall. You need to split your total cloud bill into costs attributable to each unit. The rule is simple: if you can't tag it, you can't measure it.

Choose Your Allocation Strategy

Account-Based

One AWS account = one cost center. Simplest approach.

Effort: Low

Best for: Orgs with strict account-per-team structure

Tag-Based

Resources tagged with team, product, customer, or environment.

Effort: Medium-High

Best for: Most organizations (recommended)

Usage-Based

Telemetry data maps actual resource consumption to units.

Effort: High

Best for: Multi-tenant platforms, precise COGS

Minimum Viable Tags for Unit Economics

Enforce these tags on every resource using AWS Config Rules or Service Control Policies (SCPs). Without them, your unit cost model has blind spots.

Service or Application

Maps resources to the product or service they support. This is your primary cost grouping.

Environment

Separates production (COGS) from dev/staging (R&D expense). This distinction matters for gross margin calculations.

Team or CostCenter

Links spend to the team that owns it. Enables showback reports and accountability.

Customer or Tenant (if multi-tenant)

For dedicated resources per customer (dedicated RDS, isolated ECS clusters), tag directly. For shared resources, allocate proportionally via usage telemetry.

# Activate cost allocation tags in AWS (Management Account) aws ce update-cost-allocation-tags-status \ --cost-allocation-tags-status \ TagKey=Service,Status=Active \ TagKey=Environment,Status=Active \ TagKey=Team,Status=Active \ TagKey=CostCenter,Status=Active # Enforce tagging with AWS Config Rule aws configservice put-config-rule --config-rule '{ "ConfigRuleName":"required-tags", "Source": { "Owner":"AWS", "SourceIdentifier":"REQUIRED_TAGS" }, "InputParameters":"{ \"tag1Key\": \"Service\", \"tag2Key\": \"Environment\", \"tag3Key\": \"Team\" }" }'

Step 3: Track the Ratio, Not the Total

The absolute cloud bill is noise. The ratio of cost to business output is signal. Here's how to calculate and track it:

The Core Formulas

Unit Cost = Total Cloud Spend (for service) / Number of Units

Unit Margin = Revenue per Unit − COGS per Unit

Cloud COGS % = Production Infrastructure Cost / Revenue × 100

Real Example: SaaS Platform Tracking Cost Per Customer

MonthCloud SpendCustomersCost/CustomerTrend
January$180,000450,000$0.400
February$195,000520,000$0.375-6.3%
March$210,000610,000$0.344-8.3%
April$240,000680,000$0.353+2.6%

The total bill went up every month. But the unit cost was improving — until April, when it ticked up despite customer growth. That's the signal. Something changed: maybe a new feature launched unoptimized, or an auto-scaling policy was misconfigured. The total bill alone wouldn't have caught it.

Step 4: Set Unit Cost Targets Per Service

Just like a chef knows the food cost target for each menu item (protein at 30%, sides at 15%), set cloud cost targets per service per unit. Review monthly.

ServiceCurrent Unit CostTarget Unit CostAction to Get There
Auth Service$0.008/login$0.005/loginRightsize Lambda memory, cache tokens
API Gateway$0.004/request$0.003/requestImplement response caching
Data Pipeline$1.20/GB ingested$0.80/GB ingestedMove to Graviton instances, Spot for batch
AI Inference$0.012/request$0.006/requestBatch inference, smaller model for simple queries

Set targets based on historical baselines, not guesses. Pull 3–6 months of data, calculate P50 and P90 unit costs, then set your target between P25 and P50. Overly aggressive targets create gaming behavior; realistic targets drive genuine optimization.

Step 5: Build Your Unit Economics Dashboard

You need a living dashboard, not a monthly spreadsheet. Here's what to include and where to source the data:

ACost Data (from AWS)

  • AWS Cost and Usage Report (CUR) — the source of truth. Export to S3, query with Athena. Group by your cost allocation tags.
  • Cost Explorer API — for quick lookups and trend data. Filter by tag, service, or linked account.

BBusiness Data (from your systems)

  • Active customer count — from your billing system, CRM, or auth provider.
  • Transaction volume — from your application metrics or database.
  • Revenue — from your finance system (for COGS % and margin calculations).

CJoin Them Together

Use a daily or weekly ETL job that joins CUR data with business metrics. Tools like Grafana, Looker, or even a Google Sheet pulling from Athena work fine for v1.

-- Athena: Weekly cost per customer SELECT DATE_TRUNC('week', line_item_usage_start_date) AS week, SUM(line_item_unblended_cost) AS total_cost, -- Join with business metrics table b.active_customers, SUM(line_item_unblended_cost) / b.active_customers AS cost_per_customer FROM cur_database.cur_table c JOIN business_metrics b ON DATE_TRUNC('week', c.line_item_usage_start_date) = DATE_TRUNC('week', b.report_date) WHERE resource_tags_user_environment = 'production' GROUP BY 1, 3 ORDER BY 1 DESC;

The Maturity Journey: Crawl → Walk → Run

Don't try to build a perfect unit economics model on day one. The FinOps Foundation's maturity model applies here:

1

Crawl: 3 Metrics, Monthly Review

  • Track cost per customer, cost per transaction, and cost per environment
  • Use account-level or high-level tag grouping
  • Shared costs allocated as a flat % (shared infra split evenly)
  • Monthly spreadsheet or basic dashboard
2

Walk: Service-Level Unit Costs, Weekly Review

  • Unit costs tracked per microservice or product feature
  • Tagging compliance at 90%+ with enforcement
  • Showback reports to engineering teams with unit cost trends
  • Automated dashboard (CUR + Athena + Grafana/QuickSight)
3

Run: Real-Time Unit Economics, Automated Guardrails

  • Unit costs tracked per customer tier, per feature, per deployment
  • Automated alerts when unit cost exceeds target by >10%
  • Unit cost integrated into CI/CD — deploys flagged if cost-per-request increases
  • COGS calculated accurately enough to influence pricing strategy

The Hard Part: Shared Costs

Not every cost maps cleanly to a unit. Load balancers, NAT Gateways, shared databases, platform services — these serve multiple teams, products, and customers. Here's how to handle them:

Proportional allocation

Split shared costs by usage weight. If Service A generates 70% of requests through a load balancer and Service B generates 30%, split the ALB cost 70/30. Use CloudWatch metrics or access logs to determine ratios.

Even split for platform costs

For truly shared infrastructure (VPC, CloudTrail, GuardDuty), split evenly across teams or add as a “platform tax” percentage on top of direct costs. Keep it transparent.

Don't over-engineer it

A 90% accurate allocation model you actually use beats a 99% accurate model that takes 6 months to build and nobody trusts. Start with reasonable approximations and refine over time.

Chef's Pro Tip

Start with just 3 metrics — cost per customer, cost per transaction, and cost per environment. Don't boil the ocean. One clean unit metric beats 50 messy ones. You can always add granularity later; you can't recover the months you spent building a model nobody uses.

Use showback first (sharing cost data with teams) before moving to chargeback (billing teams for their usage). Most organizations need 6–12 months of showback to build trust in the numbers before teams will accept chargeback.

Quick Start: Your First Unit Economics Sprint

Get from zero to a working unit cost metric in one sprint:

1
Day 1: Choose your primary unit (customer, transaction, or API call). Pick the one your CEO already talks about.
2
Day 2–3: Activate cost allocation tags in AWS Billing. Enforce Service, Environment, and Team on all new resources.
3
Day 4–5: Pull 3 months of CUR data. Calculate total production cost per month. Divide by your unit count from the same period.
4
Day 6–7: Plot the trend. Set a target (10–15% improvement over current baseline). Share with your team lead.
5
Day 8–10: Automate data collection. Schedule a weekly CUR query via Athena. Push results to a shared dashboard or Slack channel.
6
Monthly: Present unit cost trends to leadership alongside the total bill. Frame every conversation as “cost per [unit] is trending [direction]” instead of “we spent $X.”

The Bottom Line

Your CFO doesn't care about your cloud bill. They care about margin. A growing cloud bill that powers proportionally faster business growth is a success story. A shrinking cloud bill that masks declining efficiency per customer is a warning sign.

Unit economics gives you the language to have that conversation. It transforms FinOps from a cost-reporting function into a strategic business capability that directly influences pricing, product decisions, and gross margin.

Know the cost of every dish. Start with cost per customer this week. Your CFO — and your investors — will thank you.

#finops#unit-economics#cost-per-customer#cost-allocation#tagging#cogs#saas-metrics#showback