A SaaS customer’s subscription price is not the same as the revenue the business keeps. Payment processing, metered infrastructure, third-party APIs, storage, and other customer-driven expenses reduce the amount available to cover fixed costs and profit. A useful first unit-economics measure is monthly contribution per customer: revenue attributable to that customer minus the variable costs of serving and collecting payment from them.
The exact calculation depends on your payment contract, product architecture, and what you classify as a variable cost. Treat the worked numbers below as an illustrative model, not a quote or a benchmark.

The per-customer contribution formula#
Contribution per customer = monthly revenue per customer − payment fees − variable service costs.
Variable service costs can include cloud compute, storage, bandwidth, model or API calls, metered messaging, and support costs that rise with customer activity. Include only costs that are genuinely attributable to serving the customer in this calculation, and document any allocation method for shared resources.
Contribution margin expresses that contribution as a share of revenue: contribution per customer ÷ monthly revenue per customer × 100. This is not necessarily the same as reported gross margin. The result depends on which costs your accounting policy includes in cost of revenue and whether customer acquisition, R&D, and other operating expenses are excluded.
Calculate payment-processing fees#
Payment fees may combine a percentage of the charge with a fixed amount per successful transaction. The applicable rate can vary by provider, country, payment method, card type, currency conversion, and contract. Stripe’s published US standard pricing page lists 2.9% + $0.30 per successful domestic-card transaction; check the current pricing page for the market and payment method you actually use. Do not apply a US rate to a different country without verification.
For a single illustrative $49 monthly charge using that example rate: percentage fee: $49 × 2.9% = $1.421; fixed fee: $0.30; total processing fee: $1.721, or about 3.51% of the $49 charge. The effective percentage rises on smaller charges because the fixed fee takes a larger share. If customers make multiple billable transactions in a month, model the fixed component for each transaction rather than assuming one fee per account.
Also check whether the original processing fee is returned after refunds; Stripe’s pricing page says processing fees from the original payment are not returned for its standard pricing. Stripe’s pricing page documents this caveat.
Add customer-driven service costs#
Next, estimate the costs that change with usage. Separate these from fixed or step-fixed costs such as a baseline database, minimum cloud commitments, or a team member’s salary.
| Cost driver | Possible unit | What to measure |
|---|---|---|
| Compute and jobs | Runtime, CPU, or job count | Actual usage by tenant or workload |
| Storage | GB-month or stored objects | Average stored volume and retention |
| Network | GB transferred or requests | Egress and request volume |
| AI or external APIs | Tokens, calls, or task | Provider-billed usage per customer |
| Messaging | SMS, email, or event | Billable volume and destination mix |
| Support | Tickets or handling time | Only if a defensible variable allocation is available |
For shared infrastructure, a cost-allocation rule is an estimate, not a direct invoice. Choose a measurable driver, apply it consistently, and revisit it when the architecture or customer mix changes. AWS cost guidance recommends cost-allocation tagging and using metrics to understand where spending occurs; see the AWS cost optimization guidance.
Avoid dividing the entire cloud bill by the number of customers and calling the result variable cost without checking the underlying cost behavior. That average can be useful for planning, but it can misstate the incremental cost of a new customer when much of the bill is fixed or shared.
Worked example: a $49 subscription#
Assume one customer pays $49 once per month, the illustrative US domestic-card processing fee is 2.9% + $0.30, and that customer’s attributable variable service costs are estimated at $4.50 per month.
| Item | Monthly amount |
|---|---|
| Subscription revenue | $49.00 |
| Payment-processing fee | −$1.72 |
| Variable service costs | −$4.50 |
| Contribution per customer | $42.78 |
| Contribution margin | 87.3% |
These figures are rounded. The result excludes fixed operating costs, customer acquisition costs, taxes, refunds, discounts, failed payments, currency conversion, and any additional transactions. It should not be presented as gross margin unless the cost categories match the company’s gross-margin definition.
If the same customer’s usage rises and attributable service costs increase from $4.50 to $18.00, contribution falls to $29.28 and contribution margin falls to about 59.8%, assuming the same revenue and processing fee. This illustrates why a flat subscription price can become less profitable as high-usage customers grow.
Turn the calculation into a decision#
- Does the price cover normal usage? Estimate costs at low, typical, and high usage rather than relying on a single average.
- Which customers or features create cost spikes? Compare cost drivers by plan, tenant, workflow, and usage cohort where the data supports it.
- What happens when volume changes? Recalculate with more transactions, more API calls, different payment methods, and different usage mixes.
If usage is difficult to predict, pricing can combine a base subscription with included usage and an overage rate. Stripe documents several recurring and usage-based patterns, including flat-rate, per-seat, tiered, and usage-based pricing, in its recurring pricing documentation. The model should be selected for the product and customer experience—not just to transfer every cost fluctuation to the customer.
Common mistakes#
- Using a provider’s headline fee as a universal rate. Fees vary by region, payment method, contract, and currency.
- Forgetting the fixed fee per transaction. This is especially material for low-priced plans and frequent small charges.
- Treating all cloud spending as variable. Distinguish baseline capacity, commitments, shared services, and incremental usage.
- Using average cost as marginal cost. Average cost helps allocate a bill; marginal cost estimates the additional expense of serving one more unit or customer.
- Ignoring usage distribution. A few heavy users can dominate API or infrastructure costs even when the average customer appears profitable.
- Mixing contribution margin with gross margin. State which costs are included and use the same definition when comparing periods or plans.
Connect contribution to break-even#
Contribution per customer helps estimate how many customers are needed to cover fixed costs. If monthly fixed costs are $12,000 and contribution per customer is $42.78, the simple break-even estimate is $12,000 ÷ $42.78 = 280.5, rounded up to 281 customers. This assumes the same contribution for each customer and ignores changes in costs, churn, taxes, and customer mix. Use the SaaS Pricing Calculator to explore pricing and cost assumptions. Treat any calculator output as a model of the inputs provided, not as a substitute for your processor invoices, cloud usage records, or accounting definitions.
Limitations and next steps#
A per-customer model is only as reliable as its cost attribution. Start with actual processor fees and provider bills, choose explicit allocation drivers for shared costs, and label assumptions. Reconcile estimates against monthly totals so the sum of customer-level allocations can be compared with the source invoices.
For a useful review cadence, track contribution per customer, contribution margin, usage per account, payment fees as a percentage of revenue, and the distribution—not just the average—of variable costs. Revisit the model when pricing, provider contracts, architecture, or customer behavior changes.
References#
Stripe — Pricing & Fees. Published standard pricing and fee caveats; rates depend on the actual market and payment method.
AWS — Choosing a cost management strategy. Cost allocation and usage visibility guidance.
Stripe Docs — Recurring pricing models. Overview of flat-rate, per-seat, tiered, and usage-based subscription patterns.



