Rebuilding a Dry Market
The addressable market ran out, so I scraped 70,000 records and built a new one.
- Timeline
- 11 months · 6 campaigns
- Role
- Led the build and ran the campaigns, with an Outlyst team
- Status
- Client engagement
- Primary stack
- Google Maps · Clay · Apollo · Smartlead
Headline metrics
- What it tackles
- A cleaning company sells into exactly one city, and after five campaigns the standard data providers had nothing left to give.
- What it delivers
- A rebuilt addressable market: 70,000 Google Maps records filtered to 1,407 genuinely new companies, and the recovery campaign returned 14.9%, the strongest of the engagement.
The problem in full
An Oslo cleaning company sells into a market that is a city, not a country and not a vertical. The addressable universe is every business in Oslo with premises worth cleaning that is not already a cleaning company, which makes the list finite and countable. A national campaign can always find another segment. A city campaign cannot: the list is the market, and the real work is knowing exactly how much of it has been covered. The client was an established owner-run business, built over years on referral and reputation, that had never run outbound of any kind.
Two constraints made the category harder than it looks. Cleaning is a commodity, so the buyer is not looking for inspiration. And a cleaning company must never pitch cleaning to another cleaning company. That sounds obvious and it is not, at scale: standard databases do not reliably tag a 20-person Oslo facilities firm as a competitor, and in a local trade where everyone knows everyone, even a few rival cleaners on a list burns domain reputation and embarrasses the client.
A third complication hid in the job titles. Norwegian companies use Norwegian and English titles interchangeably, roughly half and half, often inside the same building, so a targeting list written in one language looks complete and covers half the market. And after five campaigns and 6,570 unique leads, the engagement reached the position it had been heading for: complete coverage of every Oslo business the standard data providers index. The next campaign had to run on ground that did not exist yet.
System design
Every company passed one qualification workflow before a single email was written. The system read three sources per company, its LinkedIn description, its website content and its SEO meta description, and emitted five fields: a classification of high value, medium, low, competitor or not relevant, an organisation type, a premises reading, a location gate for Oslo and the surrounding service area, and an evidence field holding the specific phrases from the company's own content that justified the call, so every classification could be checked rather than taken on trust. Anything classified as a cleaning service provider was removed automatically. This engagement ran with an Outlyst team; I led the build and ran the campaigns.
A qualified company is not yet a person, so a second workflow picked the person. I built one priority ladder of decision-maker titles written in Norwegian and English side by side, Facility Manager and Eiendomssjef, Driftssjef and Operations Manager, Kontorsjef and Office Manager, down through facilities, operations and executive roles, ordered by how likely each role is to hold the cleaning budget. Every contact at every qualified company was scored against the ladder in both languages at once, the top two or three were selected, and each was checked against the record of everyone already contacted, so nobody heard from us twice across six campaigns.
The message stayed deliberately plain: three short emails in Norwegian, and the offer was a competitive guarantee rather than a pitch, better work than whoever they have now at a lower price, with a free no-obligation quote to prove it. The campaign arc taught its own lessons. Campaign one tested apartment landlords, 702 leads, and settled the question in one pass: landlords do not buy commercial cleaning, the businesses inside their buildings do, and that exclusion went into the rules. Campaign three ran on a list the owner curated himself and produced 26 interested replies, the most of any campaign in the engagement. An operator who has been in a market for years often knows it better than the data does.
Campaigns four and five covered the city out against the standard providers, which triggered the stage the process was designed around: rebuilding the market from Google Maps. I scraped the entire business listing for Oslo and the surrounding area, roughly 70,000 records, cleaned and deduplicated them against every prospect contacted in the previous five campaigns, and ran everything that survived through the same qualification pass unchanged, competitor exclusion included. What came out was 1,407 net-new qualified companies, none of them contacted before. The reason this works is structural: the standard providers sit on LinkedIn on the backend, so they only know companies with a LinkedIn presence. A 12-person Oslo firm with a Maps listing, a phone number and no LinkedIn page is invisible to those tools and completely visible on Maps, which also means nobody else is emailing it.
The calls that made it work
Google Maps as the data source for local B2B
The standard providers are built on LinkedIn, so for local trades they index the city's most visible companies and miss the rest. Scraping Maps, deduplicating against every contacted prospect and qualifying with the same pass rebuilt an addressable market the databases had declared finished, and produced 1,407 companies no other outbound was reaching. It is the single most transferable mechanism in the engagement.
Automatic competitor exclusion
The classification step tags every company, and anything identified as a cleaning service provider is removed before a list exists. Boring and invisible when it works, and the fastest way to wreck a local engagement when it does not. It ran on every import, including all 70,000 scraped records.
One title ladder, two languages
Half the people who sign a cleaning contract in Norway carry a Norwegian title and half carry an English one. Instead of two lists, one ladder held both languages side by side and every contact was ranked against it at once, with only the top two or three per company selected. Covering one language is covering half the market while looking complete.
A price guarantee instead of a pitch
In a commodity category the buyer's real question is risk and cost, not whether the service can be described attractively. The email led with a guarantee, better work at a lower price, backed by a free no-obligation quote, and it outperformed every cleverer angle tested.
The results in full
Across six campaigns and eleven months the engagement contacted 7,977 prospects with 21,142 emails and drew 889 replies, 115 of them hand-tagged positive, an 11.1% reply rate for a commercial cleaning company in a single city, for an owner who had never run outbound before. That 115 counts every logged reply except the refusals, which is this study's own convention: 41 interested, 14 who requested a meeting, 21 requesting information, 33 custom follow-ups and 6 asking to be contacted later. Counted on stated interest alone the tally is 76. Interest came from a national anti-doping agency, the national opera, a top-tier management consultancy and an international hotel group, alongside a long run of Norwegian housing cooperatives and local firms.
The strongest campaign of the engagement was the last one. Campaign six ran on the 1,407 companies rebuilt from the Google Maps scrape and returned 14.9%, above the engagement's own rate, with 21 interested replies from a list no standard provider could have produced. That is the durable lesson: a market that looks exhausted is usually a data source that is exhausted. Change the instrument and the same city yields a second market.
Continue reading
Outbound in Norwegian
A 25.26% reply rate across 18,062 Norwegian prospects, in a language I do not speak.
The Enrichment Engine
A recruiting engine rebuilt to decide before it pays for data, then pointed at two more verticals.
Compliance, Sold Cold
23 campaigns selling anti-money-laundering software to the compliance officers who buy it.