IP Library Granted Patent US 11,263,646
Granted Patent B1
US 11,263,646 · App. 14/231,532 · Granted Mar 1, 2022

Systems, apparatus, and methods of programmatically determining unique contacts

Inventors: David Alan Johnston (Portola Valley, CA); Matthew DeLand (San Francisco, CA)
Assignee: GROUPON, INC.
G06Q30/0201G06F16/215G06F16/24578G06N20/00
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,263,646
App. No.
14/231,532
Granted
Mar 1, 2022
Kind
B1
Abstract

Systems, apparatus, and methods for determining unique contacts from a collection or pool of merchant data are discussed herein. Some embodiments may provide for an apparatus including circuitry configured to: access first merchant data associated with a first merchant; access second merchant data associated with a second merchant; determine a match score based the first merchant data and the second merchant data indicating a likelihood of the first merchant being the same as the second merchant; determine a match score threshold; determine whether the match score exceeds the match score threshold; and in response determining the match score fails to exceed the match score threshold, determine the first merchant as being different from the second merchant. Some embodiments may provide for techniques for machine learning with merchant data training sets to determine match scores.

Claims (94)

1. An apparatus for programmatically generating a contact database of unique contacts that are associated with a selected country, comprising:

circuitry configured to:

access first merchant data associated with a first merchant;

access second merchant data associated with a second merchant;

generate a country-specific merchant data training set from a plurality of country-specific merchant data training sets based on the first merchant data associated with the first merchant and based on the second merchant data associated with the second merchant, the generated country-specific merchant data training set comprising merchant attributes having known match and known mismatch patterns defined for the selected country;

determine a country-specific match score for the country under consideration based on the first merchant data associated with the first merchant and based on the second merchant data associated with the second merchant, the country-specific match score indicating a likelihood of the first merchant being the same as the second merchant, wherein determining the country-specific match score comprises the circuitry being further configured to:

determine, from the first merchant data associated with the first merchant, one or more first merchant attributes of the first merchant, wherein each first merchant attribute of the one or more first merchant attributes is associated with a first attribute type;

determine, from the second merchant data associated with the second merchant, one or more second merchant attributes of the second merchant, wherein each second merchant attribute of the one or more second merchant attributes is associated with a second attribute type;

identify one or more attributes pairs, wherein each attribute pair of the identified one or more attribute pairs comprises a first merchant attribute of the one or more first merchant attributes and a second merchant attribute of the one or more second merchant attributes, and wherein the first attribute type of the first merchant attribute associated with the attribute pair corresponds to the second attribute type of the second merchant attribute associated with the attribute pair;

for each attribute pair of the identified one or more attributes pairs, determine a country-specific similarity score of the first merchant attribute associated with the attribute pair and the second merchant attribute associated with the attribute pair, each country-specific similarity score defining an attribute-based variance estimation for the first merchant and the second merchant based on the first merchant attribute associated with the attribute pair and the second merchant attribute associated with the attribute pair;

for each country-specific similarity score associated with each attribute pair of the identified one or more attributes pairs, determine a country-specific predictive score using a machine learning model trained using the generated country-specific merchant data training set, wherein the country-specific predictive score indicates a predictive significance of a merchant sameness prediction based on the attribute-based variance estimation defined by the country-specific similarity score; and

determine the country-specific match score by adjusting each country-specific similarity score using the country-specific predictive score for the country-specific similarity score to generate a corresponding country-specific adjusted similarity score and combining each country-specific adjusted similarity score;

determine a country-specific match score threshold;

determine whether the country-specific match score satisfies the country-specific match score threshold;

in response to determining that the country-specific match score satisfies the country-specific match score threshold:

determine the first merchant as being the same as the second merchant; and

programmatically update the contact database of unique contacts associated with the selected country, wherein programmatically updating the contact database of unique contacts associated with the selected country comprises the circuitry being further configured to:

determine that one or more of the second merchant attributes of the second merchant defines a different attribute as compared to the one or more first merchant attributes of the first merchant; and

store the different attribute to the contact database of unique contacts associated with the selected country in association with the one or more first merchant attributes of the first merchant.

2. The apparatus of claim 1 , wherein the circuitry is further configured to:

determine that the first merchant is a potential lead;

in response to determining the first merchant is a potential lead, determine a plurality of country-specific match scores, each country-specific match score of the plurality of country-specific match scores indicating a likelihood of the first merchant being the same as each of a plurality of merchants;

determine whether each country-specific match score of the plurality of country-specific match scores satisfies the country-specific match score threshold; and

in response to determining that each country-specific match score of the plurality of country-specific match scores fails to satisfy the country-specific match score threshold:

determine the first merchant as being different from the plurality of merchants; and

determine the first merchant as being a unique contact.

3. The apparatus of claim 1 , wherein:

the circuitry configured to access the second merchant data associated with the second merchant includes the circuitry being configured to access the second merchant data associated with the second merchant from the contact database of unique contacts associated with the selected country; and

the circuitry is further configured to, in response to determining the first merchant as being different from the second merchant and one or more other unique merchants within the contact database of unique contacts associated with the selected country, add the first merchant data associated with the first merchant to the contact database of unique contacts associated with the selected country as a unique contact.

4. The apparatus of claim 1 , wherein the circuitry is further configured to determine that the first merchant is a potential lead based on determining a merchant quality score for the first merchant based on one or more of:

a capability of the first merchant to meet demand at a geographic area;

a capability of the first merchant to meet demand for an item; and

consumer evaluations of the first merchant.

5. The apparatus of claim 1 , wherein the machine learning model is configured to determine a nonlinear decision boundary in a similarity space associated with each country-specific similarity score for an attribute pair of the identified one or more attribute pairs and to generate the country-specific predictive score for each country-specific similarity score based on the determined nonlinear decision boundary.

6. The apparatus of claim 1 , wherein the machine learning model is a radial basis function support vector machine algorithm.

7. The apparatus of claim 1 , wherein the machine learning model is a linear vector support vector machine algorithm.

8. The apparatus of claim 1 , wherein the circuitry is further configured to:

determine that the first merchant is a potential lead;

in response to determining that the first merchant is a potential lead, determine a plurality of country-specific match scores, each country-specific match score of the plurality of country-specific match scores indicating a likelihood of the first merchant being the same as each of a plurality of merchants;

determine whether a second country-specific match score of the plurality of country-specific match scores satisfies the country-specific match score threshold, wherein the second country-specific match score indicates a likelihood of the first merchant being different from a third merchant; and

in response to determining that the second country-specific match score satisfies the country-specific match score threshold, determine the first merchant as being the same as the third merchant.

9. The apparatus of claim 8 , wherein the circuitry is further configured to:

determine that the third merchant is a contact; and

in response to determining the first merchant as being the same as the third merchant, determine the first merchant as the contact.

10. The apparatus of claim 8 , wherein the circuitry is further configured to:

determine that the third merchant is a second potential lead;

in response to determining the first merchant as being the same as the third merchant:

determine the first merchant and the third merchant as being a single merchant; and

determine the single merchant as a contact.

11. A machine-implemented method for programmatically generating a contact database of unique contacts that are associated with a selected country, comprising:

accessing, by circuitry, first merchant data associated with a first merchant;

accessing, by the circuitry, second merchant data associated with a second merchant;

generating, by the circuitry, a country-specific merchant data training set from a plurality of country-specific merchant data training sets based on the first merchant data associated with the first merchant and based on the second merchant data associated with the second merchant, the generated country-specific merchant data training set comprising merchant attributes having known match and known mismatch patterns defined for the selected country;

determining, by the circuitry, a country-specific match score for the country under consideration based on the first merchant data associated with the first merchant and based on the second merchant data associated with the second merchant, the country-specific match score indicating a likelihood of the first merchant being the same as the second merchant, wherein determining the country-specific match score includes:

determining, from the first merchant data associated with the first merchant, one or more first merchant attributes associated with the first merchant, wherein each first merchant attribute of the one or more first merchant attributes has a first attribute type;

determining, from the second merchant data associated with the second merchant, one or more second merchant attributes associated with the second merchant, wherein each second merchant attribute of the one or more second merchant attributes comprises a second attribute type;

identifying one or more attributes pairs, wherein each attribute pair of the identified one or more attribute pairs comprises a first merchant attribute of the one or more first merchant attributes and a second merchant attribute of the one or more second merchant attributes, and wherein the first attribute type of the first merchant attribute associated with the attribute pair corresponds to the second attribute type of the second merchant attribute associated with the attribute pair;

for each attribute pair of the identified one or more attributes pairs, determining a country-specific similarity score of the first merchant attribute associated with the attribute pair and the second merchant attribute associated with the attribute pair, each country-specific similarity score defining an attribute-based variance estimation for the first merchant and the second merchant based on the first merchant attribute type associated with the attribute pair and on the second merchant attribute type associated with the attribute pair;

for each country-specific similarity score associated with each attribute pair of the identified one or more attributes pairs, determining a country-specific predictive score using a machine learning model trained using the generated country-specific merchant data training set, each country-specific predictive score for a country-specific similarity score defining a predictive significance of a merchant sameness prediction based on the attribute-based variance estimation defined by the country-specific similarity score; and

determining whether the country-specific match score based on the country-specific similarity score and one or more other similarity scores of one or more other attributes of the first merchant data associated with the first merchant and one or more other corresponding attributes of the second merchant data associated with the second merchant and based on a relationship between the similarity scores associated with each of the identified one or more attribute pairs and the country-specific match score;

determining a country-specific match score threshold;

determining whether the country-specific match score satisfies the country-specific match score threshold;

in response to determining that the country-specific match score satisfies the country-specific match score threshold:

determining the first merchant as being the same as the second merchant; and

programmatically updating the contact database of unique contacts associated with the selected country, wherein programmatically updating the contact database of unique contacts associated with the selected country comprises:

determining that one or more of the second merchant attributes of the second merchant defines a different attribute as compared to the one or more first merchant attributes of the first merchant; and

storing the different attribute to the contact database of unique contacts associated with the selected country in association with the one or more first merchant attributes of the first merchant.

12. The machine-implemented method of claim 11 further comprising, by the circuitry:

determining that the first merchant is a potential lead;

in response to determining the first merchant is a potential lead, determining a plurality of country-specific match scores, each country-specific match score of the plurality of country-specific match scores indicating a likelihood of the first merchant being the same as each of a plurality of merchants;

determining whether each country-specific match score of the plurality of country-specific match scores satisfies the country-specific match score threshold; and

in response to determining that each country-specific match score of the plurality of country-specific match scores fails to satisfy the country-specific match score threshold:

determining the first merchant as being different from the plurality of merchants; and

determining the first merchant as being a unique contact.

13. The machine-implemented method of claim 11 , wherein:

accessing the second merchant data associated with the second merchant includes accessing the second merchant data associated with the second merchant from the contact database of unique contacts associated with the selected country; and

the machine-implemented method further includes, in response to determining the first merchant as being different from the second merchant and one or more other unique merchants within the contact database of unique contacts associated with the selected country, adding the first merchant data associated with the first merchant to the contact database of unique contacts associated with the selected country as a unique contact.

14. The machine-implemented method of claim 11 further comprising determining the first merchant is a potential lead based on determining a merchant quality score for the first merchant based on one or more of:

a capability of the first merchant to meet demand at a geographic area;

a capability of the first merchant to meet demand for an item; and

consumer evaluations of the first merchant.

15. The machine-implemented method of claim 11 further comprising, by the circuitry:

determining that the first merchant is a potential lead;

in response to determining that the first merchant is a potential lead, determining a plurality of country-specific match scores, each country-specific match score of the plurality of country-specific match scores indicating a likelihood of the first merchant being the same as each of a plurality of merchants;

determining whether a second country-specific match score of the plurality of country-specific match scores satisfies the country-specific match score threshold, wherein the second country-specific match score indicates a likelihood of the first merchant being the same as a third merchant; and

in response to determining that the second country-specific match score satisfies the country-specific match score threshold, determining the first merchant as being the same as the third merchant.

16. The machine-implemented method of claim 15 further comprising, by the circuitry:

determining that the third merchant is a contact; and

in response to determining the first merchant as being the same as the third merchant, determining the first merchant as the contact.

17. The machine-implemented method of claim 15 further comprising, by the circuitry:

determining that the third merchant is a second potential lead;

in response to determining the first merchant as being the same as the third merchant:

determining the first merchant and the third merchant as being a single merchant; and

determining the single merchant as a contact.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 12, 2024
From: GROUPON, INC.
To: BYTEDANCE INC.
Reel/Frame 068833/0811 →
RELEASE OF SECURITY INTEREST Recorded Feb 26, 2024
From: JPMORGAN CHASE BANK, N.A.
To: GROUPON, INC.; LIVINGSOCIAL, LLC (F/K/A LIVINGSOCIAL, INC.)
Reel/Frame 066676/0001 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN INTELLECTUAL PROPERTY RIGHTS Recorded Feb 26, 2024
From: JPMORGAN CHASE BANK, N.A.
To: GROUPON, INC.; LIVINGSOCIAL, LLC (F/K/A LIVINGSOCIAL, INC.)
Reel/Frame 066676/0251 →
SECURITY INTEREST Recorded Jul 23, 2020
From: GROUPON, INC.; LIVINGSOCIAL, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 053294/0495 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 19, 2014
From: JOHNSTON, DAVID ALAN; DELAND, MATTHEW
To: GROUPON, INC.
Reel/Frame 033143/0685 →
Cited By (2)
US 12,189,690 US 12,363,090