∞Direct answer
Direct answer
Ask for earned sales and the full cost to serve them. Use the same month, product and currency. Check model bills, hosting, tools and direct human work. Ask finance to explain what belongs in each cost group. A margin that counts only model calls can miss real costs. Keep reported results and estimates apart.
Agree what gross margin includes
Gross profit is earned sales less the direct cost to deliver them. Gross margin is that profit as a share of sales. It is not net profit or cash in the bank. Net profit also reflects other costs. Stripe gives this gross margin formula: (sales − direct delivery costs) ÷ sales × 100. [1]
Ask for the firm's exact cost rule, not just a slide. SaaS means software sold as a service. Its delivery costs may include hosting and support. AI services may also need model calls and human checks. Ask finance to show which costs it counts and why. Keep research, sales and other costs clear. Do not move all staff pay into one group. [1]
Due diligence means checks before investing. This guide tests one part: the cost to serve. A model bill alone is not a full review. Use the firm's books and trained local advisers for its accounts. No single margin proves that a firm is a good deal.
- Name the product, month, currency and sales basis.
- State the direct cost rule and who approved it.
- List excluded costs and any shared-cost split.
- Keep gross margin apart from net profit and cash.
Build a small cost proof pack
Ask for a dated sales total, cost ledger and vendor bills. A ledger is a record of money entries. Link each cost to its source. Show which month the service was used, not just when it was paid. Check costs billed late with finance. Keep one-off setup work apart from ongoing service work.
Model inference means using AI to make an output. A task may need more than one call. Tokens are small pieces of text, not whole tasks. OpenAI lists rates for input, output and reused input. It also lists tool and storage charges. Other vendors use their own rules. Check the actual model, contract and bill, not a copied price list. [2]
People may still be part of delivery. In its 2020 view, a16z described cloud costs and people helping AI systems work. That is an old view of a cost issue, not a current margin benchmark. Ask who checks results, fixes failed work or helps each buyer. Use paid work records or mark time estimates as estimates. [3]
- Tie model, cloud and tool costs to bills and usage logs.
- Check direct review work, its hours and pay basis.
- Split shared bills by a stated rule; do not count twice.
- Show cloud credits and the cost without those credits.
Bridge model-only margin to full delivery costs
This case is made up. It is not a real startup or model price. One month's earned sales are USD 10,000 for one paid service. Model costs are USD 2,000. Hosting and tools cost USD 1,000. Paid direct review work costs USD 1,000. Assume these costs are separate and finance accepts this cost rule. There are no credits, setup fees, taxes or refunds in this case.
Counting only model costs gives (10,000 − 2,000) ÷ 10,000 × 100 = 80%. That is a partial view. Full delivery costs are USD 4,000. Gross profit is USD 6,000. Gross margin is (10,000 − 4,000) ÷ 10,000 × 100 = 60%. The gap is 20 percentage points, not 20 percent. This uses the formula in Stripe's guide. [1]
Ask for this bridge from the slide to the books. Name each added cost and its source. If a cost is shared, show how it was split. Keep the firm's gross margin beside any revised view. Do not hide or replace its figure. Ask finance to check the cost rule and any gaps. The case's 60% is not a pass mark for other firms.
Check costs per accepted task, not just per call
Define an accepted task before you divide. It might be one report that meets the buyer's agreed test. Keep trial work and paid work distinct. Give each task one ID, so retries are not new tasks. Include the billed cost of failed attempts and retries that served this product. Do not drop them just because the output was not accepted.
In the made-up case, 1,000 paid tasks meet the agreed test. Full delivery cost is USD 4,000. Cost per accepted task is 4,000 ÷ 1,000 = USD 4. This is an average for that month. It is not the added cost of the next task. Some costs, like fixed hosting fees, may not rise with each task.
Compare light and heavy use with the same test. A few costly tasks can hide in an average. a16z's 2025 view notes that task costs and plan types can differ. Ask for proof from actual use, not a claim that cheap models suit every task. Keep the buyer's quality and safety needs in the test. [4]
- State what accepted means and who checks it.
- Count distinct tasks, not retries or model calls.
- Keep failed-work costs in the right product total.
- Review high-cost tasks as well as the average.
Test cost changes without calling them forecasts
Run one change at a time. First, remove short-term cloud credits in a separate cost view. Then test more use under the same price plan. Finally, test more retries or human review. State each input and which other costs stay fixed. A stress case is an 'if' test, not a forecast.
For example, raise only the model bill in the made-up case. If it becomes USD 3,000, total delivery cost is USD 5,000. With sales still USD 10,000, gross margin is 50%. This does not claim that bills will rise. Nor does it assume sales and all costs grow at the same rate.
Ask what would improve the result and how to prove it. A cheaper route must still meet the same quality test. Do not remove needed human checks just to lift a margin. a16z's 2025 article argues that a low margin today need not last. That is an investor view, not a promise. Test price changes, buyer value and whether buyers stay. [4]
Use AI to trace costs, then let people sign off
AI can help find line items and draft a cost note. Give it only files you may share. Require a source and date for each figure. Ask it to mark missing bills or time records as gaps. It must not invent a cost, pay rate or credit expiry date. Use code or a sheet for sums and formulas.
Have finance open the sources and review the cost groups. Use plain names for each estimate or revised view. Add a reviewer, open points and a date to the note. If the firm's figures differ, keep both with their basis. AI should not approve the accounts or decide whether to invest. A linked bill still needs a human check.
For pre-seed firms with no sales, gross margin may not yet be useful. Do not divide by zero or invent sales. Track test costs with clear scope instead. For seed to Series A firms, compare like periods and products. This is not an audit or investment, legal or tax advice. Seek qualified local advice for the actual accounts and deal.
FAQ
Frequently asked questions
Is the model bill enough to check AI gross margin?
No. Hosting, tools and direct human work may also matter. Check the firm's cost rule and source files with finance. A model-only view can help, but it is not the full cost to serve. [1] [3]
Is 60% a good gross margin for an AI startup?
There is no pass mark in this guide. The 60% is a made-up case. Stage, product, cost rule and buyer value all matter. Check the figures, and test how they could change. One figure is not a reason to invest. [4]
Should failed tasks count in delivery costs?
Keep their costs when they were part of serving the product. Do not count a retry as another accepted task. Use a clear acceptance test and avoid counting the same cost twice. Finance should confirm the cost split.
Can I use public model prices instead of bills?
Use public prices to check the billing basis, not as proof of a firm's actual spend. Model, tier, tools, credits and contract terms can change the bill. If a bill is missing, mark the gap. Do not pass off an estimate as a reported cost. [2]
REF
Sources
- 1
- 2
- 3
a16z — Martin Casado and Matt Bornstein
The New Business of AI — 16 February 2020 ↗ - 4
a16z — Sarah Wang and Martin Casado
Questioning Margins is a Boring Cliche… — 21 August 2025 ↗
