← all posts
// economics · hardware-roi

AI hardware ROI for an Apple Silicon local-model system: pricing risk and downtime

Buy the Apple Silicon box, and the sticker price is the least interesting number on the invoice. What decides if the purchase was smart is what happens on the day it stops working and you have nothing to switch to.

I mean a specific machine: a Mac mini, Mac Studio, or MacBook with enough unified memory and storage for the models you run, on top of ordinary use. Local development, document analysis, MLX experiments, and the odd large model that only fits because memory is shared, not split. The alternative is a discrete-GPU workstation plus a laptop, or hosted APIs. Quiet, low idle power, one supported system: none of that tells you what it costs. What matters is a productive local-model month, ordinary use included; tokens and GPU-hours are just intermediate readings, and numbers age fast while the framework doesn't.

Unified memory cuts both ways

Money splits into two piles. Hardware and installation are fixed once spent, and so is any capacity reserved up front; electricity and tokens scale with use, and so do transfer and support. Count only the incremental cost: a memory upgrade bought purely to fit a model counts, the laptop you'd own anyway doesn't. Track local, rented, or API routes: what's accepted versus fails, how long a request queues past p95, how many minutes of human repair it costs. A cheap model needing two attempts and five minutes of correction isn't cheap; its cost belongs to the finished result, not the first draft. Don't price a narrow specialist against a frontier API at full effort for work it never needed.

The real hazard is specific: memory you cannot upgrade later, storage priced like a luxury good, runtime support tied to one workload, resale value assuming someone else wants your exact configuration. That's the risk you're pricing, a probability of breaking times what an outage costs in repair time and lost hours.

The spreadsheet that decides whether you were right

Idle time isn't free. It's a design choice. A machine that sleeps overnight has different economics than one holding models resident so nothing waits on a cold start. Model demand at low, base, or high load, and let batch work fill quiet hours only if you'd genuinely need it: a box run at full utilization can't also absorb an interactive request without queueing past target. The common mistake is redundancy for the expensive option while assuming the cheap one is fail-proof, which it never is.

Payback is the month cumulative benefit passes cumulative cost; run it once with productivity value at zero, since saving ten minutes rarely becomes ten minutes of revenue. ROI needs a conservative useful life, since hardware often runs fine long after a model generation makes it the wrong tool. Short-term rental matters too: a borrowed GPU-hour can save you from a bad purchase while demand's still uncertain, the fallback logic behind local-first-cascade one step earlier. State the break-even as tasks per month or a maximum cost per job, not a paragraph you reread, and set a retest date for when volume, quality, or prices shift, the discipline subscription-wrong-for-ai argues for.

I keep one box warm through the hours nobody touches it, because a cold start during the one hour I need it costs more than the idle power ever will. That's the trade I make on purpose: I give up some efficiency for a machine that's always ready, and I don't pretend the idle hours were free.

#hardware-roi#cost#self-hosting