Real time insights for high street merchants

An insights platform providing product and customer insights to high street retailers.


Flux's API connects a retailer's POS to the bank network:

Blueberry was the insights platform we built for retailers, which I helped setting up from scratch. We focused on unlocking insights on products and customers that normally would have required the retailer to ask for an additional piece of information to be given away at the till — such as loyalty cards, email addresses, QR codes to scan or other unique identifiers.


The project was started when Flux was a year old. Our product team consisted of two developers (one front-end, one back-end), one data scientist and myself.

I was responsible of:


We run multiple sessions of exploratory research to validate our assumptions.

Flux's retail users were primarily in the marketing department of SMEs operating in the food space (low value / high volume). We identified these problems affecting them:

We set out to build an analytics platform that would help marketers make sense of the sales data, spot changes in normal sales patterns and, if they wanted, to intervene on them. The latter was done via one of Flux's core B2C products, offers and loyalty cards via banks. Retailers were able to use Blueberry to monitor the performance of the offers they were running on our platform, and to launch new ones.

The process

We operated similarly to Basecamp's Shape Up process, iterated quickly and with independence. Within six months we had a functional first version of the product launched and in use by our partner merchants, some of them operating more than 50+ stores nationwide.

A document-first approach

From Shape Up we borrowed the idea pitches format — and heavily adopted Notion to shape an idea before making a bet on it.

This came particularly useful for managing incoming sales requests and turn them into useful insights, rather than taking them as requirements.

As an example, when we first launched clients kept asking us for a date picker. They wanted the ability to pick a start and end date. We noted the request, but decided to dig further: although implementing a date picker isn't hard, having users selecting random time periods would have caused technical and usability issues. For a start, it would have meant having to generate insights on the fly against any time comparison, which would have put strain on our backend.

After further research it became clear retailers operated in pre-defined time periods. We implemented a time picker that supported weeks, months and quarters and which satisfied our partners' needs.


Some of the main challenges we encountered were:


We prioritised features according to desirability, feasibility and viability — we focused on building a platform that would provide insights on customers and products in near real time.

The app was organised in three main views reflecting our focus:

A retailer's status panel

The now view functioned as the welcome screen of the app — a place to gauge, at a glance, how the day is going. We benchmarked a retailer performance against their average performance for that specific day of the week and let them know whether they were on track or underperforming.

Blueberry's welcome screen

Product insights

Food retailers have a lot of products, sometimes multiple variants of the same (we learnt that there are infinite declination of Coke). I decided to organise them in a table layout, highlighting the products trending positively or negatively to filter out the noise. A global set of filters, paired with search, allowed the retailer to quickly dive into the performance of a specific product or location.

When clicking on a product a right side panel opened up, bringing up detailed metrics while keeping context. These included:


Narrow into the details of each product. Clicking on any item opens up the right-side panel.

Illustration for all supported filter types

Filter products by store, customer type and time period.

Customers insights

The customers' data was our USP. Our focus was on auto segmentation of customers into buckets. For each segment we provided detailed information on its customers' behaviour, common product pairings and retention.

I spent a lot of time working with data science and sales to understand how retailers bucket their customers. We researched and tested the different segmentation models in the industry via weekly pdf reports, before choosing to adopt a common RFM model that made sense for the kind of verticals (high volume, low value) that we were serving.

Retailers used the customer view to answer questions such as:

Transaction value over time for customers

Right side panel for new customers


Switch between key metrics to see how they change over time.

Illustration for tooltips over figures

Hover on any figure to find out how it was calculated, and what it tells you.

Global filters

From the top bar, retailers could directly search for a specific item or see how the top products changed by season, location or type of customer.

The customer filter opened The default state of all filters; customers, location and time

Illustration for filter types

Filter by type of customer, location or period.

Weeks, months and quarters to choose from.

Targeting and monitoring

Most retailer partners chose to run offers and/or loyalty programs on our platform. Blueberry was where they could monitor the performance of their campaigns, and launch new ones.

Cards giving an overview on the performance of each running offer Detailed view of the performance of a loyalty program Flow for setting up a new offer

Smart insights

Over time we got better at pushing insights to our users, when something happened. As previously detailed our aim wasn't to built yet another data exploration tool, or compete with tools like Looker. We wanted to do the heavy work of surfacing relevant insights for the retailer, when an event was detected — a sudden dip in sales for a specific store, a product overperforming, etc.

The visualisations below were all designed for a later version of Blueberry — hence the different colour scheme in use for data. However they give a sense of the kind of insights we wanted to provide to our customers.

What worked, what didn't

For a while, Blueberry was Flux's B2B core product; it helped us closing new sales and onboarding new retailers to the network.

However, two years in, we ended up sunsetting the product. The company changed strategy and went from focusing on SMEs to big nationwide retailers, the likes of H&M. Large chains had different needs and set of problems — although they were still interested in the insights on customers that we could surface for them, they didn't want yet another interface to explore the data. We shifted to provide insights via weekly reports, and directly feed them into the tools they were already using.

The product went on living in a different shape, primarily supporting the onboarding of online SMEs onto our platform, and as the dashboard they'd use to monitor the performance of the offers they were running on our network.