At Prevision, building a prospecting list meant someone sitting with a spreadsheet and a
browser, searching for companies one at a time, copying addresses and contact details by
hand. It was slow, it was inconsistent between people doing it, and the resulting data
had exactly the quality you would expect from repetitive manual entry.The bottleneck was not effort. It was that the work was structurally repetitive, which
meant it should not have been done by a person at all.
The approach
I split the problem into two stages, each a small Python program that does one thing.Stage one — address resolution. Reads a spreadsheet of business names, queries the
Google Maps API for each, and writes back a spreadsheet with resolved addresses and place
identifiers. Built on pandas, so the input and output stay in the format the commercial
team already worked in.Stage two — enrichment and discovery. Takes those resolved addresses and searches
within a configurable radius for businesses in the target segment, returning name,
website, formatted address, and rating. This is the stage that turns a known list into a
larger qualified one, because it finds companies nobody had thought to search for.Keeping the stages separate mattered. Address resolution is cheap and idempotent;
radius search is the expensive call. Splitting them meant stage two could be re-run with
different radii or segments without paying for stage one again.
Outcome
Manual research time dropped by roughly half, and the prospecting database grew
substantially — not because anyone worked harder, but because the search space expanded
beyond what manual research could cover. Data quality improved as a side effect:
API-sourced addresses are consistent in a way hand-copied ones are not.Both stages are open source.Address resolution ·
Enrichment and discovery
Finding intervention targets in organic waste behaviour
Isolated the one subgroup where intervention would actually land — people who believe in reuse but have never tried it — worth an estimated 6,786 kg of organic waste a year.
Julia Mandelbrot: a market regime analysis toolkit
Makes market regimes legible: an open-source library that sorts a price series into six states with fuzzy membership, so periods can be compared rather than eyeballed.