SaaS Gross Margin: Which Delivery Costs Belong in the Calculation?
Calculate SaaS gross margin with a transparent cost worksheet, separate infrastructure spread from profit, and investigate the workload behind revenue.
SaaS gross margin is the percentage of revenue left after the direct cost of delivering the service: (revenue − cost of revenue) ÷ revenue × 100. Use revenue and delivery costs from the same period. Hosting, embedded APIs, and direct customer support can matter far more than a software revenue headline suggests.
The difficult part is usually deciding what belongs in the cost bucket. A founder who reports only the server bill may describe a useful cash observation, but that is not automatically a complete gross-margin calculation. This worksheet makes those missing costs visible before you copy a business model.
Contents
What exactly does gross margin measure?
It measures the share of earned revenue remaining after the costs assigned to providing that service. It does not measure founder take-home pay, cash in the bank, or profit after every business expense.
ChartMogul’s definition identifies hosting, customer support, and delivery-related third-party fees as common SaaS costs of goods sold. Sales, marketing, and research and development are separate from that basic delivery calculation.
Suppose you collect an annual subscription payment today. Comparing all that cash with one month of hosting would exaggerate the apparent margin. Match the revenue earned for a period with the relevant costs for that period; keep cash collection as a separate view.
Write the period and accounting basis above your worksheet. “October delivery margin using monthly recognized revenue” is more informative than “90% margins.” If your records are cash-based estimates, say so and avoid presenting them as formal financial statements.

Which delivery costs should you investigate?
Map each cost to the work it supports before deciding where to classify it. Shared roles and infrastructure need a consistent allocation method, not whichever treatment makes the result look best.
| Cost | Question to ask | Working treatment to investigate |
|---|---|---|
| Production hosting | Does it run the customer service? | Delivery cost |
| Embedded model or data API | Is it consumed to fulfill customer requests? | Delivery cost |
| Direct support | Does it help existing customers use the service? | Delivery cost or documented allocation |
| Product development | Does it create or improve the product? | Usually separate research and development |
| Sales and advertising | Does it acquire customers? | Separate acquisition expense |
| Mixed customer-success role | Is the time delivery, renewal selling, or expansion? | Split by actual function where appropriate |
Stripe’s SaaS gross-margin explanation also emphasizes identifying service costs before applying the formula. Consistency matters when you compare periods or businesses.
For a solo founder, unpaid support time creates an additional operational question. Your books may not show a salary expense for those hours, but a buyer or future operator would still need someone to perform the work. Keep a separate replacement-labor estimate instead of silently calling the work free or mixing an imputed expense into reported accounts.
How does a worked calculation look?
Start with one period and a transparent cost list. The following figures are hypothetical, designed to show the arithmetic rather than represent a tested company.
| Monthly item | Amount |
|---|---|
| Revenue earned | $10,000 |
| Production hosting | $1,200 |
| Embedded API usage | $1,800 |
| Direct support allocation | $800 |
| Processing fees assigned to delivery | $300 |
| Other delivery tools | $100 |
| Total delivery costs | $4,200 |
| Gross profit | $5,800 |
| Gross margin | 58% |
The calculation is ($10,000 − $4,200) ÷ $10,000. If API spending increases by another $1,800 while revenue stays unchanged, delivery costs become $6,000 and gross margin falls to 40%.
That sensitivity is more useful than declaring that all software should have the same margin. It asks whether additional customer activity produces additional value, additional revenue, or only additional cost.
Now examine the actual service unit: documents processed, browser sessions, supported accounts, or another measurable workload. A monthly average can hide a small group of expensive users. Stripe’s SaaS business guide provides broader context on the recurring delivery model; your own usage and cost records must establish the unit economics.
What does the Browserless case actually prove?
It provides a founder-reported early revenue and infrastructure comparison, not a verified complete gross margin. That distinction is the point of using the case.
In the original interview linked from the Browserless record, Joel Griffith says the first customer paid $200 per month while the infrastructure bill was about $50. Using only those two numbers leaves $150, or 75% of revenue, after infrastructure.
Calling that “a 75% gross margin” would assume the $50 represented every relevant delivery cost. The interview excerpt does not establish that. Support labor, payment costs, other services, and the measurement period still need examination.
The safe conclusion is narrower: the first customer’s payment exceeded the infrastructure bill described by the founder. That can be an encouraging early observation without being a complete profitability statement.
The Parseur record supplies another useful workload question. Its founder describes moving extracted information from documents into business systems. If you investigate a similar product, count the complete delivery process, including failed documents and assistance, rather than pricing only the successful extraction step.

How do gross margin and contribution margin differ?
Gross margin uses the cost-of-revenue classification; contribution margin subtracts the variable costs defined for a particular operating decision. Net profit goes further by accounting for the business’s broader expenses.
The boundary matters when a service has both fixed and variable delivery costs. A production server commitment may sit in gross cost of revenue even if one extra customer barely changes the bill. An incremental contribution calculation asks a different question about the extra cost and revenue from that customer.
| Measure | Useful question | Frequent mistake |
|---|---|---|
| Gross margin | What remains after delivering the service? | Omitting direct support or embedded services |
| Contribution margin | What does another unit or customer contribute? | Treating all fixed costs as variable, or hiding variable costs |
| Net profit | What remains after the business’s expenses? | Calling gross profit founder income |
Do not compare percentages until the definitions match. A lower margin can accompany a stronger business if acquisition, retention, and operating requirements differ; a higher margin can coexist with losses after sales and development spending.
ChartMogul describes roughly 70–85% gross margin as typical for mature SaaS. That is contextual guidance, not a universal threshold for a new, service-heavy, or infrastructure-heavy product. This article does not use it as an investment recommendation.
How should you compare two startup ideas?
Compare the customer outcome, workload, and missing cost evidence before ranking the revenue figures. A $10,000 revenue case with unknown delivery cost is less informative than it first appears.
For each candidate, record:
- 1.Who pays and what they receive repeatedly.
- 2.The revenue measure, date, and source grade.
- 3.The service unit that consumes infrastructure or human time.
- 4.Known costs, unknown costs, and any labor assumption.
- 5.What happens when usage doubles without a price change.
- 6.The next observation needed to verify the economics.
Use the broader profitability guide for expenses beyond delivery and the SaaS metrics scorecard for retention and acquisition. If customers leave, the exit interview worksheet can help investigate the lost customer job; a margin calculation cannot explain it by itself.
A useful decision may be to narrow the workload, change the included usage, or avoid a model you cannot support. The purpose of the worksheet is to expose that decision before a large revenue headline persuades you to build the wrong business.
Frequently asked questions
What is the SaaS gross-margin formula?
Subtract cost of revenue from revenue, divide by revenue, and multiply by 100. Match the period and document which costs you included.
Is gross margin the same as profit margin?
Gross margin is one profit measure, but it excludes expenses outside delivery cost. It is not the same as net profit or the founder’s personal income.
Should unpaid founder work count?
Track it separately as an operational and replacement-cost assumption. Do not silently add imputed labor to reported accounts or assume unpaid work has no economic cost.
What is a good SaaS gross margin?
It depends on the delivery model, stage, and consistent cost definitions. Use relevant benchmarks as context and investigate your own workload, support, and infrastructure economics.