The return on investment of post-training is the value a fine-tuned model creates (lower inference cost, fewer failures, more revenue) set against what it costs to build and keep running (data, training compute, evaluation, engineering, monitoring and retraining). A fine-tune is a capital project with an upfront cost and a stream of monthly savings, and it can be analysed like one: with a cash-flow model, a payback period, a net present value, and a sensitivity analysis that shows which assumptions the decision actually rests on. This article builds that model for a concrete case, derives the payback and optimal-dataset-size formulas, and runs a Monte Carlo over the uncertain inputs. The result is a decision rule more specific than "fine-tune at scale": under our assumptions the decision hinged on volume, the cost of a failure and whether the fine-tune actually beats the baseline, and a cheap pilot that measures the last of these was worth more than any other step.
A fine-tune is an investment, not a line item#
The other articles in this series compare options at a point in time: the quality-adjusted cost per task of a fine-tuned model against a frontier API, and the monthly TCO of serving it. Both treat the training project as a fixed cost amortised over twelve months. That hides the questions a budget owner asks: how much do we spend before we see any return, how many months until we are even, what is it worth over the life of the model, and what has to be true for it to be worth doing at all. Answering them needs the time dimension, because costs come first and savings arrive gradually as traffic moves over.
Sculley et al. (2015) are the standard warning against counting only the build: machine-learning systems accumulate maintenance cost through data dependencies, configuration and feedback loops, and that cost recurs. In the model below, recurring costs (monitoring time and periodic retraining) turn out to move the payback period more than the training compute does.
The cash-flow model#
Costs
The upfront investment for a fine-tune trained on labelled examples at each, with training compute (including hyperparameter sweeps), evaluation (building a held-out set and running it) and engineer-months at loaded monthly cost , is
Each month after launch carries monitoring effort FTE, a serving fixed cost , and a retraining cost every months to keep up with drift and base-model upgrades.
Benefits
Per task, the fine-tune saves the difference in inference cost against the baseline, and the difference in failures , where is the success rate and the cost of a failed task, exactly as in the quality-adjusted model. If quality also moves revenue (conversion, retention), add dollars per task per point of success rate. Retiring the baseline also removes its fixed cost . With tasks in month , ramping linearly to over months, the net cash flow is
Payback and NPV
The payback period is the first month at which cumulative net cash turns positive, . If monthly net cash at full volume is a constant (with retraining spread evenly) and the ramp is linear over months, the ramp months jointly deliver less than full months would, so
The net present value over a horizon of months at monthly discount rate is . We use months, because a fine-tune rarely outlives two base-model generations without being rebuilt, and 10% a year.
How quality depends on data
The success rate is not a constant you choose; it rises with data and saturates. We model it as a saturating power law, the shape that scaling studies find for loss against data (Kaplan et al., 2020) and that Hernandez et al. (2021) found for fine-tuning on top of pretraining, where pretraining acts like a multiplier on the fine-tuning set:
is the prompted model before training, the ceiling the model class can reach on this task, a scale constant and the rate. These are assumptions to be fitted on your own learning curve: train on 250, 500, 1,000 and 2,000 examples, evaluate each, and fit the three parameters. LIMA (Zhou et al., 2023) is a reminder that the curve can be steep early when data is carefully curated: 1,000 curated prompt-response pairs were enough to teach a strong base model specific response formats.
Setting the derivative of NPV with respect to to zero gives the optimal dataset size. Ignoring the ramp, with annuity factor :
The left side is the present value of one more example's quality gain across all future tasks; the right side is its price. Data is worth buying until the two are equal, so higher volume and costlier failures justify larger datasets, and the optimum scales as .
Assumptions for the base case#
The base case continues the ticket-triage task from the quality-adjusted cost model: the baseline is a frontier API, the fine-tune a post-trained 8B open model served per token. All values are illustrative assumptions.
| Item | Base value | Range tested |
|---|---|---|
| Volume , ramp | 300,000 tasks/month, 3 months | 50k to 1M; 1 to 6 months |
| Baseline inference , success , fixed | $0.0066, 0.92, $1,500/month | ×0.5 to ×2; 0.88 to 0.95 |
| Fine-tune inference , serving fixed | $0.000088, $500/month | fixed |
| Failure cost ; revenue per point | $1.50; $0 | $0.30 to $5 |
| Data: , | 4,000 examples at $2.50 (labelling and review) | $0.50 to $10 |
| Training compute , evaluation | $3,000 (LoRA SFT plus preference stage, with sweeps); $4,000 | fixed |
| Engineering , loaded cost | 1.5 FTE-months, $22,000/month | 0.75 to 3 FTE-months |
| Monitoring ; retraining every | 0.15 FTE; $8,000 every 4 months | 0.05 to 0.4 FTE; $3k to $25k |
| Quality curve | 0.80, 0.975, 300, 0.8 | 0.93 to 0.985; 0.5 to 1.0 |
Under this curve the fine-tune reaches 0.867 at 250 examples, 0.895 at 500, 0.921 at 1,000 (level with the baseline), 0.941 at 2,000, 0.954 at 4,000 and 0.968 at 16,000.
Worked example by hand#
Upfront: data , compute , evaluation , engineering : . Two-thirds of it is people.
Per task: inference saving ; quality saving ; in total . The quality term is eight times the inference term. At 300,000 tasks a month that is ; add the baseline's fixed cost no longer paid, subtract serving, monitoring and average retraining: a month.
The month-by-month model, with the retraining spend landing in months 4, 8 and so on, gives 5.0 months. Over 24 months cumulative net cash reaches $246,000 and the NPV at 10% a year is $217,000.
Results#
Volume decides whether it pays back at all
At 600,000 tasks a month the project pays back in 2.6 months with a 24-month NPV of $578,000. At 300,000, 5.0 months. At 150,000, 13.0 months and an NPV of $37,000, a marginal investment. At 50,000 it never pays back: the monthly benefit of $2,900 does not cover $4,300 of net recurring cost (monitoring, serving and retraining, less the baseline's fixed cost no longer paid), so cumulative cash falls further every month and the NPV is −$83,000. Below some volume a fine-tune is a running loss, not a slow payback, because its recurring costs do not shrink with traffic. In this model that volume is tasks a month.
How much data to buy
Below about 1,000 examples the fine-tune does not beat the baseline and is not deployed. Above that, NPV rises steeply and flattens. The optimum sits at about 45,000 examples at $0.50 each (NPV $370,000), 18,500 at $2.50 ($316,000) and 8,500 at $10 ($227,000). The closed-form condition gives 47,000, 19,000 and 8,700 for the same three prices; the small gap is the adoption ramp, which the formula ignores. Two practical readings follow. First, at realistic labelling prices the value-maximising dataset is several times larger than the minimum that beats the baseline, because each point of success rate is worth , here about $98,000 in present value. Second, the NPV curve is flat near its peak: 4,000 examples at $2.50 already captures $217,000 of the $316,000 optimum, and the remaining gain is less certain than the curve suggests. Buy data in rounds, refit the learning curve after each, and stop when the measured marginal gain falls below the formula's threshold.
What the payback period rests on
Four inputs can make the project fail outright: volume (no payback at 50,000 tasks a month; 1.9 months at a million), failure cost (never at $0.30; 2.0 months at $5), baseline success rate (2.6 months if the frontier API only reaches 0.88; never if it reaches 0.95), and the quality ceiling of the fine-tune (never at 0.93; 4.2 months at 0.985). Every other input moves payback by a few months at most: monitoring effort from 4.4 to 8.7 months, upfront engineering from 3.8 to 7.4, the adoption ramp from 3.7 to 6.7, data price from 4.5 to 7.0, retraining cost from 4.7 to 6.1. The frontier API's own price, halved or doubled, moved payback only from 5.3 to 4.5 months, because the inference saving is a small part of . Training compute was too small to include: at $3,000 it is 6% of the upfront cost.
Notice that three of the four decisive inputs (failure cost, baseline success and the fine-tune's ceiling) are measurable before the project starts, with an evaluation set and a few small training runs. Volume is usually known.
Uncertainty and the value of a pilot
We drew 20,000 scenarios (seed 2026) at each of three known volumes, sampling the uncertain inputs over their ranges: failure cost log-uniform from $0.30 to $5, quality ceiling and rate, baseline success, engineering, data price, monitoring, retraining cost and ramp. In each scenario the team deploys only if the fine-tune's steady-state monthly net cash is positive; otherwise it abandons after spending .
At 300,000 tasks a month, 22% of scenarios paid back within 6 months, 34% within 12 and 42% within 24; in the other 58% the fine-tune was not enough better than the baseline to cover its recurring costs and was abandoned. The NPV distribution was strongly skewed: 10th percentile −$77,000, median −$36,000, 90th percentile $506,000, mean $107,000. At a million tasks a month, 71% paid back within two years, the median payback was 5.1 months and the mean NPV $715,000. At 150,000, only 23% paid back and the mean NPV was −$4,800.
A positive mean with a negative median is the signature of a bet whose downside is bounded and whose upside is large, and it is exactly the situation in which buying information first pays. Suppose an $8,000 pilot (a few hundred examples, a small training run and the evaluation set) reveals whether the full project would clear the bar, and its work is reused if the project proceeds. Then abandoned scenarios lose $8,000 instead of about $58,000. In the simulation that raised the mean NPV at 150,000 tasks a month from −$4,800 to +$34,000, at 300,000 from $107,000 to $136,000, and at a million from $715,000 to $730,000. The pilot turns a marginal project into a positive one at moderate volume and is cheap insurance at high volume.
How ROI estimates go wrong#
Counting only the token saving. In this model the inference saving was one-eighth of the per-task benefit. An ROI case built on token prices alone either understates a good project or, if the fine-tune is less accurate than the baseline, approves a bad one. Price failures.
Assuming the quality gain instead of measuring it. The Monte Carlo's main finding is that whether beats by enough decides the project. Published comparisons (Bucher and Martini, 2024; Hsieh et al., 2023) show fine-tuned small models often win on narrow tasks, but "often" is not your task. Measure it with an evaluation set large enough to detect the gap you need; see how many eval examples.
Leaving out recurring costs. Monitoring and retraining were the costs that made low-volume projects lose money every month. A business case with no line after launch is incomplete.
Ignoring the ramp. Traffic moves to a new model gradually, behind feature flags and A/B tests. Each month of ramp adds about half a month to payback.
Comparing against a moving baseline as if it were fixed. If the baseline API improves during the project, rises and the benefit shrinks. The tornado shows that a baseline at 0.95 instead of 0.92 erases the return. Re-run the case at each retraining point against the current baseline.
Decision guide#
| Situation | Recommendation |
|---|---|
| Volume below the level where covers recurring costs | Do not fine-tune for cost; consider it only for control, latency or data residency |
| Moderate volume, quality gain unknown | Run a pilot: small dataset, learning curve, evaluation against the baseline; decide after |
| High volume, failures cost dollars, pilot shows a clear gain | Fine-tune; size the dataset with the optimum condition and buy data in rounds |
| Quality gain small, failures cheap | Fine-tune only if the token saving alone covers recurring costs |
| Baseline likely to improve quickly | Shorten the horizon in the NPV and require faster payback |
Implementation sketch#
def q_of_n(n, q0=0.80, qmax=0.975, n0=300, alpha=0.8):
return qmax - (qmax - q0) * (1 + n / n0) ** (-alpha)
def cash_flows(N=300_000, ramp=3, k_b=0.0066, q_b=0.92, F_b=1500, k_t=0.000088, F_t=500,
c_f=1.50, n=4000, c_ex=2.50, compute=3000, eval_cost=4000, eng_months=1.5,
fte=22_000, monitor=0.15, retrain=8000, retrain_every=4, T=24):
beta = (k_b - k_t) + (q_of_n(n) - q_b) * c_f # $ saved per task
flows = [-(n * c_ex + compute + eval_cost + eng_months * fte)]
for t in range(1, T + 1):
N_t = N * min(1, t / ramp)
flows.append(N_t * beta + F_b - F_t - monitor * fte - (retrain if t % retrain_every == 0 else 0))
return flows
def payback_months(flows):
cum = 0.0
for t, x in enumerate(flows):
if t and cum + x >= 0:
return t - 1 + (-cum) / x
cum += x
return float("inf")
def npv(flows, annual_rate=0.10):
r = (1 + annual_rate) ** (1 / 12) - 1
return sum(x / (1 + r) ** t for t, x in enumerate(flows))
f = cash_flows()
print(round(payback_months(f), 1), round(npv(f))) # about 5.0 months, about 217,000
The function is deliberately small enough to put in a planning document. The inputs that decide the answer, , the learning curve and , come from evaluation; in POFE a training run reports the held-out success rate next to the baseline's on the same set, which is the number this model needs most.
Further reading#
Sculley et al. (2015) is the classic account of the recurring costs of machine-learning systems. Kaplan et al. (2020) and Hernandez et al. (2021) establish the power-law behaviour behind the learning-curve model, the second specifically for fine-tuning. Zhou et al. (2023) show how far a small curated dataset can go. Hsieh et al. (2023), Bucher and Martini (2024) and Le Scao and Rush (2021) are evidence on when small trained models beat large prompted ones and what a prompt is worth in data. For the inputs to , see cost per task and the quality-adjusted comparison; for the training methods themselves, SFT, LoRA and DPO.
Frequently asked questions#
How do I calculate the payback period of a fine-tune?
Add up upfront costs (data, compute, evaluation, engineering), compute the monthly net benefit at full volume (per-task savings times volume, minus monitoring, serving and retraining), and divide. With a linear adoption ramp over μ months, payback ≈ I0 / B + (μ − 1) / 2.
What dominates the cost of a fine-tuning project?
In the illustrative model on this page, engineering time was two-thirds of the $50,000 upfront cost and training compute about 6%. After launch, monitoring and periodic retraining were the costs that decided whether low-volume projects paid back at all.
What volume do I need for fine-tuning to pay off?
Enough that per-task savings times volume exceed recurring costs. In the model, a triage fine-tune paid back in 5 months at 300,000 tasks a month, 13 months at 150,000, and never at 50,000.
How many training examples should I buy?
Until the present value of one more example's quality gain equals its price. Under the stated learning-curve assumptions the NPV-maximising dataset was about 18,500 examples at $2.50 each and 8,500 at $10, several times the roughly 1,000 needed just to match the baseline.
Is a pilot worth it before a full fine-tuning project?
Usually. In the Monte Carlo, an $8,000 pilot that reveals whether the fine-tune beats the baseline raised the mean 24-month NPV at 150,000 tasks a month from about −$5,000 to +$34,000, because it caps the loss in scenarios where the project would fail.
References#
- D. Sculley, Gary Holt, Daniel Golovin, Eugene Davydov, Todd Phillips, Dietmar Ebner, et al. (2015). Hidden Technical Debt in Machine Learning Systems. papers.nips.cc/paper_files/paper/2015/hash/86df7dcfd896fcaf2674f757a2463eba-Abstract.html
- Jared Kaplan, Sam McCandlish, Tom Henighan, Tom B. Brown, Benjamin Chess, Rewon Child, Scott Gray, Alec Radford, Jeffrey Wu, Dario Amodei (2020). Scaling Laws for Neural Language Models. arxiv.org/abs/2001.08361
- Danny Hernandez, Jared Kaplan, Tom Henighan, Sam McCandlish (2021). Scaling Laws for Transfer. arxiv.org/abs/2102.01293
- Chunting Zhou, Pengfei Liu, Puxin Xu, Srini Iyer, Jiao Sun, Yuning Mao, Xuezhe Ma, Avia Efrat, Ping Yu, Lili Yu, et al. (2023). LIMA: Less Is More for Alignment. arxiv.org/abs/2305.11206
- Cheng-Yu Hsieh, Chun-Liang Li, Chih-Kuan Yeh, Hootan Nakhost, Yasuhisa Fujii, Alexander Ratner, Ranjay Krishna, Chen-Yu Lee, Tomas Pfister (2023). Distilling Step-by-Step! Outperforming Larger Language Models with Less Training Data and Smaller Model Sizes. arxiv.org/abs/2305.02301
- Martin Juan José Bucher, Marco Martini (2024). Fine-Tuned 'Small' LLMs (Still) Significantly Outperform Zero-Shot Generative AI Models in Text Classification. arxiv.org/abs/2406.08660
- Teven Le Scao, Alexander M. Rush (2021). How Many Data Points is a Prompt Worth?. arxiv.org/abs/2103.08493