More Pipeline

Signal Radar

An engine that picks its own outbound play from public signals. Built and proven on our own business at Paioneers.

Signal Radar — case study architecture diagram

Situation

Most outbound starts from people you already have some reason to know, and that bias is invisible. It is why so much of it looks the same. I wanted the opposite: an engine that knows nothing about who we already sell to and reasons only from what we can actually build.

Challenge

Given only what we can passively observe about companies in the open and turn into a campaign, which play deserves to exist? That is a huge search space. It needed hard gates, on legality, on who counts as a buyer, and on what even qualifies as a signal, plus a way to tell a genuinely defensible signal apart from a public fact that anyone can pull.

The Play

Score every candidate on two axes at once, how strong the campaign could be and how attractive the client market is, and put each one through an asymmetry test: a signal is only worth selling if it is a computed key no competitor bothers to build. Let the winner earn its place. The winner was the only signal that refreshes itself every week.

Workflow

Most outbound starts from a list of people you already have some reason to know. That bias is invisible, and it is why so much of it looks the same. I wanted to build the opposite: an engine that knows nothing about who we already sell to, and reasons only from what we can actually build. So I blinded it on purpose. No client history, no network, no sense that we have a right to win anywhere. Just the raw question, asked cold: given what we can passively observe about companies in the open and turn into a campaign, which play deserves to exist? It started from sixty-six candidates.

Everything then had to survive a set of hard gates. Netherlands only, so it targets a real market we can actually work. Business to business only, so the buyer is a vendor and never the end consumer: a company that sells to dentists qualifies, the dentist does not. And a strict line on how the signal is gathered, which comes down to a single question, did I read something a company published, or did I poke it to see how it reacts? Only the first is allowed, and anything on the wrong side of that line fails outright instead of scoring low.

What was left got scored on two axes at the same time: how strong the campaign could be, and how attractive the client market is. A brilliant campaign aimed at a tiny or broke market is still a bad target, and a great market you can only reach with a generic message is a commodity pitch. Partway through, the engine caught its own bias, a scoring artefact that had quietly buried the single strongest option while propping up a more familiar one, and I corrected for it. Sixty-six candidates became eight fully designed plays, and eight became three that were genuinely strong.

The one I built was not the highest raw score. It won on a property none of the others had: its signal refreshes itself every week, on its own. That is the difference between something you can run as a recurring engine and something that burns down to a one-time list.

Here is the play, with the specifics kept deliberately vague, because the source is the whole moat. There is a public dataset that, every week, flags businesses the moment a particular clock starts ticking for them, a narrow window where they need exactly the kind of help that a certain sort of regional service operator sells. Those operators physically cover a territory, so the move is to match each freshly flagged business to the operator whose area it sits in. The same signal even splits into two different products depending on which kind it is, and a single flagged location often reveals sister sites under the same owner.

A radar built from a public dataset: detect the weekly-fresh signal, let AI confirm and region-match each buyer, then activate with a free named list a human closes, while every call sharpens the target
Fig. 04Public signal to booked meeting: detect the weekly-fresh signal, let AI confirm and region-match each buyer, then activate with a free named list a human closes on the phone.

The opening move is the part I like most. Instead of pitching, I hand the operator a finished, branded list of named prospects inside their own region, for free. To them those are not leads, they are half-bought jobs with a clock already ticking, and they can act on them the same afternoon.

The tone has to be exactly right, because you are handing someone a list built on other companies' bad moment. So the copy never names where the signal came from and never gloats. It describes the situation the recipient is already living, the thing they could look up about themselves, and offers to help before the clock runs out.

Only the very edges of this cost anything, and even then the engineering was in doing it cheaply. The source pushes back hard on being read at speed, so the weekly crawl runs slow and single threaded instead of getting itself blocked. For these small operators the hunt for a personal email address was a dead end, and the address published on their own site turned out to be the real one, so I stopped paying for guesses and harvested straight from the sites.

On the first real day of calls, [[CIJFER-TBD]] live conversations turned into [[CIJFER-TBD]] booked meetings. That book rate, not the size of the list, is the number that matters, and it came off a dataset that had been sitting in the open the whole time.

The most useful calls were the two that said no. Between them they described our ideal customer more sharply than any of the wins did: a growing, multi-location operator that is actively scaling and open to new tools, not the solo, fully booked shop with no appetite to grow. So the qualifying question moved to the first two minutes of every call, and a full order book now routes to a referral instead of a dead end. That is the part I like most about it. It is not a one-off blast, it is a radar, and even the losses make it sharper.

Highlights

  • [[CIJFER-TBD]] meetings booked in one day

    The first real day of calls turned a free, self-sourced list into [[CIJFER-TBD]] booked meetings, off a public dataset that had been sitting in the open the whole time.

  • The engine was blind to our own network

    It was deliberately told nothing about who we already sell to, so it could not just return the usual suspects. It reasoned from what we can build, not from who we already know.

  • Public isn't the moat, the computed key is

    A signal only earns its place if it joins two or three public sources into a key nobody else bothers to compute. Access is not asymmetry.

  • The two no's taught us the buyer

    The losses described the ideal customer more sharply than the wins did, so the qualifying question moved to the first two minutes of every call.

Loop je tegen iets soortgelijks aan?

Als dit lijkt op wat jij probeert op te lossen, praat ik er graag over mee. Geen verkooppraatje, gewoon even samen kijken of het te bouwen valt.

Laten we praten