ShopBack's Journey to Efficient Embedded Analytics with Cube
- Application Infrastructure & Middleware - Event-Driven Application
- Infrastructure as a Service (IaaS) - Cloud Databases
- E-Commerce
- Retail
- Procurement
- Sales & Marketing
- Retail Store Automation
- Time Sensitive Networking
ShopBack, a leading shopping rewards and discovery platform in Asia-Pacific, faced a significant challenge in analyzing transactions on its sites. The company needed to assess various transactional aspects, including purchase value and sales volume. In January 2020, ShopBack embarked on a new project that required extensive dashboard reporting of aggregated data for both internal and external users. One of the options considered was building an in-house application and storing the data in a graph database. However, the data was highly relational and needed to be pre-aggregated into OLAP cubes for analytics. The company also faced performance issues, with p95 query loading times taking as long as 50 seconds, leading to a poor user experience.
ShopBack is the largest shopping rewards and discovery platform in the Asia-Pacific region, with a presence in nine countries including Australia, Indonesia, South Korea, the Philippines, Singapore, Malaysia, Taiwan, Thailand, and Vietnam. The company started with a small team of six in 2014 and has since grown to over six hundred employees across the region. ShopBack's platform enables users to make better purchase decisions while delivering performance-based marketing with high and measurable return on investment to merchants. In 2020 alone, the company powered close to US$3 billion in sales for over 5,000 merchant partners across the Asia-Pacific and awarded over US$200 million of cashback to its users.
ShopBack decided to use Cube, a platform that was a better fit for their use case. Cube allowed the company to add new schemas and measures as their data continued to grow, while also improving the performance of their queries. To address performance concerns, ShopBack implemented pre-aggregations in early 2021, which drastically improved the performance of their Cube queries. The company also optimized their pre-aggregations with indexes and modified their approach to pre-aggregations for unique queries. ShopBack's architecture uses pre-aggregations stored in the same Postgres database and a non-clustered instance of Redis for storing fetched data and tracking the latest refreshed pre-aggregations for a multi-tenant application setup. The company also learned to pay attention to details to ensure they hit their pre-aggregations database and indexed their pre-aggregation tables to improve the performance of their queries.