"How much does it cost to run an LLM locally?" has no single answer, because the dominant variable is not the hardware โ it's how busy you keep it. The most common and most expensive mistake is comparing a GPU's purchase price to a cloud hourly rate. They are not comparable: one is sunk capital, the other is metered consumption. The only comparison that tells the truth is total cost of ownership (TCO) per unit of output โ euros per million tokens โ over the realistic life of the hardware. This guide builds that number from the ground up at three scales, then shows the levers that swing the verdict.
The full cost stack
A local deployment has five cost layers. Most teams budget only the first and are surprised by the rest:
| Layer | What it includes | Often forgotten? |
|---|---|---|
| Hardware (CapEx) | GPU, CPU, RAM, PSU, storage, chassis | No |
| Electricity | GPU + system draw under load and idle | Usually |
| Cooling & power | Cooling, PSU losses, room/rack, UPS | Yes |
| Maintenance | Engineer time, drivers, monitoring, spares | Yes |
| Depreciation | Value lost over 2โ4 year useful life (minus resale) | Yes |
Worked examples at three scales
Illustrative figures to show the method โ plug in your own prices. All assume 3-year straight-line depreciation and ~โฌ0.25/kWh.
Scale 1 โ Individual: one used RTX 3090 (24GB)
- Hardware: ~โฌ900 rig share โ ~โฌ25/month amortized.
- Power: ~400W system under load at 15% duty โ 45 kWh โ ~โฌ11/month.
- Maintenance: your own time (unpaid, but real).
- Total โ โฌ36/month fixed. At hobbyist volumes (say 2โ3M tokens/month of actual use) that's ~โฌ12โ18 per million tokens โ far above a budget cloud API. The honest conclusion: individuals rarely run local to save money; they run local for privacy, offline capability, unlimited experimentation and learning โ which are real returns, just not billable ones.
Scale 2 โ Team: dual-3090 rig serving a 70B at 4-bit
- Hardware: ~โฌ2,400 โ ~โฌ67/month. Power at 50% duty: ~250 kWh โ ~โฌ63/month. Maintenance/overhead: ~โฌ40/month.
- Total โ โฌ170/month, fixed โ whether you generate 1 million tokens or 1 billion.
- Serving a team through vLLM with batching (see below), sustained output in the tens of millions of tokens/month is realistic โ ~โฌ2โ8 per million tokens, competitive with or beating equivalent-quality API pricing, with data never leaving the building.
Scale 3 โ Company: a 4ร48GB inference server
- Hardware: ~โฌ25โ35k server โ ~โฌ700โ950/month. Power: ~1.5โ2kW at 60% duty โ 650โ900 kWh โ ~โฌ160โ225/month. Maintenance: real engineer hours now โ budget ~โฌ300โ500/month.
- Total โ โฌ1,200โ1,700/month. Batched across departments, hundreds of millions of tokens/month โ well under โฌ5 per million tokens at equivalent-model quality, plus compliance/residency benefits that often motivated the project in the first place. This is the scale where on-prem economics genuinely shine โ if the load exists.
The break-even: it's all about utilization
Cloud GPUs and token APIs charge only for what you use, so their cost scales linearly. Owned hardware costs the same idle or maxed. Plot both and they cross at a utilization threshold โ empirically often around 30โ40% sustained. Below it, you're paying for an expensive idle asset. Above it, the fixed cost is "filled" and every extra token is nearly free โ the gap then widens with scale.
Run the 5% scenario honestly before buying: the team rig above at 5% utilization produces a tenth of the tokens for the same โฌ170 โ cost-per-token 10ร worse, losing to any API. The hardware didn't change; the utilization did. Most local-AI cost disappointments are utilization disappointments.
The multiplier everyone misses: batching
Single-stream chat leaves a GPU mostly idle โ token generation is memory-bandwidth bound and one user's request uses a sliver of compute. A serving engine with continuous batching (vLLM, TGI) interleaves many concurrent requests on the same card, multiplying total token throughput 10โ20ร with modest latency impact. Since your costs are fixed, cost-per-token divides by the same factor.
Practical consequence: the local-vs-cloud verdict flips with concurrency. A single-user assistant almost never pays for its GPU; a 20-user internal service on the same GPU often beats every alternative. When estimating, count concurrent demand, not just total volume โ and if you have it, serve through vLLM rather than a single-stream runtime, because the economics are night and day.
Electricity, honestly
- The 24/7 baseline: a 350W GPU at full tilt around the clock is ~250 kWh/month โ โฌ50โ90/month at typical EU prices (Italy often sits at the high end). Idle draw (10โ30W GPU + 40โ80W system) runs โฌ10โ25/month just for being on.
- Power-limiting is free money: capping a 3090 at ~250โ280W (
nvidia-smi -pl) costs ~5โ10% inference speed and saves ~25โ30% energy. For bandwidth-bound inference, high power states are mostly wasted anyway. - Count the whole chain: PSU losses (~10%), cooling, and in an office, the air-conditioning that removes the heat you just paid to make. In summer you pay twice.
- Schedule what can be scheduled: batch jobs (indexing, evals, fine-tunes) moved to night tariffs cut the bill where time-of-use pricing exists.
Depreciation and resale: gentler than it looks
Straight-line depreciation to zero is the conservative accounting fiction. Reality is kinder: high-VRAM GPUs hold value unusually well because AI demand keeps absorbing used supply โ 3090s still sell today for a substantial fraction of their old price years after launch. A realistic model: assume you recover 30โ50% of GPU cost at resale after 3 years, which materially lowers true TCO. Two caveats: datacenter cards without display outputs resell into a thinner market, and a genuine architecture break (a new generation with step-change efficiency) can reprice the used market overnight โ that's the risk premium of owning.
Hidden costs people forget
- Engineer time โ drivers, CUDA updates, monitoring, the occasional 2am failure. At team scale this is often the largest line after hardware.
- Redundancy โ one GPU is one point of failure; production needs a spare, a failover plan, or an accepted downtime story.
- The experimentation tax โ model churn is real: re-downloading, re-quantizing, re-evaluating each new release costs storage and hours.
- Opportunity cost โ capital tied up in depreciating hardware; and the calendar risk that next year's GPU does the job at half the watts.
What actually swings the verdict โ sensitivity
- Utilization (dominant): 5% โ cloud wins big; 60% + batching โ local wins big. Everything else is second-order.
- Electricity price: at โฌ0.10/kWh (some regions/solar) local gets ~30% cheaper to run than at โฌ0.30 EU-average math.
- Model size vs need: if a 8โ14B fine-tune covers your task, the hardware bar (and bill) collapses versus insisting on 70B for everything. Right-sizing the model is the biggest single cost optimization.
- Concurrency: as above โ multi-user workloads are where owned hardware earns its keep.
The hybrid strategy (what most teams should actually do)
Own hardware sized for your steady base load; rent for everything spiky: cloud GPUs by the second for experiments, oversized one-off jobs and traffic bursts, and API calls for models you can't justify hosting. You get owned-hardware economics where utilization is provably high, cloud flexibility where it isn't, and a natural migration path โ when the rented burst becomes constant, that's your signal to buy the next card. Route requests by difficulty (small local model first, big model on escalation) and cache aggressively: both cut tokens before they're ever generated.
A quick decision checklist
- Estimate your real monthly token volume and concurrency (be honest โ most overestimate volume and underestimate idle time).
- Compute local TCO/month: hardware รท 36 โ expected resale/36 + power + maintenance.
- Divide by realistic token output (with batching if multi-user) โ local โฌ/M tokens.
- Compare to a cloud token API and a per-second GPU rental at the same volume.
- Add a value for privacy/residency/control if it applies โ then decide, and revisit yearly as prices move.