← all posts
// economics · hardware-roi

AI hardware ROI for an Apple Silicon local-model system: a sensitivity analysis that can change the answer

Somebody buys the maxed-out unified memory config, runs a single clean payback number past whoever signs off, and files the decision as settled. Then the API vendor cuts prices, or the model that justified the purchase stops being the best option, and nobody can find the spreadsheet that made the case. That's the failure this whole exercise exists to avoid: certainty dressed up as a hardware spec.

This is about the Apple Silicon local-model box specifically: a Mac mini, Mac Studio, or MacBook with unified memory sized for the models you intend to run, alongside your ordinary work. The workload is quiet local development, document analysis, MLX experiments, and models large enough that a shared memory pool is the whole point of buying Apple hardware instead of a discrete GPU. The alternative is a GPU workstation plus a laptop, or staying on hosted APIs, and if the subscription math already doesn't clear the bar, a quiet box under the desk won't fix that. The unit you're pricing is a productive local-model month, non-AI use included, not a token count.

the invoice is not the model

Start from one relationship and don't dress it up further:

ROI = (discounted_benefits - discounted_costs) / discounted_costs

Vary one input at a time. Combine plausible low, base, and high cases and report where the breakeven lands under each, not one blended figure that papers over the range. Split fixed costs (the purchase, setup, reserved capacity) from variable ones: electricity, overflow tokens, data transfer. Human review sits between the two: a dedicated reviewer is fixed, per-exception correction scales with how often the model gets it wrong.

Write down every line in the bill of materials: the machine, extra memory or storage, networking, power, enclosure, tax, shipping, install time. Then subtract whatever you'd have bought anyway. A laptop used for ordinary work isn't an AI cost just because it also runs a model sometimes. A memory upgrade bought purely to fit a bigger model is.

memory you can't add back later

The risk profile on this hardware class isn't generic GPU risk: it's non-upgradeable memory, capacity tiers priced well above the extra silicon's cost, runtime support that lags on less common configurations, and a resale market that punishes anything unusual. Build low, base, and high demand curves and include your daily peak, not your average, because a machine pinned at full utilization can't also absorb an interactive request without someone waiting. Batch work fills the gaps, but only if the organization genuinely needs it.

Meter the idle states separately, because they carry different costs:

  • accepted tasks and severe failures, counted separately
  • input, cached input, reasoning, and output tokens
  • retries, abstentions, and human repair minutes
  • queue time, first token, completion time, p95 latency
  • active, resident-idle, sleep, and unavailable hours
  • wall energy plus a cooling allocation
  • maintenance and incident time

Measure that workload across local, rented, and API routes, the instinct behind routing cheap requests locally before reaching for paid inference, aimed at a hardware decision instead of a single call. A machine that sleeps overnight has different economics than one holding models resident so a request never waits. For a fleet of these boxes at the edge, multiply update, replacement, backup, and travel time by node count. Operational labor can dominate electricity.

the minutes that don't become money

Quality has to enter the cost, or the comparison is fake. If a cheaper model needs two attempts plus minutes of manual correction, the cost of the completed result includes that correction, not just the first generation. Going the other way, don't price a local specialist that reliably clears one narrow job against a frontier API cranked to maximum reasoning for a task that never needed it. That's not a fair fight.

Productivity claims need a realization factor. Saving ten minutes of a developer's time does not hand you ten minutes of revenue; it only counts if it avoids a hire, cuts outsourced spend, increases what ships, or shortens a genuinely binding queue. Run the model once more with productivity set to zero. If the purchase only clears the bar on speculative time savings, that deserves a second look before anyone signs off.

Price hourly rental too, alongside buy and API. It earns its keep exactly while demand and hardware shape are still uncertain, and a short rental benchmark can be the cheapest way to avoid an expensive wrong purchase, once you fold in persistent storage, image setup, transfer, minimum billing, and the instance someone forgot to shut down.

where the recommendation stops holding

Payback month is the first month cumulative discounted benefit clears cumulative cost. ROI over your chosen horizon is net discounted benefit divided by discounted cost, and both need a conservative useful life and a real residual value, because hardware can power on for years after the models it was bought for have outgrown it.

The mistake I keep seeing is one precise payback month, printed with total confidence, resting on inputs nobody would defend if pushed on them. Keep the assumptions in a small table instead, source and date attached to anything that moves, and resist hiding how uncertain you are behind three decimal places.

State the decision as a boundary you can check against reality later, not a recommendation to re-argue from scratch: accepted tasks per month, productive GPU hours, maximum API cost per task, minimum useful life. Set a retest date and the triggers that should pull it forward: volume shifting materially, a new model changing what clears your quality bar, API prices moving, an electricity contract changing, a component reaching end of support. Treat ROI as a relationship between one workload, one alternative, and assumptions with a date stamped on each, never a number you get to stop checking.

None of this will stop you from wanting the Mac Studio anyway, and if the numbers are close enough that you can absorb being wrong, that's still a defensible reason to buy one.

#hardware-roi#cost#self-hosting