IP Library Granted Patent US 11,647,091
Granted Patent B2
US 11,647,091 · App. 16/418,747 · Granted May 9, 2023

Systems and methods for determining domain names of a group entity using electronic activities and systems of record

Inventors: Oleg Rogynskyy (Menlo Park, CA); Stefan Hermanek (San Francisco, CA); Dylan Halladay (San Francisco, CA)
Assignee: People.ai, Inc.
H04L67/535G06F7/14G06F9/542G06F11/3024G06F11/3452G06F11/3495G06F16/122G06F16/178G06F16/1734G06F16/182G06F16/212G06F16/215G06F16/219G06F16/22G06F16/221G06F16/2228G06F16/2264G06F16/2272G06F16/23G06F16/235G06F16/2358G06F16/2365G06F16/2379G06F16/2386G06F16/245G06F16/2457G06F16/2477G06F16/24558G06F16/24564G06F16/24575G06F16/24578G06F16/254G06F16/256G06F16/26G06F16/27G06F16/273G06F16/28G06F16/285G06F16/288G06F16/289G06F16/29G06F16/313G06F16/337G06F16/355G06F16/901G06F16/906G06F16/9024G06F16/9035G06F16/90344G06F16/9535G06F21/6218G06F21/6245G06F40/20G06F40/237G06F40/295G06N3/08G06N5/025G06N5/04G06N7/02G06Q10/04G06Q10/06312G06Q10/06315G06Q10/06393G06Q10/06398G06Q10/063114G06Q10/107G06Q10/109G06Q10/1091G06Q10/1095G06Q50/22G16H50/20H04L41/14H04L43/026H04L43/045H04L43/062H04L43/065H04L43/067H04L43/0876H04L43/14H04L51/046H04L51/212H04L51/234H04L51/42H04L61/45H04L67/125H04L67/30H04L67/303H04L67/306H04M3/436H04M15/755G06F40/205G06N20/00G06Q10/10G16H15/00G16H50/30H04L12/1407H04L2101/00H04L2101/35H04L2101/37H04M3/2218H04M3/56
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,647,091
App. No.
16/418,747
Granted
May 9, 2023
Kind
B2
Abstract

The present disclosure relates to determining domain names of a group entity using electronic activities and systems of record. A method can include maintaining a plurality of node profiles including one or more node field-value pairs. Each node profile of the plurality of node profiles can identify a group entity. The method can include identifying a first domain name corresponding to the group entity. The method can include accessing a plurality of data points corresponding to a subset of the plurality of node profiles. The method can include updating each respective node profile of the subset to include a respective second electronic account identifier corresponding to the node profile. The method can include storing, in at least one first data structure, an association between the group entity, the first domain name, and a second domain name corresponding to the second electronic account identifiers.

Claims (86)

1. A method comprising:

maintaining, by one or more processors, a plurality of node profiles including one or more node field-value pairs, each node profile of the plurality of node profiles including a first field-value pair identifying a group entity;

identifying, by the one or more processors, from the plurality of node profiles or first email addresses included as values of a respective electronic account identifier field of the plurality of node profiles, a first domain name corresponding to the group entity;

accessing, by the one or more processors, a plurality of data points corresponding to a subset of the plurality of node profiles, each data point corresponding to a respective node profile of the subset and identifying a respective second email address, each respective second email address having a second domain name, each data point having a timestamp within a period of time;

updating, by the one or more processors, each respective node profile of the subset to include the respective second email address as a value of the respective electronic account identifier field using respective data points of the plurality of data points matched to the respective node profile;

determining, by the one or more processors, responsive to updating the respective node profiles of the subset to include the respective second email address identifying the second domain name as a value of a respective electronic account identifier field of the node profile using at least one data point having a respective timestamp within the period of time, that a number of node profiles that have been updated to include the respective second email address within the period of time satisfy a threshold for associating the second domain name with the group entity; and

storing, by the one or more processors, in at least one first data structure, responsive to the determining, an association between a first group node representing the group entity, the first domain name, and the second domain name, at least one node profile of the plurality of node profiles linked with the first group node based on the at least one node profile including the first field-value pair identifying the group entity.

2. The method of claim 1 , wherein the plurality of data points includes a plurality of electronic activities, the method further comprising:

matching, by the one or more processors, each electronic activity of the plurality of electronic activities with one or more node profiles of the plurality of node profiles by comparing activity field-value pairs of each electronic activity with node field-value pairs of the one or more node profiles,

wherein updating each respective node profile of the subset to include the respective second email address comprises updating, by the one or more processors, each respective node profile of the subset responsive to the matching.

3. The method of claim 1 , further comprising:

selecting, by the one or more processors, an update time interval,

wherein the determining further comprises determining, by the one or more processors, that each node profile of the subset of the plurality of node profiles was updated to include the respective second email address during the update time interval.

4. The method of claim 1 , wherein the group entity comprises a first group entity, the method further comprising:

accessing, by the one or more processors, a plurality of electronic activities sent or received by the subset of the plurality of node profiles;

parsing, by the one or more processors, the plurality of electronic activities to identify a relationship between the first group entity and a second group entity corresponding to the second domain name; and

storing, by the one or more processors, in at least one second data structure, an association between the first group node and a second group node representing the second group entity.

5. The method of claim 1 , further comprising:

accessing, by the one or more processors, a first electronic activity comprising a bounceback electronic activity;

identifying, by the one or more processors, a second electronic activity that triggered the bounceback electronic activity;

determining, by the one or more processors, that an intended recipient of the second electronic activity has an electronic account identifier associated with the first domain name; and

updating, by the one or more processors, a confidence score of an electronic account identifier value associated with the first domain name of a node profile corresponding to the intended recipient.

6. The method of claim 1 , further comprising:

determining, by the one or more processors, for each node profile of the subset, a correlation between a field-value pair corresponding to the second email address of the node profile, a field-value pair corresponding to a first name of the node profile, and a field-value pair corresponding to a last name of the node profile;

determining, by the one or more processors, based on the correlation, an electronic account identifier pattern of the second email addresses; and

storing, by the one or more processors, in one or more second data structures, an association between the group entity and the electronic account identifier pattern.

7. The method of claim 1 , further comprising:

accessing, by the one or more processors, an electronic activity identifying a participant having an electronic account identifier associated with the second domain name;

determining, by the one or more processors, at least one of a first name of the participant or a last name of the participant based on the electronic account identifier of the electronic activity and an electronic activity identifier pattern;

generating, by the one or more processors, an activity field-value pair identifying the first name or last name of the participant; and

matching, by the one or more processors, the electronic activity to a first node profile of the plurality of node profiles based on comparing the activity field-value pair to a corresponding node field-value pair of the first node profile, wherein the first node profile corresponds to the participant.

8. The method of claim 1 , wherein the second domain name corresponds to a second group entity, the method further comprising:

identifying, by the one or more processors, a system of record associated with a data source provider corresponding to a third group entity;

identifying, by the one or more processors, a record object included in the system of record having an object field-value pair corresponding to the first domain name; and

updating, by the one or more processors, the record object to include a value corresponding to the second domain name.

9. The method of claim 4 , further comprising:

determining, by the one or more processors, that the relationship between the first group entity and the second group entity satisfies a hierarchy update policy; and

updating, by the one or more processors, a node graph including the first group node and the second group node to include a connection between the first group node and the second group node, the connection indicating the relationship between the first group entity and the second group entity.

10. The method of claim 4 , further comprising:

determining, by the one or more processors, that the relationship between the first group entity and the second group entity satisfies a hierarchy update policy;

identifying, by the one or more processors, a record object corresponding to at least one of the first group entity or the second group entity, the record object linked with an account hierarchy data structure; and

updating, by the one or more processors, the account hierarchy data structure responsive to determining that the relationship between the first group entity and the second group entity satisfies the hierarchy update policy.

11. The method of claim 6 , further comprising:

generating, by the one or more processors, for a first node profile of the plurality of node profiles that is not included in the subset, a new electronic account identifier including the second domain name using the electronic account identifier pattern; and

updating, by the one or more processors, the first node profile to include the new electronic account identifier.

12. A system comprising:

one or more processors configured by machine-readable instructions to:

maintain a plurality of node profiles including one or more node field-value pairs, each node profile of the plurality of node profiles including a first field-value pair identifying a group entity;

identify, from the plurality of node profiles or first email addresses included as values of a respective electronic account identifier field of the plurality of node profiles, a first domain name corresponding to the group entity;

access a plurality of data points corresponding to a subset of the plurality of node profiles, each data point corresponding to a respective node profile of the subset and identifying a respective second email address, each respective second email address having a second domain name, each data point having a timestamp within a period of time;

update each respective node profile of the subset to include the respective second email address as a value of the respective electronic account identifier field using respective data points of the plurality of data points matched to the respective node profile;

determine, responsive to updating the respective node profiles of the subset to include the respective second email address identifying the second domain name as a value of a respective electronic account identifier field of the node profile using at least one data point having a respective timestamp within the period of time, that a number of node profiles that have been updated to include the respective second email address within the period of time satisfy a threshold for associating the second domain name with the group entity; and

store, in at least one first data structure, responsive to the determining, an association between a first group node representing the group entity, the first domain name, and the second domain name, at least one node profile of the plurality of node profiles linked with the first group node based on the at least one node profile including the first field-value pair identifying the group entity.

13. The system of claim 12 , wherein the plurality of data points includes a plurality of electronic activities, and wherein the one or more processors are further configured by the machine readable instructions to:

match each electronic activity of the plurality of electronic activities with one or more node profiles of the plurality of node profiles by comparing activity field-value pairs of each electronic activity with node field-value pairs of the one or more node profiles; and

update each respective node profile of the subset to include the respective second email address responsive to the matching.

14. The system of claim 12 , wherein the one or more processors are further configured by the machine readable instructions to:

select an update time interval; and

determine that each node profile of the subset of the plurality of node profiles was updated to include the respective second email address during the update time interval.

15. The system of claim 12 , wherein the group entity comprises a first group entity, and wherein the one or more processors are further configured by the machine readable instructions to:

access a plurality of electronic activities sent or received by the subset of the plurality of node profiles;

parse the plurality of electronic activities to identify a relationship between the first group entity and a second group entity corresponding to the second domain name; and

store, in at least one second data structure, an association between the first group node and a second group node representing the second group entity.

16. The system of claim 12 , wherein the one or more processors are further configured by the machine readable instructions to:

access a first electronic activity comprising a bounceback electronic activity;

identify a second electronic activity that triggered the bounceback electronic activity;

determine that an intended recipient of the second electronic activity has an electronic account identifier associated with the first domain name; and

update a confidence score of an electronic account identifier value associated with the first domain name of a node profile corresponding to the intended recipient.

17. The system of claim 12 , wherein the one or more processors are further configured by the machine readable instructions to:

determine, for each node profile of the subset, a correlation between a field-value pair corresponding to the second email address of the node profile, a field-value pair corresponding to a first name of the node profile, and a field-value pair corresponding to a last name of the node profile;

determine, based on the correlation, an electronic account identifier pattern of the second email addresses; and

store, in one or more second data structures, an association between the group entity and the electronic account identifier pattern.

18. The system of claim 15 , wherein the one or more processors are further configured by the machine readable instructions to:

determine that the relationship between the first group node and the second group nodes satisfies a hierarchy update policy; and

update a node graph including the first group node and the second group node to include a connection between the first group node and the second group node, the connection indicating the relationship between the first group entity and the second group entity.

19. The system of claim 15 , wherein the one or more processors are further configured by the machine readable instructions to:

determine that the relationship between the first group entity and the second group entity satisfies a hierarchy update policy;

identify a record object corresponding to at least one of the first group entity or the second group entity, the record object linked with an account hierarchy data structure; and

update the account hierarchy data structure responsive to determining that the relationship between the first group entity and the second group entity satisfies the hierarchy update policy.

20. A non-transitory computer-readable storage medium having instructions embodied thereon, the instructions being executable by one or more processors to cause the one or more processors to:

maintain a plurality of node profiles including one or more node field-value pairs, each node profile of the plurality of node profiles including a first field-value pair identifying a group entity;

identify, from the plurality of node profiles or first email addresses included as values of a respective electronic account identifier field of the plurality of node profiles, a first domain name corresponding to the group entity;

access a plurality of data points corresponding to a subset of the plurality of node profiles, each data point corresponding to a respective node profile of the subset and identifying a respective second email address, each respective second email address having a second domain name, each data point having a timestamp within a period of time;

update each respective node profile of the subset to include the respective second email address as a value of the respective electronic account identifier field using respective data points of the plurality of data points matched to the respective node profile;

determine, responsive to updating the respective node profiles of the subset to include the respective second email address identifying the second domain name as a value of a respective electronic account identifier field of the node profile using at least one data point having a respective timestamp within the period of time, that a number of node profiles that have been updated to include the respective second email address within the period of time satisfy a threshold for associating the second domain name with the group entity; and

store, in at least one first data structure, responsive to the determining, an association between a first group node representing the group entity, the first domain name, and the second domain name, at least one node profile of the plurality of node profiles linked with the first group node based on the at least one node profile including the first field-value pair identifying the group entity.

Assignments (2)
SECURITY INTEREST Recorded Jan 19, 2023
From: PEOPLE.AI, INC.
To: BANK OF MONTREAL, AS ADMINISTRATIVE AGENT
Reel/Frame 062435/0828 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 12, 2019
From: ROGYNSKYY, OLEG; HERMANEK, STEFAN; HALLADAY, DYLAN
To: PEOPLE.AI, INC.
Reel/Frame 049450/0094 →
Continuity (4)
Provisional Application 62747452 · Oct 18, 2018
Provisional Application 62725999 · Aug 31, 2018
Provisional Application 62676187 · May 24, 2018
Related Publication 20190361877A1 · Nov 28, 2019
Cited By (2)
US 12,602,510 US 12,694,043