Compute & Cost
Building a Cost Model Your CFO Will Accept
· 9 minute read
A CFO will accept a model that separates cash from TCO, labels every assumption, and refuses fake Indian deployment averages. This is that template.
Finance concurrence dies in two ways. The first is a vendor slide with a single TCO number and a 3D pie. The second is an honest engineer who refuses to put any rupee on paper, so the PAO invents one. This template sits between them. It is the sheet we put in front of a finance officer who has signed GFR files for twenty years and has no interest in your token graph.
A cost model a CFO will accept does four dull things. It says whether a line is cash this year or a comparison spread. It names the assumption behind every rate. It keeps sensitivity on a second page so a 2× utilisation error is visible. It refuses to cite a typical Indian government AI deployment that nobody can produce. Everything else is formatting.
Prcept AI will fill this template with you on an on-prem or air-gapped agent. We will not fill it with a national average we do not have. If that is a problem, we are the wrong vendor and you should find that out before sanction, not after.
Two ledgers, one workbook
Ledger A is cash. What hits which budget head in which year: hardware, GeM licences, IndiaAI hours, SI milestone payments, AMC, power if it is billed to this scheme, eval annotators, training of officers. This is the sheet that maps to a sanction and to DFPR competence. If a line cannot name a head, it is not yet a line.
Ledger B is comparison TCO. Here you may spread a capital purchase over a labelled horizon, include a residual-value assumption, and hold a cloud option next to an on-prem option. Write in 14-point type: this is not the accounts. This is a comparison. GFR capital-versus-revenue still governs Ledger A. Ledger B does not rewrite it.
Never net them into one strategic TCO that finance cannot unwind. The officer who must defend the file before a PAC should be able to point at cash this year with a finger. Speeches and sanctions are different documents. Mixing them is how year two gets cut.
The rows that belong on page one
People forget the rows that do not look like AI. Put them on page one anyway. Data cleanup and migration. Gold-set construction. Integration to the MIS you already run. Identity and privileged-access work. CERT-In-resident logging storage. Evaluation labour every time the model or the circular changes. Idle GPU — the hours the node is powered and unused. SI hypercare after go-live, not only the go-live milestone. AMC after warranty. Power and cooling, method in the electricity article. Exit and sanitisation.
Then the rows that look like AI: model hosting, tokens if any, reserved versus on-demand hours, storage of embeddings and traces, a second environment for eval. If a vendor quote has a single platform line, explode it before it enters the model. A lump is not a model. It is a hope that nobody will ask.
Order-of-magnitude is allowed when a live quote does not yet exist. Write order-of-magnitude, source: [method] and a range. Do not write a false precision to look professional. ₹2.4 crore ± 40 percent is more honest than ₹2.37 crore dressed as a measurement.
| Row | Ledger | Input you must name | Common lie |
|---|---|---|---|
| GPU / host capex or rental | A cash; B spread | SKU, qty, GeM/IndiaAI/on-prem, date of quote | List price from a US blog, INR guessed |
| SI design + integrate + hypercare | A | Milestones, who owns evals after exit | Standard 20 percent with no SOW |
| Data cleanup + gold set | A | Hours × rate, or a contractor quote | Zero, because the demo used clean PDFs |
| AMC / support | A | Quoted percent or rupee, years, what is in scope | GFR-mandated 10 percent (it is not) |
| Power + demand charges | A if billed here; else B | SERC stack, watts, PUE, powered hours | National average ₹/kWh |
| Idle capacity | B, and a utilisation note in A | Powered hours minus busy hours | Ignored, because utilisation is AI |
| Eval / re-eval labour | A | Cadence when model or circular changes | One-time training |
| Tokens / IndiaAI hours | A | Portal extract or API tariff, with a ceiling | Pilot-month × 12 with no tail |
Sensitivities the CFO will flip in the room
Build three toggles before the meeting. Utilisation at 15, 40 and 70 percent of powered hours. Token or hour volume at 0.5×, 1× and 3× the pilot. Power at your bill's landed stack and at ±30 percent. If the ranking of on-prem versus rented hours flips inside that band, say so on page one. A model that only works at the vendor's favourite utilisation is a brochure.
Add a kill-case: the pilot fails and you stop. What cash is already sunk, what AMC you can avoid, what residual you can claim, what SI milestone you can not pay. The companion article on the cost of a failed pilot is the narrative. This template is the arithmetic.
Do not put a benefits column in the same sheet as cash unless the benefit is a budget line you will actually stop paying — a specific outsourcing invoice, a specific overtime head. Better citizen experience is a purpose. It is not a rupee. CFOs who have been before a PAC know the difference. So do we.
How we fill it, and what we leave blank
We will quote our software, our on-prem run path, and the SI hours we are actually contracted for. We will help you bound power and idle. We will not invent an AMC percentage as GFR. We will not drop in a peer department spent X unless that department has put a citable public figure on paper — and even then we will treat it as one point, not a distribution.
If your CFO wants a single number for a speech, give them the cash this year and the comparison TCO as two sentences. If they want a single number for the sanction, give them Ledger A.
GST and the unromantic cells
Ask accounts how GST sits on software, on SI, on AMC and on cloud hours. The treatment is not always the same, and input credit is not a story every government entity can tell. A TCO that ignores tax will be 'corrected' in the room by someone who has no interest in your model size. Put the tax assumption in a labelled cell.
Put foreign-currency risk in a labelled cell too if any line is quoted in dollars. You will buy in rupees. A week of INR movement is not a reason to reopen architecture, but it is a reason not to lock a DPR to a blog's dollar list.
Objections you will hear — and what to do with them
These are the lines that stall the file. Answer them in the room, then put the answer in the note. A spoken answer without paper will be forgotten by the next officer.
The vendor already gave us a TCO
Explode it into these rows. If they cannot, they gave you a poster. Posters do not get concurrence.
Finance wants one number
Give them cash-this-year as the sanction number and TCO as the comparison number. One number that is both is how arguments start in year two.
We cannot estimate data cleanup
Then put a range and a trigger: if cleanup exceeds [N] hours, the go-live date moves. A blank cell is worse than a wide cell.
This template is too conservative; we will lose the budget
A budget won on a thin model is the budget that is cut when the first invoice exceeds it. Win a smaller honest number.
A twelve-day workbook
- Days 1–3: open Ledger A. Name budget heads and DFPR competence for each cash line you already know.
- Days 4–6: explode every vendor lump into rows. Mark each cell live-quote, order-of-magnitude, or missing.
- Days 7–9: build Ledger B with a labelled horizon. Add the three utilisation and volume toggles.
- Days 10–12: write the kill-case. Sit with finance for one hour. Change the sheet in the room. Print the version they initial.
How this shows up in the file
Subject: Cost model for [agent / cluster] — cash and comparison.
Annex A is cash by year and budget head. Annex B is a comparison TCO with assumptions labelled; it is not a charge in the accounts. No peer-deployment average has been used as a fact. Sensitivities on utilisation, volume and power are in Annex C. A failed-pilot kill-case is in Annex D. Recommendation for sanction is the Annex A total for the current year, [amount], under [heads].
This template is an internal aid, not legal, tax or accounting advice. Cash this year is the only sanction number.
This article is informational field guidance for Indian public institutions, not legal, procurement, tax, accounting, tariff or engineering advice. Confirm against the current Gazette, GFR, GeM term, SERC tariff order, IndiaAI portal rule, CAG mandate, DPDP text, departmental finance manual and your counsel before you file it. Figures are methods and order-of-magnitude illustrations, not a dataset of real deployments and not a substitute for a live quote.
Questions this usually raises
- Can we use a standard government TCO circular?
- There is no single MeitY circular that we will treat as a universal AI TCO schedule. Use GFR for capital versus revenue, your finance manual for heads, and this method for the comparison. If your ministry has a specific IT costing OM, attach it.
- Where do IndiaAI subsidised hours go?
- Ledger A, at the rate and quantity on your approval, with a note that subsidy is conditional. Do not net a hoped-for 40 percent before the portal says yes.
- Do we include officer time?
- In Ledger B, if you must, as a sensitivity, never as cash you will recover. In Ledger A, only if you are actually hiring or paying overtime against this scheme.
- How many years should TCO run?
- Match the warranty plus the first AMC period, or the contract term, and label it. Three years is a common comparison. It is not a legal horizon.
- Will Prcept sign the model?
- We will sign the rows that are our quote. We will initial the method. Your finance officer initials the sanction number. Do not ask us to sign your tariff or your grant.
- Is this accounting advice?
- No. It is a concurrence template. Confirm heads and DFPR against your finance manual and counsel.
Sources
- General Financial Rules, 2017
- Prcept AI — platform and sovereignty
- Department of Expenditure — General Financial Rules, 2017 (compilation PDF)
- Department of Expenditure — Delegation of Financial Powers Rules
- Government e-Marketplace
- IndiaAI Mission — official portal
- Comptroller and Auditor General of India