Skip to main content
All case studies

Multi-location Retail (anonymized)

Which markets to open next: a ranked list, not another spreadsheet

6 weeks

To a live expansion dashboard

Timeline

6 weeks from kickoff to production dashboard

We fixed the address data, figured out where each store's customers actually come from, and built a weekly ranked list of markets with strong demand where the brand was still under-served. Growth and real estate stopped debating conflicting decks; they opened one dashboard.

Challenge

A national retailer with 200+ locations had customer addresses and sales by store, but no trusted answer to "where should we grow next?" Each region used different spreadsheets. Some teams drew arbitrary circles on a map. Roughly one in five customer addresses couldn't be placed on a map reliably. Expansion meetings took weeks to prepare, and leadership still disagreed on priorities.

KPI targets

  • Clean enough address data that 95%+ of customers can be placed on a map
  • One ranked shortlist of expansion markets that growth and real estate agree on
  • Cut expansion meeting prep from weeks of manual work to opening a dashboard
  • Refresh rankings automatically every week, with no more quarterly map exercises

Approach

  1. 1.Week 1: Agreed on the business question ("where are we missing easy wins?") and audited address and sales data quality
  2. 2.Week 2: Cleaned and standardized customer addresses; flagged low-confidence matches for review
  3. 3.Week 3: Mapped each store's real customer footprint from transaction and visit data (not guesswork radius circles)
  4. 4.Week 4: Scored every market: local demand vs. how much share the brand already captures; flagged overlap with existing stores
  5. 5.Week 5–6: Built the automated weekly pipeline, dashboard, and handoff docs so their team runs it without us

Production artifacts

  • Clean customer location table the whole company can trust
  • Per-store "where our customers come from" footprint analysis
  • Weekly ranked expansion shortlist with plain-English flags (e.g. high demand, low share, near existing store)
  • Automated data pipeline with alerts when address match quality drops
  • Runbook for refreshing data and adjusting scoring weights

Outcomes

  • Expansion decisions moved from quarterly spreadsheet debates to a single weekly view
  • Address data reused by marketing for regional campaigns
  • Client name and store-level detail not disclosed per engagement terms

Production Standard pillars

Metrics before modelsProduction artifactsCapability transfer

Stack

PythonPostgreSQLPostGISdbtGeocoding APILooker

Want results like this?

Book a discovery call