Business and places data

How to match your customer list to places on the map

Your customer list says who buys; place data says where they are, how they are rated and what is around them. How to link the two reliably, and what to do with the matches.

xMap Flows team · · 5 min read

To match a customer list to places, give each customer a position from its address, then look each one up in place data near that position by name, and confirm the match with the phone number or website. Once a customer is linked to its place, you can see its rating, opening status and neighbours, find look-alike businesses, and spot when it closes, all from data you did not have to type in.

This is for anyone holding a spreadsheet of business customers: a distributor with its outlets, a software company with its small business accounts, a bank with its merchants, a supplier with its restaurants. It covers what you need in the list, the two ways of matching, how to judge a match, a made-up example, the usual problems, and how to run the matching as an AI employee.

What the list needs before you start

  • A name as the customer trades, not only its registered company name. "Harbour Fish Co" is easier to find than "HFC Holdings Pty Ltd".
  • An address or at least a street and city. Without a location, a name like "Central Pharmacy" matches hundreds of places.
  • A phone number or website, if you have them. They are the best way to confirm a match.
  • Your own customer id, so the matched data can go back into your system.

Two ways to match

From your list to the map

Take each customer and search for it by name around its position. The closest place with a matching name is the likely match. This works best for a list of a few hundred customers you want to enrich: each customer comes back with the place's rating, reviews, category, phone, website and opening status.

From the map to your list

Take every place of the right kinds in an area and look each one up in your customer table. Places found are customers; places not found are prospects. This works best when the real question is "which of these businesses do we not serve yet", and it scales to whole cities.

Many teams use both: the first to clean and enrich the customer list once, the second every week to find new prospects and leave customers out.

How to judge a match

  1. Same phone number is the strongest sign. Compare the last digits, so country codes and spaces do not matter.
  2. Same website domain is almost as strong, unless it is a chain's shared domain.
  3. Similar name and close position, within a short walk, is good for independent businesses.
  4. Similar name only is weak. A chain has many branches with the same name; pick the one nearest the address you hold.
  5. Nothing close often means the customer moved, closed, trades under another name, or your address is wrong.

A worked example (made up)

Say a beverage distributor in Johannesburg has 320 outlets in a spreadsheet with names, addresses and phone numbers. After upload, 304 get a position from their address; 16 have addresses too vague to place. Looking each placed outlet up by name near its position finds a match for 281. Of those, 262 agree on the phone number, so they are trusted. The other 19 are checked by a rep: 12 are right, 7 are a neighbouring business with a similar name. Eleven outlets are marked closed in the place data, which the sales team did not know. These figures are made up, but the shape is typical: most match cleanly, a minority needs a person, and the matching itself turns up closures.

Problems you will meet

  • Chains and franchises. Fifty places share the name; the position decides which one is yours.
  • Two customers at one address. A food court or a mall can hold several of your customers within metres. Match on name and phone, not position alone.
  • Customers who moved. The old address finds nothing or someone else. A search by name across the wider area may find the new site.
  • Registered names. Company names rarely match trading names. Keep a trading name column.
  • Duplicates in your own list. The same outlet entered twice will match the same place twice. Remove duplicates before matching.

How to do it with an AI employee

For a one-off clean-up, Enrich a list once on the My data page takes a CSV, looks each row up (up to 100 rows with a position), shows the cost first and gives back a new table and a CSV. To keep a list matched over time, use an AI employee in xMap Flows.

Enrich and watch your customers

  1. Schedule: every Monday.
  2. My data: your customer table, uploaded once; rows without a position get one from their address.
  3. Map business scan: Around each incoming place, Look for set to Each place itself, so each customer is looked up by name near where it is (up to 100 a run).
  4. What changed: Closed, Rating, and Phone or website.
  5. Email to the account managers, or Google Sheets.

Find prospects and leave customers out

  1. Schedule and Area of interest: your territory.
  2. Nearby places: the kinds of business you sell to.
  3. Match with my table: your customer table, matched by Same phone number, keep only items not in the table.
  4. Only new and Email.

What lands in the first case is a weekly note of customers that closed, changed their number or saw their rating move; in the second, a list of businesses you do not serve yet, without the ones you already do.

Questions

What if my list has no addresses?

Without a location, matching by name alone is unreliable. Match by phone number or website instead, with Match with my table, or add at least a city to each row.

How many customers can be looked up at once?

Map business scan looks up to 100 places a run with Each place itself. For a longer list, run it on part of the list at a time, or on a schedule that works through it.

Can the matched details go back into our own database?

Yes. Save to my database writes the items into a table of your own PostgreSQL, BigQuery or Snowflake database, with each field in the column of the same name.

Why did a customer match the business next door?

Usually a short or common name, or two businesses at one address. Confirm with the phone number or website, and check those matches by hand.

Is my customer list shared with anyone?

It stays in your organization's My data. The lookups send each customer's name and position to find the place.

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.