Driver-tree assumption suggestions
LLM proposes drivers and ranges from prior models and benchmarks.
Finance processPlanBudgetInvoiceCollectPayCloseReportAudit
By Don, DoneThat’s AI coach · updated
Suggested drivers need a cite, or they stay empty
A quality suggestion is a proposed driver plus a pointer to a source FP&A already trusts: last year's locked tree, a named prior model version, or a benchmark series finance has approved. If the model cannot name that source, the node stays empty. Empty is a valid result. A plausible rate with no cite is not a suggestion. It is an invented assumption.
FP&A still owns the tree. A complete-looking structure does not transfer ownership. Completeness without cites is a quality failure even when every label looks familiar.
Require four fields on every proposed node before anyone debates the number:
- Driver name as it should appear in the tree
- Relationship in the same shape the prior model used (seats × ARPA, headcount × fully loaded cost, tickets × cost per ticket)
- Cite: prior model name and period, or the approved benchmark series
- Range only when the cite itself carried a range (prior high and low cases, or an approved band)
If the cite is a point estimate, suggest the point. Do not wrap it in a band drawn from unnamed industry practice.
Here is the pattern in one pass. Last year's subscription model drove revenue from seats and ARPA, with churn as its own node. Finance had not approved an external market-growth series. A useful suggestion list restates seats, ARPA, and churn, each citing that prior model. A non-useful list adds category growth with a rate and no source, or invents a partner-attach driver that does not exist in the chart of accounts. Use the first list as a draft. Discard the second.
Load last year's tree before anything is proposed
Do not start from a blank canvas. Load the last locked tree (or the last board-approved model) so every proposal can point at a node, a formula, or an approved series that already existed.
- Open last year's driver tree in the planning system you already run. The tree may live in Anaplan, Pigment, Runway, Workday, or a workbook that feeds those tools. The platform does not change the rule: the prior tree is the cite surface.
- Confirm chart of accounts mapping for every existing driver. A suggestion that cannot land on a real account, statistical account, or agreed non-financial driver (seats, tickets, headcount) is commentary, not a driver.
- Run the proposal only against that file and against the approved-benchmark library finance maintains. Ask for drivers and ranges solely where a cite exists.
- Read the output as a candidate list. Leave blanks where the model had nothing to cite. Do not follow up with "fill the gaps" or "use reasonable defaults."
- FP&A accepts, edits, or rejects each candidate. Only accepted nodes enter the live tree for this cycle.
Blank cells look unfinished. Unfinished is accurate. A new product line with no prior model should show empty drivers until an owner writes them. That is slower than autocomplete, and it is how the tree remains a finance artifact.
When a spend line has no inherited driver and the question is what you would fund from scratch, that is not this pass. Use the zero-based budget challenger for that challenge. Do not use ZBB as an excuse to hallucinate structure onto a blank node.
Fluent fills that quietly replace the plan
The failure modes are not crashes. They are completions that look like diligence.
Inventing a market growth rate is the usual silent error. Models have seen category growth figures in generic research and in training data. None of that is your approved benchmark. If finance has not signed a series, there is no growth driver to suggest. Putting a rate in the node trains hiring, opex, and capacity on a number nobody chose. When someone later asks where the rate came from, the honest answer is the suggestion pass. That is not an audit trail.
Adding a driver that is not in the chart of accounts is the next. A tidy tree with pipeline conversion, partner residual, or mix shift can be analytically true and still unusable if those items have no account and no agreed mapping. Actuals will never land on that node. Variance then needs a reconciling item. Keep suggestions inside the CoA and the small set of non-financial drivers you already map. If a new driver is warranted, FP&A adds it as a model change with an account owner, not as an accepted suggestion.
Treating suggestions as the plan is the third. A complete suggestion list is still a list. Publishing it into the live scenario, sending it to budget owners, or locking cases before accept turns the model into the planner. Owners then argue with a tree they did not build. Keep suggestions in a staging view. The live driver tree updates only when FP&A accepts.
Watch the prompts. "Make this tree complete" and "use reasonable industry assumptions" invite invention. Prefer: propose only from last year's model and the approved benchmark library; leave everything else empty.
Accept is a finance action on each node
Ownership is the accept step, not a footer on the page.
Who accepts: the FP&A lead for the tree, or the named owner of that branch (revenue, opex, workforce). A budget owner should not confirm a driver they cannot cite. The model should not auto-accept high-confidence rows. Confidence is not a cite.
Accept means the driver name and formula are now the planning structure for this cycle, the cite is stored with the node so later variance can point at it, and rejected rows stay out. Blank nodes stay blank until a person writes them.
Accept does not freeze the rate for the year, make downstream forecasts true, or review scenario cases.
After accept you still need a forecast method and a way to stress the tree. A ML rolling revenue forecast can consume the accepted drivers. It should not invent the missing ones. Use natural-language scenario generation to apply shocks to nodes that exist, not to quietly add a growth driver this pass left empty. If a node stayed empty on purpose, keep it empty in scenarios until someone owns a write. Filling that blank with a pessimistic rate to build a downside case is the same quality failure with a different label.
Keep the locked tree as the spine for forecast and variance
Once accepted, the tree is structure, not a suggestion.
Revenue and volume nodes should be the same objects the rolling forecast updates. If forecast and plan use different driver names, you will spend the year explaining mapping instead of mix. Align names at accept time.
When actuals land, attribution should walk the same drivers. A variance report with driver attribution is only as honest as the tree. An invented market-growth node will explain a gap with a driver that never existed in the accounts. A blank node that someone later typed into the live model will make variance look clean while the cite is missing.
Re-run the suggestion pass only when the reference file changes: a new locked prior, a newly approved benchmark, or a CoA change. Do not re-run it weekly to see if anything else comes up. That recreates invention on a cadence.
Check the quality bar before you lock: every suggested driver cites a prior model or an approved benchmark; empty stays empty when no prior exists; no invented benchmark; FP&A still owns the tree.
Is this worth automating for you?
Whether this pays back depends on how much time it takes your team today. Most teams estimate that from memory, and the estimate is usually wrong in one direction or the other.
DoneThat reconstructs where the time actually went, with no timers to forget, so you can measure the baseline before committing to a project and check the gain afterward.
Measure the baseline first