Industries
Gaming & digital media
We turn event data streaming from millions of users into an analytics warehouse that answers subscription and content questions in seconds.
A mobile game or content app produces two kinds of data. Operational data (users, books, subscriptions) sits in the app’s own database, in normalised tables designed for transactions. Behavioural data arrives from the device as events and piles up file by file in object storage: which screen opened when, which book was read for how many seconds, which game was launched how many times. Each does its own job. But “which content held which age group this month” needs both at once, and both are slow to answer it.
Event design comes first
Data that is not collected cannot be produced later. Writing down, before the app ships, which event is sent at which moment and with which fields (session id, profile, device, scene, duration) is the foundation of every later report. We build this list together with the development team and tie retention and session metrics to their source events from the start.
A separate warehouse for analytics
An operational database is designed for joins, an analytics warehouse for scans. In a columnar engine such as ClickHouse, a book’s authors, categories and languages sit in one row as arrays; one table is read instead of seven. Event files are read straight from object storage into fact tables enriched with dimensions, with materialized views producing hourly and daily aggregates on top.
Starting small and growing report by report
We do not try to build every dimension and every fact in the first step. We take a single fact table live with user, content and time dimensions and produce three reports from it. As the schema grows, school, publisher, subscription and revenue layers are added, each one answering a report need.
Our work in this area
Mayadem
Mayadem: from game events to a ClickHouse data warehouse
Two pieces of work in two periods for Mayadem, a studio building children's games and content apps. In 2022 we designed the events and built marketing dashboards for TRT Çocuk Oyun Dünyası. In 2025 we built a ClickHouse analytics warehouse for the MagicPages reading app that brings PostgreSQL and S3 together, with join-free array-based dimensions and fact tables that answer in seconds. The work continues as data-organisation consulting.
- 7 → 1 Book dimension
- 130+ Event definitions
Upily
Upily: discovery and audit of the Wonjo Kids data infrastructure
The Firebase, Adjust and RevenueCat data of Wonjo Kids, a games app for children, had been gathered in BigQuery, but the setup had grown organically and become complex. We examined more than 1,500 BigQuery objects and 330 events across seven areas: table inventory, pipelines, cross-platform matching, platform parity, taxonomy, event tracking and dashboards. Strengths, risks and a four-phase transformation roadmap were delivered in a single report.
- 1,500+ Objects examined
- 330+ Events