Portfolio case study · Retail analytics

5,638 products,
modelled end to end.

Fynbos Wellness: a warehouse, a pricing model, anomaly detection and a solution-led marketing view, built on the full catalogue of a South African wellness retailer.

Real product data (5,638 products, 442 brands, 173 product types and 22 solution categories), presented under a fictional case-study brand so it does not read as an official analysis of the retailer.

See the work

Warehouse on AWS

A star schema with a bridge table for many-to-many solution tagging, stored in S3 and queried through Athena with direct DDL.

Pricing model

A gradient-boosted price model scoring R² 0.482 on a 1,128-product held-out test set, with brand as the strongest driver, plus anomaly detection on pricing.

Marketing view

A marketing module built on the retailer's own solution categories, and a working GTM and dataLayer ecommerce-funnel demonstration.

What is included?

A self-contained HTML data story with a product catalogue, an Excel workbook and a matching PDF.

Tools: Python, SQL, AWS S3 and Athena, scikit-learn, Google Tag Manager, Excel and HTML.

How to interpret the evidence

The data was collected from the retailer's public sitemap and public product pages, respecting robots.txt, with no checkout, cart or account endpoints used. Where an AWS service could not be used on this account, the limitation is documented rather than hidden.