Business and places data

Why two lists of the same businesses never agree, and how to reconcile them

Your customer file says 140 pharmacies, a fresh search says 190. The usual reasons two business lists differ, how to test each one, and how to merge them into one you trust.

xMap Flows team · · 5 min read

Two lists of the same kind of business in the same city almost never match, because each was built with its own boundary, its own date, its own idea of what kind of place counts and its own rule for what makes one business. Most of the gap is explained by those four things, not by one list being wrong. To reconcile them, line the lists up on the same area, date and categories first, then match them record by record on phone, website or position.

This article is for anyone who has put a customer file, a bought list or a colleague's spreadsheet next to a fresh search and found the numbers far apart: sales operations, distributors, analysts and franchise teams. It lists the causes, shows how to test for each, and walks through a reconciliation.

The usual causes, and how to test for each

CauseWhat it looks likeHow to test for it
Different boundaryOne list follows a city's official limits, the other a circle or a sales territory.Put both on one map. Count only the places inside the area both lists cover.
Different dateOne list is two years old; the other is from this month.Look for closed places in the older list and recent openings in the newer one.
Different labelsOne counts pharmacies only; the other also counts chemists inside supermarkets or clinics.Compare the types or categories each list used, and read a sample of names from each.
Different idea of one businessA company register lists one company with five shops; a map lists five shops.Check whether rows are companies or premises. Group the map list by brand to compare.
DuplicatesThe same shop appears twice, spelled two ways or found by two searches.Match within each list on phone digits, website or name and position before comparing lists.
Missing positionsRows without coordinates silently fall out of a map-based count.Count rows with no position in each list before you compare totals.

A checklist for reconciling any two lists of businesses.

Why a fresh search and an old file drift apart

Even a perfect list starts ageing the day it is made. Businesses open, close, move and rename. A customer file is usually built from people who once bought from you, so it holds closed places nobody removed and lacks every place that opened since. A search of a live places database is current but has its own edges: it covers the area and types you asked for, and nothing else. Neither is the truth on its own. Each is right about different things.

That is also why the gap is useful. The places only in the fresh search are often your best prospects. The places only in your file are often closures, moves or mislabelled records that are quietly costing your reps visits.

A worked example, with made-up numbers

Imagine a pharmaceutical distributor in Johannesburg. Its customer file lists 140 pharmacies in its northern territory. A search of the same territory in xMap's places database returns 190. In this invented case, the reconciliation runs like this:

  1. Same area. The file used old postal districts; the search used a drawn territory. Trimming both to the drawn territory leaves 131 in the file and 190 in the search.
  2. Remove duplicates. Matching within the file by phone digits finds 6 pharmacies entered twice. The file is now 125.
  3. Match the lists. Matching file to search on phone, then website, then name within 100 metres, pairs 108 records.
  4. Read what is left. 17 file records have no match: on checking, 9 have closed, 5 moved and 3 are clinic dispensaries the search filed under another type. 82 search records have no match: new or never-served pharmacies.
  5. Act. The 9 closures leave the route plan, the 5 moves get new addresses, and the 82 become a prospect list for the reps.

None of those numbers is real; the order of the steps is what matters. Doing the matching before trimming the area would have made the gap look far worse than it was.

Matching records: what to match on

  • Phone number is the strongest key when both lists have it. Compare digits only, ignoring country codes and spaces.
  • Website is next, compared without the page path or the www.
  • Name and position together catch the rest. Names alone fail on branches of one chain; positions alone fail in malls and towers where shops are stacked.
  • Your own customer ID only works inside your own systems. It will not appear in a search.

Mistakes that make reconciliation harder

  • Comparing totals before aligning the area, which mixes boundary differences with real ones.
  • Matching on name alone and pairing different branches of the same chain.
  • Assuming the newer list is always right. A new search can miss places with no online listing.
  • Doing it once. Without a routine, the two lists drift apart again within months.

Keeping two lists in step with an AI employee

In xMap Flows an AI employee can repeat the comparison every week and send only the differences:

  1. Schedule: every Monday.
  2. Area of interest: your territory, drawn on the map, so both sides use the same boundary.
  3. Nearby places: the types you sell to.
  4. Remove duplicates: one of each place.
  5. Match with my table: look each place up in your customer table from My data, matching by phone or website, and keep only the places not found.
  6. Only new then Email: the places that are on the map but not in your file, sent once each.

A second flow can watch your own customers with What changed, which reports places that closed or changed their phone, website or address. The template Prospects not yet in my CRM covers the first flow, Customers that closed or moved, with what to do the second, and Monthly outlet census of my city gives a full count each month.

Questions

Why does my customer list have fewer businesses than a map search?

Usually because it was built from past buyers, is older, and covers a different area. Align the area and date first, then match record by record.

What is the best field to match two business lists on?

Phone number, compared by digits only, followed by website. Use name and position together for the rest.

Should I delete records a new search did not find?

Not without checking. They may be filed under another category, sit just outside the area, or have no online listing.

How often should two lists be reconciled?

Often enough that differences stay small. A weekly check that sends only new differences is easier than a yearly clean-up.

Templates that do this

Read next

More on business and places data · Every article · Templates

Put it to work

An AI employee in xMap Flows does this on live data, on its own timetable. Start from a template or describe it in plain words.