# Prospect Look-alike Communities — v1 (2026-05-18)
For: Daniel Shu + Tiago (WISE Lead Gen)
From: Pierre + Lucas
Companion file: exports/prospect_lookalike_
What you asked for
You have ~26,000 prospects from Eloqua campaign responders — none of them are Lyreco customers, so we have zero purchase history to predict what they'd buy. Pierre asked: "for prospects who don't exist in our database, can we predict their product-family appetite by finding similar Lyreco customers?"
This is the v1 answer.
How it works (one paragraph)
For every prospect we have public firmographic signals: postcode, SIC industry code, employees, modeled turnover, market sector, registered status from Companies House. We have the same signals (or close proxies) for our real customers. We group customers into ~60 communities based on similarity across all those signals at once — not exact-match buckets. Pierre's phrasing: "find common grounds across all variables." Then, for each prospect, we soft-match them to their 3 most-similar communities, blend those communities' actual buying mix, and emit that as the prospect's predicted product-world appetite. Worlds are the 9 cross-family categories Lucas defined: BUREAUTIQUE, IT, HYGIENE, CAFETERIA, MOBILIER, LOGISTIQUE, EHS, GOODIES, OTHER.
What's in the workbook
| Sheet | Purpose | |---|---| | README | Plain-English explainer for any new reader | | Top Prospects Action | Daily prospecting list — sorted by confidence × top-world fit | | Per-Prospect Detail | Drill-down: top-3 communities + full propensity per prospect | | Communities Catalogue | What each community looks like + its product mix | | World Rollup | Per product world, how many prospects match — for thematic campaigns |
Confidence labels
Each predicted world inherits a confidence bucket:
- HIGH — top community similarity > 0.70 and community has ≥30 active members
- MEDIUM — top similarity > 0.40 or community ≥15 members
- LOW — neither — treat as directional only
Use HIGH-confidence rows first. They're the ones where (a) the prospect looks strongly like a real customer cluster, and (b) that cluster has enough mass to give a stable product-mix signal.
Known v1 limits
1. Industry data on the customer side is sparse — we don't yet have
Companies House SIC enrichment for the 27k UK Lyreco customer accounts,
so the customer-side feature vector relies on geography + size +
Lyreco-internal business-line code, not full SIC. A v2 pass after running
companies_house_enrich.py for ecom_accounts will tighten industry-driven
matches.
2. Customer spend window is 365 days — communities' product mix reflects
what they bought over the last year, not their whole history.
3. No behavioral data from the prospect side — Eloqua opens/clicks aren't
in the matching feature vector. They could be (v3); for v1 we kept the
matching purely firmographic so the model stays explainable.
How to action this
1. Filter Sheet 1 to Confidence = HIGH. That's your tier-1 list.
2. Sort by Predicted % descending within each Predicted #1 World. Group
prospects with the same predicted top world — those are natural campaign
cohorts (e.g. "all HIGH-confidence prospects predicted to want BUREAUTIQUE,
sorted by predicted strength").
3. The Common Ground column tells you why the match landed — useful for
pitch language ("we work with similar SIC 47 retailers in your postcode
area").
4. Cross-reference Sheet 3 (Communities Catalogue) for "what kind of company
is community 17?" when a rep asks.
Model version
soft_v1_2026-05-18 — sklearn KMeans k=60 on a 71-dimension one-hot + numeric
feature vector. Cosine similarity for prospect→community matching. Top-3 soft
membership with weight-normalised blending.