3 min read AI Data Stream Team

Your AI Analyst Now Does Real Math (and Joins Your Data Sources)

AI Data Stream now stores your analytics data in private SQL tables and computes every sum, average and comparison with SQL — so the numbers in your answers are exact, not estimated.

Ask any AI chat tool a question like “what percentage of my total clicks came from my top 10 queries?” and there’s an uncomfortable truth behind the confident answer: the AI was reading hundreds of rows of data and doing the arithmetic in its head. Language models are genuinely good at many things — mental math over large tables is not one of them. The total might be slightly off. The percentage might not match the rows. And you’d never know without checking by hand.

We’ve just shipped a change that removes that problem entirely.

What changed

When your AI assistant fetches data that needs computing — sums, averages, week-over-week changes, rankings, comparisons — it now stores that data in a private SQL table scoped to your conversation, then writes an SQL query to compute the answer. The database does the math, not the model.

The difference is simple to state: every number in the answer is now the result of a database query, not an estimate. SUM(clicks) returns the same answer every time, no matter how many rows are involved.

You’ll notice the change in the conversation itself. Instead of the AI silently reading data, you’ll see it store results (“312 rows stored”) and then run queries against them — the same way a human analyst would pull data into a spreadsheet before computing anything.

Cross-source questions finally work

The bigger unlock is joins. Because data from different sources lands in the same per-conversation database, the AI can now answer questions that span them:

  • “For the last 28 days, do my Search Console clicks and my Analytics organic sessions track each other? Flag the days they diverge.”
  • “Take my top 20 pages by search clicks and show me their engagement rates from Analytics — which pages get clicks but lose visitors?”
  • “Does my Google Ads spend by day line up with organic traffic dips?”

That first question is one we’ve written about before — GA4 and Search Console almost never show the same numbers, and figuring out whether a gap is normal or a real problem used to be a manual job. Now it’s one question. In our own testing, the assistant joined both sources by date, computed the correlation, flagged the divergent days, and — because it also checks your annotations — connected a tracking-configuration change we’d logged to the exact days the numbers drifted apart. That’s not a dashboard. That’s an analyst.

More data per answer, too

Because stored data never crowds the AI’s working memory, we’ve also raised how much it can analyze in one go — up to 5,000 rows per fetch, up from 1,000. Big queries like “every search query from the last 90 days” now land in one pass instead of being sampled or paginated.

Questions to try

If you want to see it working, these play to the new strengths:

  • “Find queries where I rank between positions 5 and 15 with at least 500 impressions but a CTR under 2% — my striking-distance opportunities.”
  • “Compare average organic sessions on weekdays vs weekends over the last 90 days.”
  • “Which of my top pages by search clicks underperform on engagement once visitors land?”

The boring-but-important details

  • Stored data lives in your team’s private storage, in a separate file per conversation — never shared across teams or conversations.
  • It’s a cache, not a copy of record: it’s deleted when you delete the conversation, cleaned up automatically after 30 days of inactivity, and excluded from your team backups. The AI simply re-fetches from Google if it needs the data again.
  • The AI’s queries are strictly read-only.
  • It works with every AI provider you can connect — Anthropic, OpenAI, Google Gemini and DeepSeek — because the storage layer sits in our app, not in any one model.

Questions?

If you see anything odd in a computed answer — or there’s an analysis you wish the assistant could do — tell us. This feature grew directly out of watching real questions hit their limits, and the next improvements will too.

Related Posts