AI data analysis

Why AI Data Analysis Still Sends You Back to Excel

An AI agent can answer a question about your spreadsheet in seconds. Then someone asks where the number came from, and you open Excel anyway. The problem is not the answer. It is everything the answer left behind.

Ask an AI agent a question about a spreadsheet and you will usually get a good answer. Ask it again next month, with next month’s file, and you start over. Ask it where one number in the answer came from, and you open Excel.

That last step is the tell. Teams do not go back to Excel because the AI was wrong. They go back because the AI’s answer arrived alone.

What actually happens after the answer

Here is the loop most teams are in today. A file lands in a shared drive, say sales_q3_final.xlsx, with a sheet called “Q3 by region”. Someone pastes it into a chat, or points an agent at it, and asks for revenue by region.

The agent reads the sheet, writes a bit of Python, and produces a tidy table. So far so good. Then the ordinary questions arrive:

  • “Does this include the returns row at the bottom?”
  • “Which customer_id values got dropped by the join?”
  • “Can you run the same thing on the September file?”
  • “Where did the 12.4% come from?”

Each question sends someone back to the original workbook to check by hand. The analysis was correct; it was just not inspectable. And an analysis you cannot inspect is one you cannot sign.

The answer is not the deliverable

A chat answer is a number without a path. The deliverable a business actually needs is the path:

What the agent producedWhat the reviewer needs
A table of revenue by regionThe rows behind each cell of that table
A sentence: “returns excluded”The filter, as a step that can be read and rerun
A Python snippet in the chatThe same logic as a saved transformation with named inputs
This month’s resultThe same result next month, from next month’s file, without asking again

None of this is exotic. It is what a careful analyst does in Excel with a second sheet, a pivot, and a column of formulas. The difference is that Excel keeps it, and the chat does not.

Why “just show the code” is not enough

The usual fix is to show the Python the agent wrote. That helps a reviewer who reads Python. It does not help with the three things that make people redo the work:

  1. The code ran against a copy that no longer exists. The sandbox that loaded sales_q3_final.xlsx is gone. The code cannot be rerun on the same rows, so it cannot be checked.
  2. The code has no memory of the file’s quirks. The merged header cells, the subtotal rows, the “revenue” column that is text in March and numbers in April. Each run rediscovers them, sometimes differently.
  3. The code is not addressed to anyone. A reviewer cannot click a number and land on the rows that produced it. They can only read the code and trust it.

Code is necessary. It is not the unit of trust.

What an analysis needs to keep

An analysis that does not send anyone back to Excel keeps four things, and keeps them by default rather than as a favor:

  • Typed tables, not pasted ranges. “Q3 by region” becomes a table with named, typed columns — customer_id is an identifier, revenue is a number — and the original file stays alongside, untouched.
  • Transformations as steps. “Revenue by region, returns excluded” is a saved transformation with named inputs. It reads like a sentence, and it runs again on the next file.
  • Lineage from output to source. Every number in revenue_by_region can be followed back through the transformation to the rows in “Q3 by region” that produced it.
  • Versions. Last month’s result is still there, exactly as it was, and can be compared to this month’s.

In D2B, the same request an agent handles in a chat lands as a transformation with lineage. This is what that looks like when written down rather than typed into a chat:

-- revenue_by_region: revenue by region, returns excluded
CREATE OR REPLACE TABLE "{{ artifact_name }}" AS
SELECT region, sum(revenue) AS revenue
FROM "{{ src }}"
WHERE revenue > 0
GROUP BY 1

The {{ src }} binding is what makes it rerunnable: point it at September’s table and the same step produces September’s answer. The lineage is what makes it checkable: each row of revenue_by_region points at the source rows it summed.

Excel is not the enemy

It is tempting to read “AI sends you back to Excel” as an argument against Excel. It is the opposite. Excel is where the people who own the numbers work, and the result has to come back to them in that form — the same workbook, the same formatting, the values updated.

The failure is not that the analysis ends up in Excel. It is that the analysis has to be redone in Excel, because the AI kept none of the work.

What to ask of any AI data analysis tool

Before trusting an AI-generated report, ask four questions of the tool that made it:

  1. Can I click a number and see the rows it came from?
  2. Can I rerun this on next month’s file without re-explaining the file?
  3. Can I see what changed since last time, and go back?
  4. Does the result come back as the Excel my team already uses?

If the answer to any of them is “you can ask the agent again”, you will be back in Excel by Friday.

Frequently asked questions

Is AI data analysis accurate enough to use for real reports?

Accuracy is usually not the failing part. Modern models handle sums, joins and filters well. What fails is verifiability: the report arrives without the path that produced it, so the moment someone questions a number, the whole analysis has to be redone by hand.

Why do people still go back to Excel after using an AI tool?

Because Excel keeps the work in a form other people can open, check and edit. A chat answer is a dead end: you cannot click a number to see its source rows, and you cannot rerun last month's analysis on this month's file.

What should an AI data analysis keep so it does not have to be redone?

The transformations as reusable steps, the lineage from every output number back to source rows, the versions of the data over time, and the ability to return the result in the same Excel layout people already use.

Tags: This article as Markdown

Send us the spreadsheet as it is

D2B takes spreadsheets made for people, keeps every number traceable, and returns Excel in its original formatting. Free to start, no card.