DEV Community

Arsen Apostolov
Arsen Apostolov

Posted on

Cloud vs Local: The Break-Even Point Where Self-Hosting Stops Losing Money

The Local LLM Lab — Part 14

One controlled experiment. One number. One verdict.

"Local LLMs are cheaper than the cloud" is a claim you see constantly. "The cloud is cheaper" is a claim you see just as often. Both are right, both are wrong, and the answer depends on a number most people have never calculated: their own break-even point.

The break-even point is the monthly usage at which self-hosting costs the same as the API for the same work. Below it, the cloud wins. Above it, local wins. It is different for every person, because it depends on three things: what your hardware cost, what your electricity costs, and which cloud model you would otherwise be paying for.

I calculated mine from a metered 30-day bill and a current price sheet. Here is the method, so you can run it on your own numbers.


The local side: what the box actually costs

Two components, and only one of them scales with anything.

1. Hardware amortisation. A used RTX 3090 runs €800–1,200. Midpoint €1,000, amortised over 36 months: €27.78/month. If you already own the card for other reasons, this is €0 and the marginal cost of the inference stack is just electricity.

2. Electricity. This is measured, not estimated. My homelab monitor attributes power per process, and over the 30 days to 2 November the resident inference stack drew:

Service Energy (30d) Cost (BGN)
Whisper (ASR, 24/7) 21.73 5.67
Text-to-speech (24/7) 13.47 3.51
Embedding model 5.09 1.32
Everything else GPU-side 0.36 0.09
Total 40.65 10.59

Tariff: 0.30 BGN/kWh by day, 0.18 BGN/kWh by night (22:00–06:00). The bill above is not priced at either one on its own — it is a blend, and it works out to an effective 0.26 BGN/kWh. If you quote a single rate against a metered figure, quote the blended one and say it is blended.

Converted at 1.95583 BGN/EUR, that bill is €5.42 for the month.

So the local monthly cost is:

  • You already own the card: €5.42/month
  • You are buying the card: €27.78 + €5.42 = €33.20/month

Note what that number is: the whole stack, running around the clock, including every transcription queue and embedding job it handled in those 30 days. It is close to flat. It does not move much when you ask it more questions.

The part that does scale, and how I know its size. The card measures 40 W with the models resident and nothing queued — that is measured, and it is most of the month. What it draws while actually generating I did not meter this month, so I will not pretend otherwise: the 3090's board power limit is 300 W at spec, and that is a ceiling, not a measurement. At the day tariff, an hour pinned at that ceiling is 0.09 BGN — about €0.046. Two hours a day of it adds €2.76/month, putting the local side at €8.18. Treat that as the worst case for a heavy user, not the typical one.


The cloud side: what the same work costs

List prices, checked against the published price sheets in early November 2026. A "Q&A pair" is the shape of one typical assistant exchange: 500 input tokens + 200 output tokens, so 1,000 pairs is 0.5M input + 0.2M output.

Cloud model $/M input $/M output Per 1,000 Q&A pairs
Claude Sonnet 5.5 $2.00 $10.00 $3.00 (€2.69)
GPT-6.1 Sol $2.00 $10.00 $3.00 (€2.69)
Gemini 3.8 Flash $0.75 $3.75 $1.13 (€1.01)
Gemini 3.5 Flash-Lite $0.30 $2.50 $0.65 (€0.58)
Claude Haiku 5.5 $0.10 $0.50 $0.15 (€0.13)
GPT-6 Luna $0.10 $0.50 $0.15 (€0.13)

Two things worth knowing before you use these. First, on the premium models output costs 5x input, so a chatty model is a more expensive model independent of quality. Second, several of those rates are introductory: Gemini 3.8 Flash goes to $1.50/$7.50 on 1 January, and the Google flagship that matches the premium tier doubles from $2/$10 to $4/$20 on 1 December. The cheap end of the market is not permanently cheap.


The break-even point

Set local cost equal to cloud cost and solve for pairs per month.

Case 1 — you already own the card (€5.42/month flat)

Comparing against Break-even Per day
Claude Sonnet 5.5 / GPT-6.1 Sol ~2,000 pairs ~67
Gemini 3.8 Flash ~5,400 pairs ~179
Claude Haiku 5.5 / GPT-6 Luna ~40,000 pairs ~1,340

Case 2 — you are buying the card (€33.20/month flat)

Comparing against Break-even Per day
Claude Sonnet 5.5 / GPT-6.1 Sol ~12,400 pairs ~412
Gemini 3.8 Flash ~33,000 pairs ~1,100
Claude Haiku 5.5 / GPT-6 Luna ~247,000 pairs ~8,200

Case 3 — you own the card and generate heavily (€8.18/month, two hours of generation a day)

Against Sonnet-class: ~3,000 pairs/month, ~102/day. The adder moves the line, it does not move the conclusion.


What the numbers say

The break-even is not "a few times a day." It is dozens. The claim that circulates in the local-LLM crowd — that you recoup a GPU by using a local assistant a couple of times a day — does not survive contact with a meter and a price sheet. Against a premium cloud model, a card you already own pays for its electricity at around 67 exchanges a day. That is a real daily habit, not a casual one.

Against the cheap end, local loses outright. Haiku-class and Luna-class APIs price a Q&A pair at about €0.00013. Your electricity is €5.42 a month before the first token. You would need 40,000 pairs a month to break even — and 247,000 if you had to buy the hardware. If the model you would actually use is a small fast cloud model, do not buy a GPU to save money. You will never catch up.

The hardware decision dominates everything else. Owning the card already moves the break-even from ~12,400 pairs to ~2,000 — a 6x difference, and it is decided before you send a single request. If the GPU is already in the machine for gaming, for work, or for something else entirely, the inference stack is nearly free and the arithmetic flips in your favour. If you would be buying it for this, this article is not the reason to do it.


The honest summary

"Local is cheaper" holds if and only if:

  1. The card is already paid for (or is being bought for some other reason), AND
  2. You use it at the volume the table demands — dozens of exchanges a day against a premium cloud model, hundreds against a cheap one, AND
  3. The local model is accurate enough for the task. A model that is wrong half the time is not cheaper. The cost of a wrong answer does not appear on either side of this equation, and it is usually the largest number in it.

The profile where local genuinely wins is narrower than the community likes to admit: someone who owns a 3090 anyway, runs a local assistant as a daily tool, and is otherwise paying premium-tier API rates. That person is over the break-even line by a wide margin and should keep the box running.

The profile where it loses is the one most often arguing for it: someone considering a first GPU purchase, comparing it against a cheap fast cloud model. That comparison is not close.


Run it on your own numbers

Four inputs, one division:

  1. Hardware: purchase price ÷ 36. Zero if you own it.
  2. Electricity: meter it for 30 days. Do not estimate from a spec sheet's TDP — my stack's real figure is the difference between a card idling warm and a card doing work, and the idle warm part is most of the month.
  3. Cloud price: your actual model, at the input/output token split your actual usage has. Not the model you wish you were using.
  4. Break-even: monthly local cost ÷ cost per 1,000 pairs × 1,000.

The result is a number of exchanges per month. Compare it against what you really do in a month, and you have your answer — which is the only answer that was ever yours to have.


Verdict

If you own the card, you break even against a premium cloud model at roughly 2,000 Q&A pairs a month — about 67 a day. Against a cheap cloud model, 40,000. If you are buying the card, multiply those by six.

The card in my machine cost me €5.42 in electricity last month. Whether that was cheap or expensive depends entirely on which row of that table I would otherwise be paying for — and now I know which row I am in.


The Local LLM Lab is a series of measured experiments on a home GPU stack. The electricity figures here are pulled from 30 days of per-process power attribution on the box; the cloud figures are published list prices as of early November 2026, and several of them change on 1 December or 1 January.

Top comments (0)