Start your 3-day free trial
Sign up to experience all premium features at no cost.
*Available only to new users. Each user is limited to one trial.


To create a budget forecast with AI, first freeze the entity, period, currency, units, accounting sign convention, and verified actuals. Build a time-phased ledger, calculate every formula in a controlled spreadsheet or script, and reconcile totals before giving locked results to AI for a narrative draft. The language model must never be the formula source or overwrite approved numbers.
This guide creates one rolling forecast baseline for an operations team. It does not compare alternatives like a cost-benefit analysis, and it does not run multiple futures like scenario analysis. Use the broader controls in How to Use AI, especially when financial data is confidential.
Key Takeaways
- Freeze period, entity, currency, unit, sign, and version.
- Import verified actuals and commitments from named systems of record.
- Store each driver, formula location, source, status, and owner.
- Calculate in a deterministic spreadsheet or script, never in prose.
- Check duplicates, missing rows, period bridges, subtotals, totals, and rounding.
- Give AI only de-identified inputs and locked outputs for explanation.
- Require budget owner and finance review before the forecast is used.
State what is being forecast and why. “Forecast spending” is too broad. A usable question identifies an entity, accounts, start and end periods, reporting cadence, decision use, comparison baseline, and owner.
| Field | Record |
|---|---|
| Forecast ID/version | Stable ID and revision |
| Entity/scope | Included business unit and exclusions |
| Period | Actual cutoff and forecast horizon |
| Grain | Month, week, account, cost center, or project |
| Currency/unit | Transaction and reporting currency; whole, thousands, or millions |
| Sign convention | Expense, income, cash-in, and cash-out signs |
| Baseline | Approved budget or prior locked forecast |
| Owner | Budget holder and finance reviewer |
The GOV.UK Budget Holder Forecasting Handbook emphasizes clear roles, regular review, evidence, and management of assumptions in public-sector forecasting.[1] Its governance principles are useful examples, but each organization must follow its own accounting policy and local requirements.
List every source before importing data. Record system, extract date, period coverage, query or report ID, owner, and control total. Preserve the raw export read-only. Work on a versioned copy.
Do not upload real payroll, customer, vendor, bank, account, or unreleased financial data to an unapproved model. Design the workflow with synthetic rows such as ENTITY-A, ACCOUNT-4100, and 100 currency units. See AI privacy risks for minimization and access boundaries.
Before modeling, check:
If cleanup is needed, use a separate, auditable process such as cleaning spreadsheet data with AI assistance, but keep deterministic validation as the authority.
Use one row per stable key and period. Keep inputs, formulas, outputs, and commentary distinct.
| Field | Purpose |
|---|---|
| Version | Identifies the locked model run |
| Entity/account/period | Composite row key |
| Currency/unit/sign | Prevents silent scale or direction changes |
| Actual | Verified posted amount |
| Commitment | Approved purchase order, contract, or other committed amount |
| Driver ID/value | Named assumption and numeric input |
| Formula location | Cell, named range, query, or script function |
| Forecast | Deterministic calculated output |
| Source/owner/status | Evidence and accountability |
Never type a forecast number into a narrative and later copy it back into the model. The controlled ledger is the numeric truth; commentary is derived from it.
Actuals have occurred and should reconcile to the source. Commitments are authorized future obligations under the organization's definition. Drivers are assumptions such as headcount, usage, unit rate, timing, renewal, or seasonality. Do not blur the three categories.
Example with synthetic data:
| Period | Actual | Commitment | Driver input | Forecast status |
|---|---|---|---|---|
| M01 | 100 | 0 | Not applicable | Locked actual |
| M02 | 120 | 0 | Not applicable | Locked actual |
| M03 | — | 80 | Volume 10 × rate 12 | Formula output 200 |
The table illustrates structure, not a real forecast. A deterministic formula would reference the commitment, volume, and rate cells. It should also state whether commitments are additive or already included, preventing double counting.
Give each driver an owner, source, effective period, unit, range, and review date. Record whether it is approved, provisional, or blocked.
| Driver ID | Definition | Unit | Source | Applies to | Owner | Status |
|---|---|---|---|---|---|---|
| D-01 | Synthetic monthly volume | items/month | Approved planning note | M03–M06 | Operations | Provisional |
| D-02 | Synthetic unit rate | currency/item | Signed rate table | M03–M06 | Procurement | Verified |
GAO's Cost Estimating and Assessment Guide discusses credible estimates, ground rules and assumptions, data, sensitivity, risk, documentation, and updating.[2] A budget forecast is not identical to a cost estimate, but traceable assumptions and reproducible calculations are valuable controls in both.
Use a protected spreadsheet, database query, or reviewed script with explicit formulas and version control. AI can help describe a requested formula for a human to implement and test, but it must not be the execution authority.
For example, a controlled model may implement:
forecast[account, period] = committed_amount
+ approved_volume * approved_unit_rate
+ approved_fixed_adjustment
The real implementation must define null behavior, rounding, currency conversion, inclusions, and whether each component overlaps. Unit-test a script or use spreadsheet checks with known synthetic cases. Protect formula cells and record who changed them.
Never accept “the total looks right” or a model's arithmetic explanation. Recalculate from source cells using a separate check or equivalent deterministic path.
Many material errors are dimension errors rather than difficult mathematics. Run explicit tests:
Flag, do not coerce, a row with an unknown dimension. Converting blanks to zero can hide missing inputs.
Use a check sheet or test report independent of presentation formatting.
| Check | Expected result | Failure action |
|---|---|---|
| Source actual total − imported actual total | 0 within defined tolerance | Stop and trace import |
| Duplicate composite keys | 0 | Stop and resolve ownership |
| Required account-period rows missing | 0 | Explain or add controlled row |
| Detail sum − account subtotal | 0 | Trace formula range |
| Account subtotals − entity total | 0 | Trace mapping/formula |
| Actual cutoff to forecast start | Continuous | Repair period map |
| Current version − prior version | Fully explained | Add variance owner |
The Green Book discusses appraisal, uncertainty, assumptions, and transparent use of evidence for public decisions.[3] It is not a universal accounting manual. Use its transparency principles as an example and let the responsible finance function define the applicable forecasting policy.
Define the expected key universe. A duplicate may double count; a missing row may incorrectly look like zero. Compare actual key counts with expected accounts, entities, and periods. Report added, removed, and unmapped keys between versions.
Do not let AI “clean” these exceptions by choosing one row or filling an amount. It may group exception messages after identifiers are de-identified, but the data owner must resolve them in the source or controlled transformation.
The transition period deserves a specific check. Identify the last closed actual period, any open-period accrual policy, the first forecast period, and treatment of late postings. Ensure commitments are neither omitted nor counted in both actual and forecast.
Create a bridge:
| Component | Amount | Source/formula | Owner | Status |
|---|---|---|---|---|
| Last locked forecast | 1,000 | Version F-07 | Finance | Locked |
| Actual variance | +20 | Deterministic actual comparison | Finance | Reconciled |
| Timing shift | -10 | Approved driver change | Operations | Reviewed |
| New commitment | +30 | Commitment register | Procurement | Verified |
| Current forecast | 1,040 | Sum of bridge components | Finance | Reconciled |
Numbers are synthetic. The bridge must add exactly to the locked current forecast under the defined rounding rule.
Export a de-identified result table containing approved totals, variances, driver labels, and explanations. Mark it read-only and give it a version ID. Ask AI to draft narrative only from those values.
Draft a variance explanation from the supplied LOCKED table.
Copy numbers, units, periods, signs, and driver labels exactly.
Do not calculate, interpolate, forecast, rank, recommend, or fill blanks.
For each sentence cite the row or bridge ID. Mark ambiguity as [VERIFY].
Return commentary only; do not modify the table.
Compare every number in the draft to the locked export. Use fact-checking AI answers as the verification pattern. A fluent explanation can reverse a sign or confuse a timing shift with a permanent change.
For each material change, record amount, percentage where meaningful, period, driver, evidence, owner, and whether it is timing or permanent. Define materiality through finance policy, not a model-generated threshold.
Compare the current version with the prior locked version and the approved baseline. Preserve both the numerical bridge and narrative changes. A changed formula, mapping, actual cutoff, or rate can explain a variance even when the business driver did not change.
NIST's generative AI profile identifies confabulation and governance risks.[4] Separating deterministic calculation from language generation, restricting data, and requiring human review reduces those risks but does not certify the forecast.
The budget holder validates operational assumptions and commitments. Finance validates accounting treatment, model controls, reconciliation, materiality, and presentation. Other specialists review tax, treasury, procurement, or legal assumptions where applicable. They approve one identified version.
Archive the source-register version, controlled model, check report, exception resolution, locked output, narrative draft, human edits, approvals, and review date. Do not archive secrets or unnecessary personal data. Set triggers for new actuals, material commitments, rate changes, errors, or policy changes.
You need scope, periods, currency, units, sign convention, verified actuals, commitments, drivers, account mappings, sources, owners, and a controlled calculation model.
Close actual periods under the approved policy, advance the forecast horizon consistently, and check that the actual cutoff and first forecast period neither overlap nor leave a gap.
No. Define commitments under local policy and state whether they are included in, or added to, driver-based forecast amounts to prevent double counting.
Define each driver's unit, source, owner, approved value, applicable period, and formula mapping. Calculate it in the controlled model and reconcile the result to source rows; do not let AI supply a missing driver.
Not as the source of truth. Use approved rate data and deterministic formulas, then reconcile. AI may explain locked results without changing them.
Document one sign convention and test credits, reversals, income, expenses, cash-in, and cash-out. Never infer meaning from a minus sign alone.
Flag and resolve them through the data owner and controlled transformation. Do not ask AI to select a duplicate or turn a missing amount into zero.
Recompute control totals and bridges through a separate deterministic check, verify formula ranges and mappings, and test known synthetic cases.
It can organize field definitions, surface missing explanations, and draft commentary from locked results. It cannot be the formula authority, approve assumptions, or alter numbers.
Sources checked 31 August 2026.
Sign up to experience all premium features at no cost.
*Available only to new users. Each user is limited to one trial.