FinDaS AI

Quality check

Can I trust the numbers in my monthly report?

A quality check on a monthly revenue report: nine automated checks test its totals, rates and quotes; break a figure and see which mistakes they catch before it goes out.

Break a figure in the September report

As printed, the example report’s September passes all nine checks. Print its closing revenue of €342,458 as €342,485, two digits swapped, and two of the nine fail. A wrong definition applied in every table passes all nine: catching that takes a reviewer who reads the method. Type over any figure, or pick a common mistake; your browser runs the checks again on every change.

Break it with a common mistake

All 9 checks pass.

The report as printed.

Revenue report, September 2026

One simulated month. Whole euros; percentages to one decimal.

Revenue bridge, end of August to end of September
LineRecurring revenue
End of August
New customers
Returning customers
Moved up a plan
Moved down a plan
Left
End of September
Paying customers, end of August to end of September
LineCustomers
End of August
New customers
Returning customers
Left
End of September

Customer churn in September: of the customers paying at the end of August left.

Recurring revenue by plan, end of September
PlanCustomersRecurring revenueShare
Starter (€29)
Growth (€99)
Scale (€299)
All plans100.0%

Prices: unchanged in September. For comparison, euro-area annual inflation was in September 2026, by Eurostat’s flash estimate.

The checks

  • Revenue bridge Adds up: €340,122 + €4,089 + €1,044 + €5,720 − €1,720 − €6,797 = €342,458, as printed.
  • Customer bridge Adds up: 4,468 + 141 + 36 − 153 = 4,492, as printed.
  • Churn and its parts Matches: 153 who left ÷ 4,468 paying at the start = 3.4%, as printed.
  • Plan revenue Matches on every plan: Starter, 2,795 × €29 = €81,055; Growth, 1,230 × €99 = €121,770; Scale, 467 × €299 = €139,633.
  • Shares and their parts Match: 23.7%, 35.6% and 40.8% are each plan’s revenue ÷ €342,458.
  • Shares add to 100% Add to 100% within rounding: 23.7% + 35.6% + 40.8% = 100.1%.
  • Plans add to the totals Match: 2,795 + 1,230 + 467 = 4,492 customers, and €81,055 + €121,770 + €139,633 = €342,458.
  • Same figure, same value Match: 4,492 and €342,458 in the bridges and in the plan table.
  • Quote against its source Matches: Eurostat’s flash estimate gives 3.8% for September 2026.

What the checks catch, and what they cannot

What they catch. Each check is arithmetic on the printed figures, or a lookup of a quote in its source, so the same report gets the same verdict every time. A percentage is read at the precision it is printed to: the churn rate passes as 3.4%, 3.42% or 3%, and fails as 3.3%. The source check holds a figure next to what it is a figure of: Eurostat’s release gives 3.2% too, but for August 2026, so a report quoting it for September 2026 fails.

What they cannot catch. A wrong definition applied the same way in every table, and a bad assumption. Say the query behind the report counts a paused account as paying: every table carries the same wrong count, and all nine checks pass (the demo’s “a wrong definition, everywhere”). The double-counted customer is caught only because the plan table and the customer bridge are computed separately; counted twice in both, it would pass as well. Nor can a check say whether September’s 141 trial conversions, the fewest in 12 months, are a blip or a trend. Those are questions about the method, and they go to reviewers: an AI reviewer reads the method on every deliverable, and on anything you act on, a panel of three reviewer agents and a judge reads it before the analytics director signs.

Where the checks sit in the work

At FinDaS, AI agents build the report, and the number and claim checks run on it before any reviewer reads it. They are scripts, not AI. Each check and each review can send the work back to the agents, and a fixed report goes through the checks again before it moves on. If two fix rounds fail on the same kind of problem, the work stops and the analytics director decides. The full sequence is on how it works. Six checks you can run yourself on any AI-generated report, four of them without code, are in how to check the numbers in an AI-generated report.

Where the figures come from

The company is the one in the revenue forecast demo, and the report is September 2026 in one simulated run of its model, the month the example report prints. None of its figures is a client’s or a benchmark. The one outside figure is euro-area annual inflation for September 2026, 3.8%, from Eurostat’s flash estimate of 2 October 2026. The source check holds the release’s figures as read on 13 October 2026; it does not fetch the release when it runs.

Not covered

These checks read one printed report against itself and one source. They do not compare it with the billing system it came from, read the queries behind it, or test whether a pattern holds on a second sample: checks 2, 4 and 6 in the article on checking AI-generated reports.

Start here

Want these checks on your own reports?

Up to thirty minutes on your reporting, then a fixed proposal.

Book a free call