Functions that compute a figure the same way every time from the same rows: aggregation, ranking, penetration, growth. In an AI analytics product, the code that does the arithmetic so the model never has to.
The model reads the question, chooses the tool, calls it, and explains the result. The tool computes the figure. Every number has a function name and inputs behind it, and a chart and an answer cannot disagree because they call the same function.
A language model producing a sum is producing plausible text, not performing addition. It is right often and wrong confidently, with no audit trail. A function is testable, and its output can be reconciled.
When the model is unavailable, a planner maps common questions to the same tools and the product still answers. It degrades to a slower interface, not to guesses.
Every figure is produced by a function that gives the same result from the same rows every time: aggregation, ranking, penetration, share, gap. The language model chooses which function to call and explains the result; it does not compute.
Asked for the top ten uncovered accounts by revenue, the system runs a ranking function over the coverage table and returns ten rows with citations. Asked twice, it returns the same ten.
The model allowed to add up a column it can see. It will be nearly right, and the error will look exactly like a correct answer.