IP Library Granted Patent US 8,521,758
Granted Patent B2
US 8,521,758 · App. 13/008,853 · Granted Aug 27, 2013

System and method of matching and merging records

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 8,521,758
App. No.
13/008,853
Granted
Aug 27, 2013
Kind
B2
Abstract

A system and method of matching and merging records is disclosed herein. Embodiments comprise receiving, a plurality of records from a feed, wherein a record in the plurality of records from the feed may be either partial or complete. A processor executes fuzzy matching logic to determine whether one or more records in the plurality of records from the feed match an existing record. The processor then executes a merged of the one or more matching records with the existing record to form a merged composite record. Finally, the merged composite record is stored.

Claims (57)

1. A computer-implemented method of matching and merging records, the method comprising:

receiving a plurality of records from an external update feed, wherein a record in the plurality of records from the external update feed may be either partial or complete;

determining, using a processor, that one or more records in the plurality of records from the external update feed match an existing record, wherein the determining is based on fuzzy matching of normalized fields of the one or more records and the existing record;

merging, using the processor, the one or more matching records with the existing record into a composite record;

determining, using the processor, that one or more fields of the composite record are incomplete;

enriching the composite record by adding information to the incomplete fields in response to determining that the one or more fields of the composite record are incomplete, the information added to the incomplete fields is based on information in other fields of the composite record; and

storing the composite record.

2. The method of claim 1 , wherein the existing record is associated with a cluster, further comprising associating the one or more matching records with the cluster.

3. The method of claim 1 , wherein fuzzy matching comprises determining that both the identified one or more records and the existing record are associated with the same contact or that both the identified one or more records and the existing record are associated with the same company.

4. The method of claim 1 , wherein fuzzy matching comprises determining that the identified one or more records are associated with a contact, that the existing record is associated with a company, and that the contact is associated with the company.

5. The method of claim 1 , further comprising:

determining, using the processor, a weighted confidence score for a feature of the composite record.

6. The method of claim 5 , wherein a feature of the composite record comprises recency, title rank, title quality, domain-specific email pattern, domain-independent email pattern, phone number, first name, last name, or area code-state consistency.

7. The method of claim 5 , further comprising:

determining, using the processor, an overall confidence score for the composite record, wherein the overall confidence score for the composite record is based on weighted confidence scores for one or more features of the composite record;

determining that the overall confidence score meets a predetermined threshold; and

designating the composite record as high-quality.

8. The method of claim 7 , further comprising storing the composite record designated as high-quality in persistent storage.

9. A system for matching and merging records, the system comprising:

a processor;

a network interface; and

a memory encoded with program code to be executed by the processor, comprising:

program code to receive a plurality of records from an external update feed, wherein a record in the plurality of records from the external update feed may be either partial or complete;

program code to determine that one or more records in the plurality of records from the external update feed match an existing record, wherein the determining is based on fuzzy matching of normalized fields of the one or more records and the existing record;

program code to merge the one or more matching records with the existing record into a composite record;

program code to determine that one or more fields of the composite record are incomplete;

program code to enrich the composite record by adding information to the incomplete fields in response to determining that the one or more fields of the composite record are incomplete, the information added to the incomplete fields is based on information in other fields of the composite record; and

program code to store the composite record.

10. The method of claim 9 , wherein the existing record is associated with a cluster, the memory encoded with program code further comprising program code to associate the one or more matching records with the cluster.

11. The system of claim 9 , wherein fuzzy matching comprises determining that both the identified one or more records and the existing record are associated with the same contact or that both the identified one or more records and the existing record are associated with the same company.

12. The system of claim 9 , wherein fuzzy matching comprises determining that the identified one or more records are associated with a contact, that the existing record is associated with a company, and that the contact is associated with the company.

13. The system of claim 9 , the memory encoded with program code further comprising:

program code to determine, using the processor, a weighted confidence score for a feature of the composite record.

14. The system of claim 13 , wherein a feature of the composite record comprises recency, title rank, title quality, domain-specific email pattern, domain-independent email pattern, phone number, first name, last name, or area code-state consistency.

15. The system of claim 13 , the memory encoded with program code further comprising:

program code to determine, using the processor, an overall confidence score for the composite record, wherein the overall confidence score for the composite record is based on weighted confidence scores for one or more features of the composite record;

program code to determine that the overall confidence score meets a predetermined threshold; and

program code to designate the composite record as high-quality.

16. The system of claim 15 , the memory encoded with program code further comprising program code to store the composite record designated as high-quality in persistent storage.

17. A non-transitory computer-readable medium containing program code executable by a processor in a computer to match and merge records, the program code including instructions to:

receive a plurality of records from an external update feed, wherein a record in the plurality of records from the external update feed may be either partial or complete;

determine, using a processor, that one or more records in the plurality of records from the external update feed match an existing record, wherein the determining is based on fuzzy matching of normalized fields of the one or more records and the existing record;

merge, using the processor, the one or more matching records with the existing record into a composite record;

determine, using the processor, that one or more fields of the composite record are incomplete;

enriching the composite record by adding information to the incomplete fields in response to determining that the one or more fields of the composite record are incomplete, the information added to the incomplete fields is based on information in other fields of the composite record; and

store the composite record.

18. The non-transitory computer-readable medium of claim 17 , wherein the existing record is associated with a cluster, further including instructions to associate the one or more matching records with the cluster.

19. The non-transitory computer-readable medium of claim 17 , wherein fuzzy matching comprises determining that both the identified one or more records and the existing record are associated with the same contact or that both the identified one or more records and the existing record are associated with the same company.

20. The non-transitory computer-readable medium of claim 17 , wherein fuzzy matching comprises determining that the identified one or more records are associated with a contact, that the existing record is associated with a company, and that the contact is associated with the company.

21. The non-transitory computer-readable medium of claim 17 , further including instructions to:

determine, using the processor, a weighted confidence score for a feature of the composite record.

22. The non-transitory computer-readable medium of claim 21 , wherein a feature of the composite record comprises recency, title rank, title quality, domain-specific email pattern, domain-independent email pattern, phone number, first name, last name, or area code-state consistency.

23. The non-transitory computer-readable medium of claim 21 , further including instructions to:

determine, using the processor, an overall confidence score for the composite record, wherein the overall confidence score for the composite record is based on weighted confidence scores for one or more features of the composite record;

determine that the overall confidence score meets a predetermined threshold; and

designate the composite record as high-quality.

24. The non-transitory computer-readable medium of claim 23 , further including instructions to store the composite record designated as high-quality in persistent storage.

Assignments (2)
CHANGE OF NAME Recorded Oct 3, 2023
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 065114/0983 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 8, 2011
From: NACHNANI, PAWAN; JAGOTA, ARUN K.
To: SALESFORCE.COM, INC.
Reel/Frame 025916/0366 →