An overhead view of a team with printed charts and a large screen
FP&A · KPI Analysis · Hub

AI for FP&A KPI Analysis
and Querying

Nobody disputes the arithmetic. They dispute the population, and the deck rarely says which one it used.

Key takeaways
  • KPI disagreements are definition disagreements. Active customers, headcount, revenue, gross margin and days sales outstanding each split into two or three defensible definitions, and packs rarely state which was used.
  • The test of a natural language query layer is not whether it answers. It is whether a controller can tell in under a minute that an answer is wrong.
  • Return the row count with the total and the posting status with the figure. A total that looks right on 240 rows and should have been 2,400 is the error that survives review.
  • In a worked headcount bridge, 412 and 447 were both correct. They answered different questions, and the failure was presenting one without saying which.
  • ChatFin resolves each KPI against a written definition with an effective date, and where two definitions exist it returns both rather than picking one silently.

AI for FP&A KPI analysis means an agent that resolves a metric against a written definition rather than inferring one, shows the filter and the period it used, returns the row count beside the total, and says when the ledger does not support the question. ChatFin does not settle a definition argument. It refuses to answer ambiguously, which is a different and more useful thing.

The reason this matters more than better modelling is that almost every KPI dispute is about population rather than arithmetic. When two decks disagree on headcount or revenue, the calculation is usually identical and the filter is not. A reconciled bridge between the two definitions is a minute of work for an agent and it is almost never run.

FP&AKPI analysisNatural language queryMetric definitionsHeadcountDays sales outstandingReportingBoard packsAI agents for finance
01

Every KPI argument is a definition argument

Nobody disputes the arithmetic. They dispute the population. When sales and finance report different revenue, or two decks show different headcount, the calculation is identical and the filter is not.

KPIWhere the definition splitsConsequence
Active customersInvoiced in the period, or holding a live contractTwo numbers, both defensible, reported as one
HeadcountContracted, paid in the period, or full time equivalentContractors move the number by double digits
RevenueBilled, recognised, or bookedThree answers, and the deck rarely says which
Gross marginWhether support and delivery cost sits in cost of salesChanges the number by several points and never gets restated
Days sales outstandingCount back method or simple averageDiverges most exactly when growth changes, which is when it matters

An agent cannot settle these. What it can do is refuse to answer ambiguously: state the definition it used, show the filter, and report the alternative when one exists.

In ChatFin

ChatFin resolves a KPI against a written definition with an effective date. Where two definitions exist, it returns both and names them rather than picking one silently.

02

Asking the ledger a question in plain English

Natural language querying demonstrates beautifully and fails quietly. Asking is easy. Knowing whether the answer is right is the entire problem.

1

Resolve the question against your own structures

West region has to mean the cost centres your hierarchy says it means, on the version in force for that period, not a guess from account descriptions.

2

Return the query, not just the answer

The filter, the period, the entity and the posting status. An answer with no visible query cannot be reviewed, so it should not enter a pack.

3

Separate posted, unposted and reversed

Most wrong finance answers include a document class the asker did not mean. Unapproved journals and one half of a reversed pair are the usual two.

4

Return the row count with the total

A figure that looks right on 240 rows and should have been 2,400 is the failure that survives review. The count catches it in a second.

5

Say when the data does not support the question

The right answer to a question about a driver the ledger does not hold is to say so, not to answer from a proxy.

The test of a natural language layer is not whether it answers. It is whether a controller can tell in under a minute that an answer is wrong.
03

A metric layer beats a clever model

The durable fix for KPI disagreement is boring. Write the definitions down, version them with effective dates, and make every tool read from the same place.

One definition per metric, with an owner. Not a committee. A named person who decides what active customer means and when it changed.
Effective dates, not overwrites. Changing a definition without dating it makes every historic trend an artefact of the change.
The filter, not the number, is the asset. A stored definition is reusable across the pack, the board deck and the agent. A stored number is not.
Report definition changes alongside results. A metric that moved because the definition moved should never be presented as a business movement.
An overhead view of a team with printed charts and a large screen
The argument in the room is almost always about the filter, not the maths.
In ChatFin

ChatFin reads from a versioned definition set rather than inferring intent from a question. That is what makes the same question asked in March and in September comparable.

04

A worked disagreement, two headcount numbers

The board pack says 412. The people team says 447. Both are produced monthly, both have been produced for two years, and nobody has reconciled them. The bridge takes an agent about a minute and it has never been run.

DifferenceHeadsWhich definition includes it
Contractors paid through payables, not payroll21People team only
Employees on unpaid leave6People team only
Leavers in their notice period9People team only
Part time counted as one rather than as a fraction11People team counts heads, finance counts full time equivalent
Two subsidiaries outside the finance consolidation4People team only
Rounding on full time equivalentnegative 16Finance only
Net difference35 
Neither number is wrong. They answer different questions and both are correct for the question they answer. The failure is that the pack presents one of them without saying which question it answered.

Once the bridge exists it can be produced every month at no cost, and the conversation stops recurring. That is the shape of value an agent adds to KPI work: not a better number, a reconciled one.

05

Trends that survive a restructure

The most common way a KPI trend lies is that the organisation changed underneath it. Four cases, all of which an agent should detect and report before it draws a line.

ChangeWhat the trend appears to showWhat to report instead
A department is addedA step increase in costPopulation difference, with and without the new department
Two entities mergeA discontinuity nobody explainsRestated comparative on a like for like basis
A cost is reclassifiedOne line falls, another risesBoth lines together, with the reclass named
A metric definition changesA permanent shift at one pointThe definition change, dated, with both bases shown
In ChatFin

ChatFin checks the population and the definition version before it reports a movement. Where either changed inside the comparison window, that is reported first, because otherwise the reader draws a conclusion about the business from a change in the bookkeeping.

06

What belongs in a board pack and what does not

The constraint on a board pack is attention, not data. An agent that can produce any metric makes that constraint worse unless somebody decides what earns a place.

A metric with no decision attached should not be there. If no board action changes based on the number, it is reporting for its own sake and it crowds out the ones that matter.
Every metric needs a comparison the reader can trust. Prior period, plan, or prior year, on a like for like population. A number with no comparison is not information.
State the definition once, in the pack. A footnote saying revenue means recognised revenue on the current consolidation basis removes an entire category of question.
Show the structural changes before the movements. Departments added, entities merged, definitions changed. Otherwise the first question in the room is one the pack should have answered.
1

Draft from the ledger, edit as a person

The agent assembles the figures, the comparisons and the population notes. A person decides what the board needs to see and writes the sentence.

2

Keep the working paper separate from the pack

The full detail, with filters and row counts, belongs in a working paper the reviewer can open. The pack carries the conclusion.

3

Version the pack definitions with the pack

So a board member comparing this quarter to last is comparing the same thing, and any change is visible rather than inferred.

In ChatFin

ChatFin drafts the pack figures with the working paper attached to each one. What earns a place on the page is an editorial decision and it stays with the finance lead.

07

Where a KPI agent underperforms

Three, and all three are organisational rather than technical.

No definitions are written down. An agent applies a definition consistently. It cannot choose one, and asking it to is how you get a confident number nobody agreed to.
The driver lives outside the ledger. Pipeline, usage and satisfaction metrics sit in other systems. Reporting them from a proxy quietly changes what the metric means.
Nobody owns the metric. Where a definition has no owner, a reconciled bridge gets produced, admired and ignored, and the two numbers carry on circulating.
In ChatFin

ChatFin will produce the bridge between two competing definitions on request. Deciding which one goes in the board pack is a decision for a person, and it should be written down once rather than remade every month.

Deeper in FP&A KPI analysis

Two use cases sit under this hub, in build and shown rather than linked.

Worked on this page
Natural language querying of finance data · KPI analysis

Questions FP&A teams ask first

Why do two reports of the same KPI disagree?

Because they use different populations, not different arithmetic. Headcount splits into contracted, paid in the period and full time equivalent. Revenue splits into billed, recognised and booked. Each is defensible and each answers a different question. ChatFin resolves a KPI against a written definition with an effective date, and where two definitions exist it returns both and names them instead of choosing silently.

How do you know a plain English answer from the ledger is right?

Make the tool show its working. The filter it applied, the period, the entity, the posting status and the row count behind the total. Most wrong finance answers include a document class the person asking did not mean, usually unapproved journals or one half of a reversed pair. ChatFin returns all of that with every figure, because an answer nobody can check should not enter a board pack.

What stops a KPI trend from being misleading?

Checking the population and the definition version before drawing the line. A department added, two entities merged, a cost reclassified or a definition changed all produce a movement that looks like a business event and is not. ChatFin reports the structural change first, dated, with both bases shown, so a reader does not draw a conclusion about the business from a change in the bookkeeping.

How ChatFin works on KPIs

Not a better number. A reconciled one.

ChatFin resolves every KPI against a versioned definition, returns the filter, period, posting status and row count with the figure, and reports when a definition or a population changed inside the comparison window.

Where two definitions compete, it produces the bridge between them line by line. Deciding which one goes in the pack stays with a named person.

Bring two reports of the same KPI that disagree. The bridge takes minutes.

Book a demo
AM
Ashok Manthena
CEO and co founder, ChatFin

Ashok Manthena is the CEO and co founder of ChatFin, an AI agent platform for enterprise finance that runs across NetSuite, Acumatica, JD Edwards, SAP and Dynamics 365. He works with CFOs and controllers on governed automation of the close, payables, receivables and reporting. Connect on LinkedIn.

Image credits. Header photograph: an overhead view of a team with printed charts and a large screen, sourced from Pexels and used under the Pexels licence.
All images are served from the Pexels content network. No third party product screenshots, vendor logos or licensed media are used on this page.
Get started

Bring two numbers that disagree.

We will build the bridge between them through ChatFin, line by line, and show you which definition each report was actually answering.

✓Every figure returned with its filter and row count
✓Definitions versioned with effective dates
✓Structural changes reported before movements
Request a demo
Confidential & private