Grow or Die Log in

How to Find Loss-Making AI Customers Without Guessing

6 min read

A customer is loss-making under a defined contribution metric when revenue attributable to that account, after refunds and processor fees, is lower than attributable AI cost for the same complete period. Classify only accounts with complete payment and usage identity coverage. Missing revenue or cost is unknown, not zero, and must stay outside a confident ranking.

Define “loss-making” before ranking customers

Customer AI contribution = linked payment revenue − linked refunds − linked processor fees − attributable AI cost

Selected-period status = loss-making when customer AI contribution < 0 and required coverage is complete

This is a scoped operational result. It answers whether observed payment contribution covered attributable model cost in the selected period. It is not customer lifetime value, gross profit, company net profit, or a prediction that the account should be removed.

The hard part is the identity join, not the subtraction

Give every signed-in product account a stable internal account_id. Store the payment provider’s customer ID against that account, then attach the same internal account ID to server-side model-usage events. The join should look like this:

payment provider customer ID → internal account ID ← model-usage account ID

Stripe’s Customer object has a stable ID and supports structured metadata. A Charge can reference both a customer and the balance transaction that describes its balance impact. Your application still owns the mapping to its internal account; neither Stripe nor the model provider can infer it for you.

  • Prefer opaque stable IDs over email as the primary join key.
  • Separate test and live payment data.
  • Use the same currency and complete date window for every term.
  • Keep unlinked payment and usage totals visible.
  • Do not distribute unallocated AI cost evenly across customers.

Worked example: negative, positive, and unknown are different

This hypothetical table covers one complete month. “Complete” means the selected payment source finished paging the period and all priced usage events in the row carry the exact account ID.

Hypothetical customer contribution classification
Account Revenue after refunds and fees AI cost Contribution Status
Atlas $116 $35 $81 Positive contribution
Birch $47 $80 −$33 Loss-making in this period
Cedar $87 Incomplete Unknown
Delta free account $0 $25 −$25 Cost-only in this period

Birch: $47 − $80 = −$33 customer AI contribution

Cedar is not ranked below Birch. Its missing AI-cost coverage prevents a calculation. Delta is a real cost-only account for the selected month, but product policy—not this arithmetic—decides whether free usage is intentional acquisition spend.

Turn each evidence state into the right next action

Decision table for customer contribution evidence
Evidence state Safe interpretation Useful next step
Negative, complete coverage Payment contribution did not cover observed AI cost Inspect model, feature, retries, limits, and packaging
Positive, complete coverage Observed contribution was positive in this period Check durability across longer windows and cohorts
Revenue linked, AI cost incomplete Customer contribution is unknown Repair server-side account attribution
AI cost linked, payment missing Cost-only or an incomplete payment join Verify plan state and payment-customer mapping
Provider total exceeds linked total Unallocated cost exists Reconcile telemetry before ranking more customers

What a loss-making customer result cannot prove

Do not automate punishment from one negative row. A launch credit, annual prepayment, delayed invoice, refund timing, onboarding period, or intentional free tier may explain the selected-period result.

  • It does not prove the customer will be unprofitable over their lifetime.
  • It does not include payroll, support, general cloud, tax, or any omitted cost.
  • It does not prove which feature caused payment, retention, or churn.
  • It does not reconcile SDK-priced usage to the provider’s final invoice.
  • It does not make an incomplete account profitable or unprofitable; it leaves it unknown.

For the surrounding metric, read What Is AI Unit Economics? Then separate cost from profit with Token Cost Is Not Profit and keep accounting labels straight with Gross Margin vs. AI Contribution Margin .

Official sources