IP Library Granted Patent US 11,347,809
Granted Patent B2
US 11,347,809 · App. 16/189,784 · Granted May 31, 2022

Performing attribution modeling for arbitrary analytics parameters

Inventors: Trevor Paulsen (Lehi, UT); Ivan Andrus (Saratoga Springs, UT); Nathan Purser (Highland, UT)
Assignee: Adobe Inc.
G06F16/9038G06F16/337G06F16/35G06Q30/0201
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,347,809
App. No.
16/189,784
Granted
May 31, 2022
Kind
B2
Abstract

The present disclosure relates to performing attribution modeling in real time using touchpoint data that correspond to arbitrary analytics parameters (e.g., a user-specified dimension) and are retrieved from a database using an attribution model. For example, in one or more embodiments, a system stores raw data in an analytics database that comprises an aggregator and a plurality of nodes. In particular, each node stores touchpoint data associated with a different user. Upon receiving a query, the system can, in real time, retrieve subsets of the touchpoint data that correspond to a user-specified dimension in accordance with an attribution model. The system then combines the subsets of touchpoint data using the aggregator and generates the digital attribution report using the combined data.

Claims (72)

1. In a digital medium environment for collecting and analyzing analytics data about network communications, a method for generating digital attribution reports in real time comprising:

storing data that is received from a plurality of client devices associated with a plurality of users in an analytics database comprising an aggregator and a plurality of nodes, wherein each node corresponds to a given user and storing the data within a node comprises utilizing a processing unit of the node to store a user ID and touchpoint data associated with the given user within a data storage unit of the node;

receiving a query to generate a digital attribution report for a user-specified dimension based on an attribution model; and

in response to receiving the query and in real time:

retrieving, using nodes of the plurality of nodes, subsets of touchpoint data corresponding to the user-specified dimension in accordance with the attribution model;

combining, using the aggregator, the subsets of touchpoint data corresponding to the user-specified dimension in accordance with the attribution model;

generating the digital attribution report using the combined subsets of touchpoint data; and

providing the digital attribution report for display.

2. The method of claim 1 , wherein the user-specified dimension comprises a dimension other than distribution channels.

3. The method of claim 2 , wherein the user-specified dimension comprises at least one of internal campaigns, product finding methods, internal search terms, pages, page types, products, product types, or product brands.

4. The method of claim 1 , wherein the attribution model comprises a user-specified attribution model.

5. A non-transitory computer readable storage medium comprising instructions that, when executed by at least one processor, cause a computing device to:

store data that is received from a plurality of client devices associated with a plurality of users in an analytics database comprising an aggregator and a plurality of nodes, wherein each node corresponds to a given user and storing the data within a node comprises utilizing a processing unit of the node to store a user ID and touchpoint data associated with the given user within a data storage unit of the node;

receive a query to generate a digital attribution report for a user-specified dimension based on an attribution model; and

in response to receiving the query and in real time:

retrieve, using nodes of the plurality of nodes, subsets of touchpoint data corresponding to the user-specified dimension in accordance with the attribution model;

combine, using the aggregator, the subsets of touchpoint data corresponding to the user-specified dimension in accordance with the attribution model;

generate the digital attribution report using the combined subsets of touchpoint data; and

provide the digital attribution report for display.

6. The non-transitory computer readable storage medium of claim 5 , wherein:

the query to generate the digital attribution report for the user-specified dimension based on the attribution model comprises a user-specified event, and

the subsets of touchpoint data corresponding to the user-specified dimension retrieved in accordance with the attribution model comprise one or more touchpoints called for by the attribution model based on the user-specified event.

7. The non-transitory computer readable storage medium of claim 6 , wherein: the user-specified event is an event other than orders or revenue.

8. The non-transitory computer readable storage medium of claim 7 , wherein: the user-specified event comprises one of custom events, units, visits, cart additions, or cart removals.

9. The non-transitory computer readable storage medium of claim 5 , wherein:

an instance of touchpoint data comprises an indication of a touchpoint and a timestamp associated with the touchpoint, and

the instructions, when executed by the at least one processor, cause the computing device to store the touchpoint data in the analytics database by storing, in each node, instances of touchpoint data chronologically based on the timestamp associated with each touchpoint of a corresponding user.

10. The non-transitory computer readable storage medium of claim 5 , wherein the instructions, when executed by the at least one processor, cause the computing device to, retrieve, using the nodes of the plurality of nodes, the subsets of touchpoint data corresponding to the user-specified dimension in accordance with the attribution model by filtering, at each node, a subset of touchpoints for a corresponding user that correspond to the user-specified dimension in accordance with the attribution model.

11. The non-transitory computer readable storage medium of claim 5 , wherein the analytics database further comprises a plurality of intermediate aggregators, wherein each intermediate aggregator is associated with, and aggregates data from, a different subset of nodes of the plurality of nodes.

12. The non-transitory computer readable storage medium of claim 11 ,

further comprising instructions that, when executed by the at least one processor, cause the computing device to aggregate, using each intermediate aggregator, the subsets of touchpoint data from the subset of nodes corresponding to each intermediate aggregator to generate sets of aggregated touchpoint data,

wherein the instructions, when executed by the at least one processor, cause the computing device to combine, using the aggregator, the subsets of touchpoint data by combining the sets of aggregated touchpoint data from the plurality of intermediate aggregators.

13. The non-transitory computer readable storage medium of claim 5 , further comprising instructions that, when executed by the at least one processor, cause the computing device to:

receive a second query to generate a second digital attribution report for the user-specified dimension based on a second attribution model;

in response to receiving the second query and in real time:

retrieve, using the nodes of the plurality of nodes, second subsets of touchpoint data corresponding to the user-specified dimension in accordance with the second attribution model;

combine, using the aggregator, the second subsets of touchpoint data corresponding to the user-specified dimension in accordance with the second attribution model; and

generate the second digital attribution report using the combined second subsets of touchpoint data; and

provide the second digital attribution report for display simultaneously with the digital attribution report.

14. A system comprising:

a memory component comprising an analytics database that stores data received from a plurality of client devices associated with a plurality of users, the analytics database comprising:

an aggregator; and

a plurality of nodes, wherein each node comprises a data storage unit and a processing unit that chronologically stores touchpoint data associated with a corresponding user within the data storage unit and stores a user ID of the corresponding user within the data storage unit;

at least one server; and

at least one non-transitory computer readable storage medium comprising instructions that, when executed by the at least one server, cause the system to:

receive a query to generate a digital attribution report for a user-specified dimension based on an attribution model; and

in response to receiving the query and in real time:

send, to the plurality of nodes, a request for touchpoint data corresponding to the user-specified dimension based on the attribution model;

use the attribution model, at the plurality of nodes, to identify subsets of touchpoint data corresponding to the user-specified dimension to send to the aggregator;

combine, at the aggregator, the subsets of touchpoint data corresponding to the user-specified dimension from the plurality of nodes;

generate the digital attribution report based on the combined subsets of touchpoint data; and

provide the digital attribution report for display on a client device.

15. The system of claim 14 ,

wherein an instance of touchpoint data comprises an indication of a touchpoint and a timestamp associated with the touchpoint, and

further comprising instructions that, when executed by the at least one server, cause the system to store, in each node, instances of touchpoint data chronologically based on the timestamp associated with each touchpoint of the corresponding user.

16. The system of claim 14 , wherein the instructions, when executed by the at least one server, cause the system to use the attribution model, at the plurality of nodes, to identify subsets of touchpoint data corresponding to the user-specified dimension to send to the aggregator by filtering, at each node, a subset of touchpoints for the corresponding user that correspond to the user-specified dimension in accordance with the attribution model.

17. The system of claim 16 , wherein filtering, at each node, the subset of touchpoints for the corresponding user that correspond to the user-specified dimension in accordance with the attribution model comprises:

filtering, at each node, to exclude instances of touchpoint data that do not correspond to the user-specified dimension; and

analyzing instances of touchpoint data remaining after the filtering in accordance with the attribution model.

18. The system of claim 14 , wherein:

the memory component further comprises:

a first intermediate aggregator corresponding to a first subset of nodes; and

a second intermediate aggregator corresponding to a second subset of nodes, and

the instructions, when executed by the at least one server, cause the system to use the attribution model, at the plurality of nodes, to identify the subsets of touchpoint data corresponding to the user-specified dimension to send to the aggregator by:

using the attribution model, at the first subset of nodes, to identify a first subsets of touchpoint data corresponding to the user-specified dimension; and

using the attribution model, at the second subset of nodes, to identify a second subsets of touchpoint data corresponding to the user-specified dimension.

19. The system of claim 18 ,

further comprising instructions that, when executed by the at least one server, cause the system to:

aggregate, using the first intermediate aggregator, data from the first subsets of touchpoint data corresponding to the user-specified dimension to generate a first set of aggregated touchpoint data; and

aggregate, using the second intermediate aggregator, data from the second subsets of touchpoint data corresponding to the user-specified dimension to generate a second set of aggregated touchpoint data,

wherein the instructions, when executed by the at least server, cause the system to combine, at the aggregator, the subsets of touchpoint data corresponding to the user-specified dimension from the plurality of nodes by combining the first set of aggregated touchpoint data and the second set of aggregated touchpoint data.

20. The non-transitory computer readable storage medium of claim 5 , wherein utilizing the processing unit of the node to store the user ID associated with the given user within the data storage unit of the node comprises utilizing the processing unit of the node to store at least one of a name of the given user or an IP address or cookie associated with a client device of the given user.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 16, 2019
From: PURSER, NATHAN
To: ADOBE INC.
Reel/Frame 048030/0597 →
CHANGE OF NAME Recorded Nov 30, 2018
From: ADOBE SYSTEMS INCORPORATED
To: ADOBE INC.
Reel/Frame 047688/0635 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 13, 2018
From: PAULSEN, TREVOR; ANDRUS, IVAN
To: ADOBE INC.
Reel/Frame 047490/0546 →
Continuity (1)
Related Publication 20200151282A1 · May 14, 2020