Skip to Content

Automating Recurring Reports

On a 2026 benchmark for data-analysis agents, the best system answered correctly first time in **38%** of cases — and, worse than that, one model returned **a silently empty answer in 63.4%** of cases when it got stuck. Not an error message. An empty result. On a monthly report that is the most expensive kind of failure, because it stays hidden for months.
September 12, 2026 by
Automating Recurring Reports
Krisztian Eyssen, Krisztian Eyssen

First: there is no measurement for this

A dedicated, peer-reviewed study specifically on how much time automating a recurring report saves does not exist. I looked.

What does exist comes in two kinds. One is the measurement of written work in general: in a 444-person experiment the time taken by occupation-specific writing tasks fell meaningfully, and quality went up. The other is the randomised corporate experiment across 6,000 people at 56 companies, measured by telemetry: actual users spent half an hour less a week reading email and closed their documents 12% faster.

And there is a third one, often quoted: in an industry survey of 11,749 people, 42% of regular AI users said they save a full day a week or more. The same survey also reports that 66% of respondents get no guidance at all on what to do with the freed-up time, and more than half do not put it into more valuable work either.

"A day a week" is not measured time, it is estimated. And in this area self-estimates are proven to run high — the where AI saves real time post has the numbers, side by side.

What is measured: where it breaks

This is the best part of the 2026 material. One benchmark tested data-analysis agents specifically: 54 natural-language questions, 12 datasets, nine domains, four different database systems.

System Correct answer first time
The best 38%
The second 30%
The third 25%
The fourth 23%
The fifth 9%

And what matters more: even out of fifty attempts only 69% came together for the best one. So this is not random variation, it is a structural limit. On one dataset every agent scored zero percent, on every attempt.

The distribution of the failures tells you what to watch for:

Failure type Share Example
Implementation error 45% a pattern matcher that finds the MALE pattern inside the word FEMALE
Wrong plan 40% it computes a decade average by averaging item by item first, instead of over all the data
Wrong data selected 15% it uses the wrong column or table — while looking successful

What all three have in common is that they do not throw an error. The report gets made, it looks good, and it is wrong.

The silent failure

This part is the point of the article.

The first kind: the quiet stop. In the measurement, one model returned an empty answer in 63.4% of cases after it got back a large, truncated result. It did not try another route, it did not signal that anything was wrong. It simply found nothing — and handed that back as the result.

The second kind: data extracted by pattern matching. The study notes that every agent tested used regular expressions to pull structured values out of free-text fields, and none attempted linguistic analysis. On varied date formats that fails regularly — without an error message.

The third one, which makes maintenance impossible: on another benchmark measuring spreadsheet workflows, the best model's overall accuracy was 34.9%, but on debugging it was 12%. Which means that if an automated report breaks, the agent will not be the one to find what broke. Debugging is the weakest capability measured.

This is worth reading in one piece: if you automate a report monthly, and the system gets something wrong in a significant share of cases while never throwing an error, then you have not automated anything — you have taken on a hidden risk.

The length of the report is the risk

There is a simple calculation that explains why long reports break even when every single number in them is reliable on its own.

If the report presents N metrics and the probability of an error per metric is p, then the probability of a completely clean report is (1 − p)^N.

Take a very generous assumption: every twentieth metric is wrong (p = 0.05).

Number of metrics Chance of a clean report
5 77.4%
10 59.9%
20 35.8%

(Our own calculation. Formula: P(clean) = (1 − p)^N. It assumes the errors are independent — in reality they are often correlated, so the result can come out both better and worse.)

The lesson is not that the model is bad. It is that the report is long. Anyone automating a twenty-metric monthly report has close to a two-in-three chance of at least one error in it — at 95% per-metric accuracy.

And from that follows the single most important design decision: you need per-metric checking, not report-level "looks fine".

The checker that needs checking

The obvious idea is to have another AI review the report. That can work — but there is a number worth knowing first.

A system serving a hundred million users published how it built its own automatic checkers. Agreement between the checkers with the initial, hand-written instructions was practically zero. After optimisation it ran between 0.745 and 0.950.

Which means a badly written automatic checker gives you zero information — while looking as though it is checking.

The accuracy of their four checkers before and after optimisation:

What it checks Before After
Repeated error 77.8% 82.0%
Input validation 68.9% 88.9%
Data validation 58.1% 73.0%
Conciseness 74.0% 76.9%

The weakest is data validation — precisely the one that matters most in a report.

The recipe: five layers

This part comes from descriptions of working systems, not from a standard — no such standard exists.

1. THE TOOL FIRST, THE TEXT AFTER
   The model must not state the number. It should call
   the thing that fetches it. That is how production
   systems solved the invented deadlines.

2. A MEANINGFUL DATA LAYER, NOT A RAW SCHEMA
   The same model scores 51% with a semantic layer and
   44% without. Seven points from wording, not model.

3. "NO DATA" FLAG, ENFORCED FROM OUTSIDE
   The query returns the row count. The report prints
   it. On an empty result it stops, it does not write 0.

4. RANGE CHECK PER METRIC
   Every number gets an expected band. Anything outside
   it goes out flagged, not plain.

5. MONTHLY COMPARISON WITH THE PREVIOUS ONE
   You are not checking whether the report is right, but
   what moved. A silent error usually shows as a jump.

The third point is the most important and the cheapest. That measured 63.4% of silent empty answers is exactly what shows that the model will not tell you by itself when it has no data. This cannot be asked for in a prompt — it has to go into the process.

The fifth point is needed because debugging is where the machine is weakest. If you compare with the previous month, you do not have to find the error: it is enough to see that something moved.

Scheduling and billing

Two practical details that decide the monthly bill.

How fine-grained the scheduling is depends on the plan. At one big automation provider the polling interval is 15 minutes on the free tier, 2 minutes on the paid tier and 1 minute on the top plans. For a monthly report that is irrelevant — for a daily or hourly alert it is not.

The billing unit, on the other hand, matters enormously. There are providers where every single step is a separate billable item, and there are providers where one run of the whole workflow is the unit, regardless of how many steps it has and how much data it processes. On a many-step report the gap between those two is a multiple — and report automation is precisely the kind of job that has many steps.

Common misconceptions

  • "They measured that report automation saves X hours." They did not. The figures quoted are about written work in general, or about self-reporting.
  • "If it goes wrong, it will say so." The overwhelming majority of measured failures are silent: wrong pattern match, wrong plan, wrong table — all with no error message.
  • "If there is no data, it leaves it empty, and that shows." It does not show. In the measurement one model returned a silently empty answer in close to two thirds of cases, which appears in the report as a zero.
  • "I will just ask it to find what broke." That is the weakest capability measured: 12%.
  • "Another AI checks it." Only if you have measured the checker itself. With hand-written instructions its agreement can be zero, while it grades away confidently.
  • "The more metrics, the more valuable the report." The reverse is also true: at twenty metrics there is already close to a two-in-three chance of an error in it, at the same per-metric accuracy.

What to take away

In report automation the hard part is not the generation, it is whether you notice when it breaks. The measurements agree that the failures are silent: no error message, no warning, just a number that is wrong.

That is why the recipe contains the row count, the range and the comparison with the previous month. None of the three is AI — all three are ordinary data validation. The machine takes over the wording, the checking stays where it was.

Exactly where the machine cheats inside tabular data is what the spreadsheets and data cleanup post sets out, with a typology of errors; and the view from the project side belongs to the project and task management post.

Automating Recurring Reports
Krisztian Eyssen, Krisztian Eyssen September 12, 2026
Share this post
Archive