Analysis-ready vs raw: what 'skip the ETL' actually saves you
"It's open data — why would I pay for it?" Fair question. The data is free. What is not free is the distance between the raw download and a dataframe you can actually trust. That distance is the product.
The hidden bill
Pulling a public dataset feels instant. Then the real work starts:
- Acquisition — pagination, rate limits, auth tokens, retries, the endpoint that returns 200 with an error body.
- Parsing — nested XML/JSON, inconsistent encodings, columns that change name between vintages.
- Normalisation — one timezone, one unit, one row grain, deduplication.
- Gap handling — distinguishing missing from zero, reindexing to cadence.
- Validation — does this number even make sense? What is the range, the null rate, the duplicate count?
For a single non-trivial source that is comfortably three to ten engineering days, and it is recurring: the source changes, and your pipeline rots.
Analysis-ready means you start at step five
An analysis-ready dataset has already paid that bill. Concretely, ours ship as:
- Flat Parquet — columnar, typed, fast to scan in pandas / DuckDB / Polars.
- One documented grain — e.g. one row per zone per hour, UTC.
- A data dictionary — every column, type and unit, no guessing.
- A QC report — row counts, null rates, range checks, dedup proof.
- Load examples in three engines, so you are querying in minutes.
The real saving is correctness, not time
The time saving is obvious. The correctness saving is the one that bites later: the DST bug you would have shipped, the silent gap that skewed your average, the unit mix-up that put a decimal in the wrong place. Those do not cost you an afternoon — they cost you a wrong conclusion in a deck three weeks from now.
When raw is the right call
If you need the bleeding edge of a feed, or a source we do not carry, or you genuinely enjoy XML, pull it yourself — the upstream is open and we tell you exactly where it lives. ReadySet is for the (very common) case where your edge is in the analysis, not in re-solving an ETL problem a thousand other people have already solved.
Skip the ETL. Start at the chart.
Stop building parsers. Start at the analysis.
We've already cleaned, documented and QC'd sources like the one in this post into query-ready Parquet - with a free sample on every dataset. Buy a file from €9, or go All-Access for the lot.