Data prep is the unglamorous work between raw connector tables and numbers the business trusts. Here is what it involves on Snowflake, the five jobs every eCommerce team repeats, and why so many teams stall at exactly this step.
On Snowflake, prep is the work of turning raw, loaded data into clean, analysis-ready tables: deduplicating, standardising, joining and reshaping until every table has a clear grain and a definition someone is willing to stand behind. It sits between two things most teams already have. On one side, connectors – Fivetran, Airbyte, or native loaders – land raw Shopify, Meta and Google Ads data into RAW schemas. On the other side, BI tools visualise finished tables. Prep is everything in the middle.
This guide uses four terms precisely. Prep: clean and prepare data. Dataflow: a set of components that builds a SQL transformation, with a declared output and grain. Schedule: orchestrate the dependency between transformations and their refresh times. Model: a set of dataflows that produces an output for one business subject area – Customer LTV, Blended CAC, Churn & cohorts.
Two properties separate real prep from ad-hoc querying. First, it should run in Snowflake – as pushdown SQL executing in your own warehouse – not as extracts copied into a desktop tool and back. Second, it should be repeatable: a dataflow that runs on a schedule, with dependencies, not a query someone re-runs by hand every Monday. Most of the pain teams describe as "our data is a mess" is actually the absence of one of these two properties.
The connector brochure says "your Shopify data in Snowflake in minutes", and that part is true. What lands, though, is shaped for syncing, not for analysis. A typical raw layer for an eCommerce brand looks like this:
cost_micros (millionths of the account currency), segmented by a different date column name than every other source.None of this is wrong – it is faithful to each source system. But revenue is keyed by order and customer, spend is keyed by campaign and day, and the business question ("what did we make after ad spend yesterday?") spans all of them. A warehouse full of raw tables is potential energy. Prep is what converts it.
Across eCommerce and subscription brands, the same five prep jobs come up on almost every source, in roughly this order:
meta is not facebook is not paid_social – so spend and revenue can meet in the same row.The first job, deduplication, is a two-line pattern in Snowflake once you know it:
-- One clean row per order: latest synced version wins
create or replace table PREP_ORDERS as
select *
from RAW_SHOPIFY.ORDERS
qualify row_number() over (
partition by order_id
order by _synced_at desc
) = 1;
Individually, none of these jobs is hard. What makes prep expensive is that each one encodes a business decision – whose timezone, which customer key, what counts as a new customer – and those decisions have to hold consistently across every dataflow that touches the data afterwards.
If the jobs are known and the SQL is learnable, why does prep stall? Three structural reasons, and they compound.
The skills split. The people who know the business definitions – analysts – usually don't own the transformation tooling. The people who own the tooling – data engineers, where they exist – don't own the definitions. So a one-line change to "what counts as a new customer" becomes a ticket, a sprint, and a review. At brands with no data engineer at all, the queue is just longer: it runs through an agency or a borrowed backend developer.
The two-tool problem. The classic stacks split prep from schedule: dbt for transformations plus Airflow for orchestration, or a desktop prep tool plus a server product to run it on a timer. Two tools means glue code, two failure surfaces, and an engineer to keep the pair alive – which recreates the skills split even in teams that adopted the tools to escape it. (We compare the trade-offs directly in Refyner vs Alteryx and Refyner vs dbt / Airflow.)
The rebuild problem. LTV, blended CAC, retention, RFM – every eCommerce brand needs substantially the same models, and almost every team builds them from a blank canvas as if they were novel. That is weeks of prep work spent re-deriving decisions hundreds of teams have already made.
The visible symptoms are familiar: a prep backlog measured in weeks, dashboards quietly pointed at raw tables because the prepped ones aren't ready, and the real reporting living in a spreadsheet a marketer exports on Fridays.
Teams that get past the stall tend to converge on the same shape, whatever tools they use:
Notice that none of this requires a particular vendor. It requires collapsing the distance between the person who knows what the number should be and the system that produces it.
Refyner is built for exactly this shape of work. Analysts prep and schedule dataflows in one place, everything runs as pushdown on your own Snowflake, and the eCommerce and subscription models above – LTV, blended CAC, retention and repurchase, RFM, MRR movement, churn – ship built in rather than rebuilt from scratch. Prep and dataflow building are free; scheduled dataflows are pay-as-you-go – the detail is on the pricing page. If you are weighing this against a general-purpose desktop prep tool, start with Refyner vs Alteryx.
Keep reading:
Data prep is the work of turning raw, connector-loaded tables into clean, analysis-ready tables inside Snowflake – deduplicating, standardising units, resolving customer identity and defining a clear grain. Done well, it runs as pushdown SQL in your own warehouse and is packaged as repeatable, scheduled dataflows rather than one-off queries.
No. dbt plus Airflow is one proven way to run prep and scheduling, but both are code-first tools that assume an engineer owns them. Analyst-run platforms like Refyner put prep and schedule in one place on your own Snowflake, so an analyst can ship the same production dataflow without an engineering ticket.
A dataflow is a set of components that builds a SQL transformation with a declared output, grain and schedule – it can be validated before it runs, monitored while it runs, and rerun on a dependency chain. A script is just text: it runs when someone remembers to run it, and fails silently when the schema underneath it changes.
Connect your Snowflake and your analysts prep, build and schedule dataflows themselves – with the eCommerce models in this guide already built in.