Qaf · AI cost audit · 7–13 October 2026

What drives our AI costs

Last week's AI bill was $22.2k, about 14 times net revenue. Most of it comes from a large number of free users asking ordinary questions. There is no abuse behind it. The cost of each answer is driven by what we send to the model. Three quarters of the Gemini bill is uncached input, mostly search passages sent back to the model. Long threads and power users matter, but neither is the main problem. Gemini prices double on 1 January 2027, so the priority is to cut the cost of each turn.

$22.2kAI bill for the week (list price)
$1.6knet revenue the same week
88%of user cost is free users and guests
+$17k/wkextra cost from the 2027 price change at today's volume

Spend grew from $2.0k to $3.2k a day during the week as daily chat turns went from 24k to 63k. Treat these figures as a snapshot of a growing product.

Where the money goes

Gemini 3.7 Flash is 87% of the bill, Cohere rerank 9% and GPT‑5.6 terra 4%. By feature, the chat answer agent alone is three quarters.

Chat answer agent (Gemini)
$16,825
Catalog batch job (one-off, Gemini)
$2,020
Search rerank (Cohere)
$1,918
Hadith-detail panel (terra)
$625
Per-turn policy check
$349
Chat titles (terra)
$155
Everything else
$310

What Gemini charges for

Uncached input 73.5%Visible output 20.6%Thinking (inferred) 4.4%Cached input 1.6%

An average answer takes 2 model steps and sends about 33k input tokens. Roughly two thirds of that is search results sent back on the second step. Only 15% of input hits the cache. Agent loops don't run away: turns with 5 or more steps are under 1% of turns.

So the biggest lever is how much text goes into each turn: how many passages, how long, how much is cached and how much history is resent. Restricting users saves much less.

Free vs paying

Free users drive the total because there are so many of them. Each Pro user costs about 11 times a free user: $2.60 a week against $0.23.

Free, registered
$15,795 81.8%
Free, guest
$1,298 6.7%
Pro
$1,416 7.3%
Trial
$544 2.8%
Comp, gift, other
$195 1.0%
Max
$61 0.3%

So changes to the free tier move the bill. Changes to Pro move the margin.

Logged in vs logged out

Guests cost $1.3k (6.7%), or about $0.11 each. They are cheap because they send few messages (2.8 on average). Their messages cost the same as anyone else's. Counting chats that move to an account at sign-up, guest-originated cost is $1.6k (8.4%).

Requiring sign-up would save about $1.1k a week, or about $0.5k with a one-message-a-day guest cap, before counting lost sign-ups. It's a small saving and it puts the funnel at risk.

Device

Cost follows the user base. Android and iOS users look the same, at about $0.25 and 6.5 messages a week each. Desktop web costs the most per user, mainly because Pro users concentrate there: registered users average $0.68 against $0.27 on Android.

Android app
$11,566 59.9% · $0.038/msg
iOS app
$5,479 28.4% · $0.040/msg
Desktop web
$1,504 7.8% · $0.052/msg
Mobile web
$643 3.3% · $0.049/msg
Unknown web
$127 0.7%

Our tracing records almost only Android traffic, so iOS cost and most web cost are modelled from Android at the same thread depth and reconciled to the real bill. The bill limits the error to about 6–8% per turn.

Device-specific controls wouldn't save anything meaningful. The tracing gap is worth fixing.

Long threads

A single turn gets much more expensive deep in a chat, because the full history is resent every turn. Long chats are rare, though: 300 chats of 50 or more turns cost $1.5k (7.7%).

Cost of one turn by its position in the chat

Turn 1
$0.033
Turn 4-10
$0.024
Turn 21-30
$0.043
Turn 51-100
$0.121
Turn 101-200
$0.245
Turn 401+
$0.790

Share of chats vs share of cost, by thread length

share of chatsshare of cost
1 turn
54% · 26%
2-3
32% · 31%
4-9
12% · 22%
10-19
2% · 8%
20-49
0.60% · 5%
50-99
0.09% · 2%
100+
0.05% · 6%

Sending only the last 10 turns of history would save about $1.2k a week ($0.9–1.4k). It's a contained fix that mostly protects Pro margin.

Power users

Cost is moderately concentrated, and we found no bot traffic: only 10 of 3,704 heavy users look automated. The top 0.1% (76 users) are mostly paying users in very long chats, with a median of 140 messages a week. Below them, 96% of the top 1–10% are free users.

Top 0.1% (76 users)
7.4%
Top 1% (757 users)
16.5%
Top 5%
32.4%
Top 10%
45.5%
Bottom 90%
54.5%

What a per-user cap would save

CapSaves / weekUsers hitOf them paying
50/day$956030
30/day$33719480
23/day$566821118
10/day$2,3605,977265
100/week$49811860

Loose caps save very little and mostly hit paying users. Only tight caps such as 10 a day save real money, and those hit about 6k users.

Other drivers

Unit economics

Paying users roughly break even on AI: $1,606 of revenue against $1,477 of cost while paid, a margin of +8% (range −5% to +21%). The top 10% of active payers cost $880 against $171 of revenue, while the other 90% run at +50%. Annual plans are the weakest:

PlanPayersAI costNet revenueMargin
Stripe annual105$356$201-77%
Apple annual191$298$307+3%
Google annual109$177$177+0%
Apple monthly87$219$354+38%
Stripe monthly50$194$228+15%
Google monthly35$117$135+13%

An annual Pro user breaks even at 26–31 messages a week, and the median Pro user sends 23. Free usage cost about $160 per new payer last week, against about $12 a month of net revenue per payer.

The 2027 price change. Gemini 3.7 Flash rises from $0.75/$3.75 to $1.50/$7.50 per million tokens on 1 January 2027. At this week's volume, that adds about $17k a week (to about $37.5k excluding batch jobs) and pushes payer margin to about −79%.

What to do

Savings are first-order: they assume users behave the same. Some overlap: items 1, 3 and 4 all cut input tokens, so they don't add up fully.

Action$/weekConfidence
0Plan for the 1 January Gemini price change: switch model, negotiate, or repriceavoids +17.3khigh
1Send half as much search text per turn (fewer or shorter passages), after testing answer quality~4.1–4.4kmedium‑low
2Shrink the 20-message welcome bonus (to 10 / to 0)≤1.0k / 1.8–5.2kmedium
3Raise cache hits by 10 points (stable prompt prefix, explicit caching)~1.3kmedium
4Send only the last 10 turns of history~1.2kmedium‑low
5Require sign-up for guests (or cap them at 1 message a day)~1.1k / ~0.5k, minus lost sign-upsmedium
6Run catalog jobs on the Batch API, with a budget and tracing~1.0k per runlow
7Cache hadith-detail answers per hadith, or use a cheaper model≤0.7klow
8Fair-use limit for the heaviest Pro users (100 or 50 a week)0.3–0.6kmedium
9Cap agent steps per turn≤0.55kmedium

Not worth doing for cost: daily caps above about 20 messages, device or country controls, voice or image limits, anti-bot work.

Data and method