Customer Householding

This article outlines the concept of householding and how the Daasity transformation code "households" customers in an attempt to combine "duplicated" customers into a single unique customer

What is householding?

Householding is the concept of combining multiple individual customer accounts to create a single "householded" account.

Customers may use different information depending on where they purchase. For example, to order online a customer will provide a physical address and an email address; to purchase in a store a customer might use an email address or a phone number to get a receipt but will likely not provide an address. Customer information can also vary over time or even across platforms when we capture the same information:

  • A new or slightly differing address (Ave. Vs Avenue)

  • A slightly different first and/or last name (Mike vs Michael or married vs maiden name)

  • Different email addresses (work email vs home email)

All of these can lead to multiple customer records created for the same individual.

Similarly, merchants may have different information in their communication platforms: our email platform will have email and our SMS platform a phone number.

Why is householding important?

Applying a householding process to your data allows you to better understand what is truly happening at a unique customer level. A lack of householding can have a significant impact on analysis if not properly taken into account:

  • A single customer's LTV curve will be split into multiple customers, making them both incorrect

  • Retention data and repurchase rates will look incorrect as only one of the records for a customer might be credited with a repurchase

  • Customer segmentation will be incorrect and could even lead to an individual receiving multiple emails from a single email campaign

Daasity's transformation code uses some common fields other than just email to map duplicated customer records together into a single record.

Householding logic

  1. If an email address matches with another, those records will be mapped together regardless of whether the names or addresses are different.

  2. If the email addresses differ, the first and last name, city and zip code will be analyzed, giving each customer a β€œscore” depending on how many fields are present (so a customer with first, last and zip code will have a higher β€œscore” than someone with only a first and last name available but no zip code or city information). Records with the same number of fields available will use the most recent order as the tie-breaker.

  3. Each customer without an email address will then have their record updated based upon the score determined by the second step, resulting in a mapping table with a simple mapping of customer ids.

  4. The mapping table created is used in our Orders data to tie customers together, but is not currently used in other elements of our data.

FAQ

Does Daasity household all customer records?

Daasity runs the householding transformation code against every customer record we ingest from all data sources. However, this does not mean that we successfully combine every customer record that should be combined. Some data sources (notably Amazon) do not expose significant fields through their API, often making it impossible to match up customer records.

Can I see the non-householded customer records in my data?

Daasity does not currently expose the non-householded customers in any explore. However if there are specific records that you would like to see, contact support@daasity.com or your merchant success manager.

Where do I see the householded customer records in my data?

Customer data can be seen in several explores including Order & Order Line Revenue Explore, The Transactional Sales Report Explore, Lifetime Value Explores, and Customer Details Explore \

Customer data typically comes from either Shopify or Amazon.

We ingest this customer data into a single table and then use our householding transformation to match up customers from different stores or platforms based on several variables.

Last updated