How-to · Unit economics

AI SaaS Margins: Why Your Best Customer Might Be Your Worst

Traditional SaaS runs at 80 to 90 percent gross margin. AI SaaS is structurally closer to 50 to 60 percent on the same revenue. If you don’t understand why, you will keep wondering why your bank balance refuses to grow.

This is about AI SaaS margins: what they really are, why they look so different from your classic B2B SaaS playbook, and how to figure out if your business is actually making money under the hood.

The structural problem with AI SaaS margins

A traditional SaaS company sells access to a database. Per-user marginal cost is approximately zero. You add 1,000 customers, you don’t add 1,000 servers.

An AI SaaS company resells inference. Per-user marginal cost is whatever OpenAI charges that user. You add 1,000 customers, you add 1,000 customers worth of API bills.

The unit economics flip. Revenue is still flat per user (the subscription), but cost is now genuinely variable. This is why a 30 percent gross margin AI product can still die while a 30 percent gross margin traditional SaaS would be celebrated.

Why your power users hurt you

In normal SaaS, your most engaged user is your best customer. They use the product 10x more, they are going to upgrade, they will refer friends.

In AI SaaS, your most engaged user is often your worst customer. They use your AI feature 50 times a day on the $9 plan, they cost you $40 in OpenAI tokens, and they are a $31 a month loss.

User count by monthly margin (USD)break even-$30-$20-$10$0$10$20$30$40$50$60$70+

The histogram above shows what a typical AI SaaS user base looks like. Most users sit in the green (small positive margin), and a long red tail on the left shows the unprofitable cohort. Those red bars are usually your engaged users, the ones you wish you had 100 more of.

This is the cruel twist. Engagement, which used to be the leading indicator of success, is now the leading indicator of margin trouble.

How to calculate AI gross margin per user

For each user in a month, the formula is:

margin = subscription_price - sum(api_cost for each LLM call by this user)

Add a denominator if you want a ratio:

margin_pct = (subscription_price - api_cost) / subscription_price

Walk through an example. User on the $29 plan made 800 calls last month, most were gpt-4o-mini (about 3 cents each), and a few were gpt-4o (about 8 cents each). Total API cost: $32.

Margin: $29 minus $32 equals negative $3. Margin percent: negative 10 percent. This user is unprofitable.

Now scale up. If 12 percent of your $29 users look like this and you have 200 of them, you are losing $720 a month silently. Meanwhile your CEO is talking about expansion revenue at the board meeting.

What healthy AI SaaS margins look like

Healthy AI SaaS gross margins in 2026 sit around 50 to 65 percent. Anything above 70 percent means you are either underpricing your model usage or you have a very narrow value proposition you can charge a lot for.

Anything below 30 percent means the model is eating you alive. Two paths out: charge more or use cheaper models for the same output quality.

Most founders get to healthy margins through a combination of three moves:

  1. Default to the cheapest model that does the job (gpt-4o-mini for 80 percent of features).
  2. Set per-user monthly spending caps that downgrade or block when hit.
  3. Reprice plans based on actual cost data, not gut feel.

How to see margin per user in real time

The classic way: SQL across an LLM log table joined to subscriptions. Works at small scale. Falls apart when you add a second provider, when models reprice, or when you have plan changes mid-month.

The fast way: drop a wrapper around your LLM client that logs cost and revenue together. Weckr does this in two lines:

import { Weckr } from '@weckr/sdk'

const wk = new Weckr({
  apiKey: process.env.WECKR_API_KEY,
  plans: { free: 0, starter: 9, pro: 29, business: 99 },
})

await wk.chat(openai, {
  model: 'gpt-4o-mini',
  messages,
  userId: user.id,
  plan: user.plan,
})

Every call records cost (server side, current pricing), revenue (from the plan), and margin (the difference). You see the per-user breakdown live in the dashboard, and the unprofitable users sort to the top automatically.

Try the live dashboard with seeded data at useweckr.com/demo. No signup, full click-through.

Real world example: a $19 plan with 18 percent gross margin

A founder I talked to last month ran an AI legal document tool. Pricing: $19/mo Starter, $79/mo Pro. He thought margins were healthy.

We ran the actual numbers across his last month of usage. Starter plan average AI cost per user: $15.60. Starter plan gross margin: 18 percent.

The fix took two weeks. He switched the default summarization model from gpt-4o to gpt-4o-mini after blind testing showed no quality difference, added a $12/mo cap on the Starter plan with automatic downgrade, and bumped Starter to $24/mo with legacy customers grandfathered. Six weeks later, Starter average AI cost dropped to $4.20, and gross margin hit 82 percent.

FAQ

What are typical gross margins for an AI SaaS company?

Traditional SaaS typically runs 80-90% gross margins. AI SaaS companies run 50-60% because LLM inference costs are a direct variable cost against revenue. The gap is the AI tax every founder pays.

How do I calculate unit economics for my AI SaaS product?

For each user: take their monthly subscription revenue and subtract the total LLM API cost they generated that month. The result is your margin per user. If it is negative, that user is unprofitable. Weckr calculates this automatically.

Why are some SaaS users unprofitable on AI costs?

Heavy users hit your AI features repeatedly throughout the day. On a flat subscription, they generate the same revenue as light users but cost 5-10x more to serve. Without visibility per user, you cannot identify or act on this.

How do I price my AI SaaS product to maintain healthy margins?

Track your actual AI cost per user for at least one month. Then set your price at 3-4x the average cost per user to maintain 65-70% gross margins. Weckr pricing recommendation feature does this calculation automatically.

What spending caps should I set for free plan users?

Start by measuring what your average free user actually costs you. Then set a cap at 1.5x that average. For most AI SaaS apps this is between $1 and $5 per user per month. Weckr lets you set this cap in the dashboard with no code changes.

Stop guessing about your margins

Most AI SaaS founders are flying blind. They look at a 30 percent margin and assume things are fine, and they don’t know that 10 percent of their users are negative-margin and dragging the whole thing down.

You can’t fix what you can’t see. Start by getting per-user cost data in front of you, and the clearest way to do that without writing it yourself is useweckr.com/demo, where you can click through a fictional AI SaaS dashboard with seeded data showing exactly the margin picture this article describes.

See the dashboard with real data, no signup needed.

Try the demo →