Audience analytics for a 3D showroom platform
Start a projectA reporting layer built on top of a multi-brand 3D showroom platform, turning raw visitor tracking into reach, engagement and space performance, delivered as a weekly email digest per brand.
The platform had been recording visitor activity for a long time and almost none of it was reaching the brands paying for it. Raw tracking rows do not answer the only question a brand manager asks, which is whether this is working. They want to know how many real people came, which rooms held them, which products they looked at and where they were, over a period they choose, without having to learn a dashboard to find out. There was a second problem underneath: any new measure would normally start counting from the day it was built, making all the history already collected worthless.
We moved the numbers off the request path. Metrics are rolled up on a schedule rather than recalculated every time someone opens a report, so reporting stays quick as the history grows instead of getting slower every month.
We wrote a backfill that replays existing tracking whenever a new measure is introduced. That means a metric added this quarter still has last year behind it, rather than starting from an empty chart.
Then we built the measures brands actually ask about: reach counted as distinct viewers rather than inflated hits, engagement across a date range the user picks, per-room and per-product counts bounded to that same range, a scoreboard that ranks spaces against each other, and country-level geography with the untidy inputs normalised so one country does not show up three different ways.
Finally we stopped waiting for people to log in. A weekly per-brand email digest goes out with the executive summary on top, and we built the command to run as a dry run by default so nothing could be sent by accident while it was being tuned.
Brands on the platform now receive a weekly summary of how their showroom performed instead of a login they never use, and the studio can add a new measure without losing the history behind it. The reporting runs off rolled-up data, so it stays fast as the archive grows.







