How a B2B E-Commerce Platform Built Analytics It Could Trust
A fast-growing B2B e-commerce platform operating across Southeast Asia and South Asia was running its analytics on the database that ran its transactions. As volumes grew, reports slowed and the numbers stopped agreeing with each other. OnPoint Insights re-engineered the data infrastructure into a dimensional warehouse with an ETL framework, resolved the underlying data quality problems, and added OLAP cubes for multidimensional analysis.

OLTP → dimensional warehouse
Operational data restructured into facts and dimensions built for analysis, instead of analytics running on transaction tables.
Migrated in phases, no disruption
Data moved incrementally with compatibility checks at each step, so the operational platform kept running throughout.
Analysis across business units
Drilldowns, slicing and performance-optimized reporting across business units, which the previous setup could not support at all.
The problem
The database was built to record, not to answer
An OLTP database is designed to record transactions quickly, not to answer questions across millions of them. Growth is what exposes the difference: reports get slower, and the answers stop agreeing with each other.
Our client was expanding fast across two regions, and the demands on their data were growing with them. The operational database that had served the business well was now the thing standing between the business and a reliable answer.
What was getting in the way
- Incorrect data types, orphan records and inconsistent formatting made reporting unreliable.
- Nested JSON fields needed specialised handling before they could be analysed at all.
- The schema had no facts or dimensions, so structured analytics and scalable reporting were not possible.
- There was no support for multidimensional analysis across business units.
Our approach
Fix the quality, then build the model
What we found
You cannot model your way out of bad data. Orphan records and mismatched types would have produced a warehouse that was simply faster at being wrong, so data quality came before dimensions rather than after them.
What we did
A warehouse designed around questions. An ETL framework cleans, validates and transforms operational data into a dimensional schema, so analysis runs on facts and dimensions rather than on transaction tables.
Nested JSON made analysable. Specialised SQL scripts parse and flatten nested JSON fields, which is what stood between that data and any reporting at all.
Quality fixed at the source of truth. Formats standardised, orphan records resolved and field types validated, so figures reconcile across reports instead of diverging by source.
OLAP cubes for multidimensional analysis. Cubes built with SQL stored procedures support drill-down, slicing and fast query performance across business units.
The choice we made
We migrated in phases with compatibility checks at each step, rather than cutting over in one move. It takes longer, and it means the operational platform keeps running while the warehouse is built underneath it. For a business growing this quickly, that is the difference between a project and an outage.
-
Azure Data Lake Storage -
Azure SQL Database
The results
What changed for the business
Reporting stopped being something the business argued about and became something it could act on.
Reports agree with each other
Standardised formats, resolved orphan records and validated field types mean the numbers reconcile, which is what makes a report trustworthy enough to make a decision on.
Questions get explored, not requested
OLAP cubes support drill-down and slicing across business units, so a business user can follow a question through the data instead of raising a request and waiting.
The platform grows with the business
The dimensional model and ETL framework absorb new data and new reporting requirements without another rebuild, which matters for a platform expanding across two regions.
Facing a similar challenge?
Talk to our data and AI team about where you are today and what good looks like. 30 minutes, no obligation.
Book a consultation
