Executive summary
Raw event exports move the transformation work onto your team instead of removing it.
Analytics-ready means modeled fact and dimension tables landing in your warehouse, ready to query.
Use-case dependent: Raw to cloud storage is the right call for a few specific architectures. Modeled tables are the right call for most analysis.
AI analysts write correct SQL against a dimensional model they recognize. Against a raw event blob, they struggle.
Every data team I talk to is running more feeds than they were a year ago. Not slightly more. Meaningfully more, and each one arrives with its own schema, its own quirks, and its own claim on somebody's Tuesday.
So the question I get has changed. It used to be "can you send us the raw events?" Now it's closer to "what do we have to do to this before we can use it?"
Raw data is cheap to send and expensive to use
A raw event export is the simplest possible arrangement: one pipe, one destination; everything preserved, nothing thrown away.
The bill comes later, at query time. Raw behavioral data can't be easily queried as it lands. Somebody has to pre-process it on the fly, inside the query: transform the nested payloads, stitch events into sessions, pivot event types into something a join can reach. That work is expensive in compute and tedious in practice.
And it happens every single time. Not once, in a pipeline, but on every analyst's first attempt at every question. Two people ask the same question, write two different transformations, and get two different numbers. Then somebody has to reconcile them, which is its own meeting.
Meanwhile the data team that was supposed to be building something is instead maintaining the connective tissue between what a vendor sent and what an analyst can actually use. That work is a real job. Companies hire people to do it, and there's an entire category of vendors selling services that do it for you. The question worth asking is whether the job needs to exist at all.
What "analytics-ready" actually means
Plain terms: fact and dimension tables.
Facts hold the measures, the events themselves. Dimensions hold the things you slice by: user, element, page, and so on. It's the same shape data warehouses have used for decades.
That's the point. It isn't a novel format. It's the format every BI tool expects, every analyst was trained on, and every AI coding model has seen more of than any other.
Here's how we do it at Fullstory. We pre-process raw behavioral event data at scale into fact and dimension tables, then export that ready-to-analyze data directly into BigQuery, Snowflake, Redshift, and Databricks.
The work that disappears is the reshaping. Your team goes from raw events to answers without building the layer in between.
One more piece of it, and this is the part data engineers tend to react to: when we add new event types or new data features over time, they show up in your tables automatically. No pipeline change on your side. No migration. The model grows and your queries keep working.
Where raw still fits, and why we're not replacing your warehouse
None of this makes raw data wrong! We ship both, and the raw-to-cloud-storage option exists because some teams genuinely need it.
Three cases where I'd point you at raw without hesitating:
Security or compliance requires it. The data has to land in your own object storage before anything else gets near it.
Your architecture already stages everything. If every source in your environment lands in object storage on the way to the warehouse, you probably don't want one vendor to be the exception.
You have a modeling standard of your own. Some teams conform every source to a house model. If you're going to remodel it anyway, take the raw feed.
What I'd push back on is choosing raw by default. Or choosing it because keeping everything and deciding later feels safer. That's how you end up paying for the transformation twice: once in compute, once in calendar time.
I want to be precise here, because "we model the data for you" can sound like "we'd like to be your warehouse."
We wouldn't and we aren't. The data lands in your warehouse. Your governance, your access controls, your cost center, joined to your CRM and your transactions and everything else that makes behavioral data worth having. Snowflake stays Snowflake. BigQuery stays BigQuery.
What we take off the table is the transformation tier between our export and your first useful query.
Hourly syncs, and where streaming takes over
It’s worth being precise about timing, because "analytics-ready" can get misread as "instant."
Warehouse data syncs hourly. That's the right cadence for what the warehouse is actually for: cohort analysis, attribution, modeling, anything where you're reasoning over history and joining behavioral data to the rest of the business.
It's the wrong tool for acting on somebody who is struggling right now. That's a streaming problem and it needs a streaming answer, which is what Activation streams are for. Different job, different pipe, and many teams end up running both.
So analytics-ready isn't a claim about latency. It's a claim about readiness. It removes the work that sits in front of the query, which saves your data team time and money and shortens the trip from question to answer.
Why the shape of the data matters more now that agents are querying it
This is the part that changed fastest.
Analysts are no longer only people. A meaningful share of the queries hitting behavioral data now come from an AI agent working on someone's behalf, and agents are far more sensitive to structure than we are.
Point an agent at raw events and ask something ordinary, like how many people completed registration yesterday. It has to infer what the events mean, guess at how they relate, and construct the reshaping logic before it can even attempt the count. Sometimes it lands. Often it loops, and every attempt costs you tokens and time.
Point the same agent at fact and dimension tables and it recognizes the shape on sight. Decades of SQL have been written against dimensional models, so that's the pattern these agents handle best. Natural language goes to correct SQL on the first pass.
The second-order effect is the interesting one. When the translation from question to query gets reliable, the set of people who can ask a question stops being the set of people who can write SQL. That's a much larger group.
Which is also why "we'll model it later" is a worse answer than it used to be. The shape of the data now determines who gets to use it.
What to ask, whoever you're buying from
The clearest signal I've seen recently didn't come from a product conversation. It came from a budget one.
We were talking with a large education provider about how the data would land. When they understood that we transform it and export it directly to their warehouse, the thing they reacted to wasn't the modeling. It was the line item they no longer needed for third-party ingestion and transformation tooling. The quote I remember was "I wish everybody were like Fullstory."
I'll take it, though I'd note what they were actually praising. Not a feature. The absence of a project, and the people and budget it would have consumed.
The other pattern worth naming: customers exporting warehouse data across multiple accounts so they can run cross-account analysis in one place. That only works if the data arrives in a consistent, modeled shape. Raw events from five accounts are five reconciliation problems.
Applies to us as much as anyone. If you're evaluating how behavioral data gets to your warehouse, these are the five questions that surface the real cost:
What shape does it land in? | Raw events, or modeled tables an analyst can query without a rebuild? |
|---|---|
Who owns the transformation, and who owns it when the schema changes? | The second half of that question is where the maintenance cost hides. |
What happens when new event types appear? | Automatic, or a ticket for your team? |
How fresh is it, precisely? | Ask for a number and an SLA, not an adjective. "Real-time" is not a number. |
What's the total cost of getting it query-ready? | Include the ingestion tooling, the transformation tooling, the compute burned on repeated on-the-fly reshaping, and the engineer-weeks. The pipe is rarely the expensive part. |
The bottom line
The warehouse stopped being a place data goes to sit. It's where analysis happens, increasingly with an agent doing the asking, and that raises the bar on what "delivered" means.
If the first thing your team has to do after receiving data is rebuild it, the delivery isn't finished. Somebody just moved the work to your side of the wall.
Visit our Anywhere: Warehouse page to learn more.







