A Java-based data integration solution for Co-op's Food Retail Business Intelligence team — ingesting weekly competitor pricing data for 50,000 products across 30 providers and delivering management reports to drive pricing strategy.
Co-op’s Food Retail Business Intelligence team needed a way to systematically understand how their pricing compared to competitors — not just at a headline level, but product-by-product, store-by-store, accounting for local market demographics and competitor mix. The data was available from Assosia, a retail pricing intelligence provider, but pulling it, processing it, and making it useful for the pricing team required building a reliable, repeatable data pipeline from scratch.
My role was to design and deliver that pipeline: a Java-based integration solution that ingested weekly pricing data, loaded it into the Co-op data warehouse, and produced the management reports the pricing team needed to act on it.
The solution centred on a set of pure Java worker services — scheduled jobs that pulled competitor pricing data from Assosia’s REST API on a weekly cadence, processed and validated the inbound data, and loaded it into Co-op’s Teradata data warehouse. From there, MicroStrategy-based management reports gave the pricing team visibility into price positioning across the product range, broken down by store and local competitor set.
The pipeline handled pricing data for approximately 50,000 products across 30 competitor providers every week, with validation and error handling to ensure that incomplete or malformed data from any one provider didn’t corrupt the wider dataset.
The reporting solution gave Co-op’s pricing team a consistent, reliable view of competitor pricing at a product and store level — something they’d previously had to piece together manually from inconsistent sources. It fed directly into pricing decisions across the food retail estate, and the pipeline was extended over the engagement to incorporate additional data sources including weather forecast data to support demand-based pricing.