The problems we solve
App Store Connect gives you report files, not answers — and the
files have sharp edges of their own. These are the ones every
mobile team hits, and the ones this pipeline is built around.
Can you export App Store Connect data to a warehouse?
Not natively — Apple offers no warehouse export at all. Its reporting is delivery-based: request a report, wait for generation, download a gzipped TSV, parse it. That’s fine for a monthly export and hopeless as a reporting backend, which is why most teams’ App Store history lives in a folder of files nobody queries.
We invert the model: the API loop — request, download, parse, load — runs daily as a managed pipeline, the files become tables in your own database, and every question after that is just SQL.
Downloads, re-downloads, units — which number is right?
It depends on the question: growth wants first-time downloads, engagement cares about re-downloads, finance reconciles against units. App Analytics and Sales and Trends mix these flavors freely, and most cross-tool discrepancies are two surfaces picking different flavors without saying so.
The data models keep them as separate named columns, so each question has its own honest answer — and the cross-store alignment step gives them the same shapes as your Google Play models.
Why don’t proceeds equal price times units?
Between the sticker price and the proceeds row sit Apple’s commission, the territory’s price tier and the local currency. A spreadsheet that multiplies price by units will disagree with the report every single day.
The pipeline normalizes proceeds into one reporting currency under a recorded FX policy, which makes revenue a number instead of a negotiation.
Why did yesterday’s App Store report change?
A day’s Sales and Trends data completes about two days after its date, and Apple occasionally regenerates reports after that. Pipelines that ingest each file once drift from App Store Connect, and nobody notices until a finance review.
Ours re-ingests trailing days and replaces regenerated files, so your database converges on the settled numbers.
Why are App Analytics sessions so low compared to downloads?
Usage metrics — sessions, active devices — only include users who opted in to share analytics with developers, so they are structurally lower than reality, and the opt-in share isn’t constant across markets or time.
The data models label opt-in metrics explicitly, so trend analysis stays valid while absolute comparisons carry their caveat with them.