The decision
layer.
One place where the numbers agree, refresh on their own, and tell you something you can act on before the month closes.
What gets built
- Pipelines from the systems that hold the truth: marketplace APIs, the order system, the storefront, advertising accounts, analytics.
- A data model that survives a new market or a new channel without being rebuilt.
- Margin reporting by channel, market and SKU — the same definition everywhere, so two people cannot quote two numbers.
- Alerts that fire on the things that cost money quietly: stock running out on a bestseller, a price below floor, ad spend outrunning contribution.
- Where it earns its place, AI agents that watch the boring boundaries and write up what changed.
Principles it is built on
The order system is the source of truth for own-store sales
Not analytics. Analytics is an attribution tool with a sampling problem and a cookie problem; it is excellent for understanding behaviour and unreliable for counting money. Every reconciliation starts from orders.
Margin, not revenue
Revenue rankings and profit rankings are rarely the same list. The reporting is built on contribution margin from the start, because that is the number decisions are actually made against.
Boring beats clever
Governed tables, documented definitions, scheduled refreshes. A model nobody can explain is a model nobody trusts.
What it typically runs on
BigQuery, Looker Studio, Python, scheduled jobs on Cloud Run. Where you already have a stack, the work adapts to it — the point is the layer, not the logos.
Next step
This work goes better after an audit, because then the scope is drawn from evidence rather than a wish list.