The problem
Our team's goal was to centralize reporting across 14 platforms so brands could analyze their data at a glance. Coverage varies a lot by platform — some give us Sales, Traffic, Media, Content, Affiliate, and Operations data; others only Sales:
| Platform | Sales | Traffic | Media | Content | Affiliate | Operation |
|---|---|---|---|---|---|---|
| Shopee | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Tiktok | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Lazada | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Coupang | ✓ | ✓ | – | – | – | – |
| HKTVmall | ✓ | ✓ | – | – | – | – |
| Momo | ✓ | ✓ | – | – | – | – |
| FoodPanda | ✓ | – | – | – | – | – |
| Shopify | ✓ | – | – | – | – | – |
| Amazon | ✓ | – | – | – | – | – |
| Zalora | ✓ | – | – | – | – | – |
| Robinsons | ✓ | – | – | – | – | – |
| Growsari | ✓ | – | – | – | – | – |
| Rakuten | ✓ | – | – | – | – | – |
| Blibli | ✓ | – | – | – | – | – |
And even where platforms overlap, each reports its own metrics under its own definitions. Without a shared definition, you can't deep-dive or give a brand good insights — you're just comparing numbers that don't actually mean the same thing.
What I did
I used data analytics and user-behavior understanding to figure out what each number actually meant, then normalized those definitions into a bronze → silver → gold pipeline: bronze is the raw report from each system, untouched and messy; silver is one centralized, standardized database where the Analytics team does its work; gold is the aggregated, combined view that dashboards and clients actually see.
The team then built dashboards on top of gold, not on 14 different raw exports.
What happened
200+ pipelines now run every day on that foundation, enabling dashboards for 30+ brands. A few I'm proudest of: