DATA MANAGEMENT PLATFORM FOR DIGITAL ADVERTISING
A data management apparatus for digital advertising includes a data integration processor for collecting and storing data from providers, resolving heterogeneity of the data at schema and data levels, and performing validity checks of the data; an analytics processor for receiving validated data from the data integration processor and providing to users custom, nesting-aware, SQL-like query language and a library of data mining methods, machine learning models, and analytical user profiles (AUP); and an activation processor for encapsulating complex computations performed in real-time, segment evaluation, and online user classification using runtime user profiles (RUP).
1 . A data management apparatus for digital advertising, comprising:
a data integration processor configured for collecting and storing data from providers, resolving heterogeneity of the data at schema and data levels, and performing validity checks of the data;
an analytics processor configured for receiving validated data from the data integration processor and providing to users a custom, nesting-aware, SQL-like query language and a library of data mining methods, machine learning models, and analytical user profiles (AUP); and
an activation processor configured for encapsulating complex computations performed in real-time, segment evaluation, and online user classification using runtime user profiles (RUP).
2 . The apparatus of claim 1 , wherein user online activity data is sent from a demand-side platform (DSP) and wherein the user online activity data comprises any of impressions, clicks, and actions;
3 . The apparatus of claim 1 , wherein user online activity data is obtained from an internal DSP and external DSPs.
4 . The apparatus of claim 1 , wherein a user profile comprises a central data repository and the profile comprises any of: marketing campaign data, online behavior data, and customer relations management (CRM) data.
5 . The apparatus of claim 1 , wherein the data integration processor is configured to:
upload offline data files to an Hadoop File System (HDFS);
check the offline data files for data type or out of range errors; and
record lineage by joining the data files with the user profiles based on user id mappings.
6 . The apparatus of claim 1 , wherein the data integration processor is configured to use configuration files for instantiating different loading templates and a centralized catalog, supporting schema evolvement, to mitigate heterogeneity issues.
7 . The apparatus of claim 1 , wherein the data integration processor is configured to consistently save metrics comprising any of files that were received and stored, records processed, records rejected, last successful pipeline step, and profiling times in a database.
8 . The apparatus of claim 1 , wherein the analytics processor is configured to employ optimization techniques for AUP queries, said techniques comprising any of:
correlating sub-queries over nested tables;
organizing columns in the user profile in a PAX-like format to achieve better compression ratios; and
multi-query execution.
9 . The apparatus of claim 1 , wherein the analytics processor is configured to incorporate different multi-touch attribution (MTA) models as user defined functions (UDFs) into a Cheetah Query Language (CQL).
10 . The apparatus of claim 1 , wherein the analytics processor is configured to allow users to perform form their own ad-hoc analysis to obtain unique insights.
11 . The apparatus of claim 2 , wherein profile stores are high-performance key-value stores for RUPs, with keys being user ids and values being RUPs.
12 . The apparatus of claim 1 , wherein RUPs are replicated locally in each data center and globally between data centers to achieve high availability and local low-latency access.
13 . The apparatus of claim 1 , wherein the activation processor is configured to provide a replication bus that incrementally replicates user events across data centers and distributes the user events to profile stores to keep RUPs up-to-date.
14 . The apparatus of claim 1 , wherein the activation processor is configured to support multiple types of data as any of impression and click events, structured data events, and arbitrary key-value pair data events, wherein the data events are available in RUPs in real-time to use for any of algorithmic computation, decision making, and analytics, and wherein the data events from RUP are replicated to AUP.
15 . The apparatus of claim 1 , wherein the activation processor is configured to process complex segments, where complex segments are represented by executable code that is evaluated against the RUP data in real-time.
16 . The apparatus of claim 1 , wherein the activation processor is configured to perform a computation for a particular algorithm that is complex and requires multiple stages of a computation layer, comprising a series of real-time MapReduce jobs processing the data step-by-step, wherein the computation is represented by a continuous query language or by predefined operators using UDFs, which operate on RUPs in real-time.
17 . The apparatus of claim 1 , wherein the activation processor is configured to generate signals out of the computation layer, store the signals as unstructured data in RUPs and AUPs, and send back to clients for any of immediate action or for better user behavior prediction to achieve better campaign performance.
18 . A computer implemented data management method for digital advertising, comprising:
collecting and storing, by a data integration processor, data from providers, resolving heterogeneity of the data at schema and data levels, and performing validity checks of the data;
receiving, by an analytics processor, validated data from the data integration processor and providing to users custom, nesting-aware, SQL-like query language and a library of data mining methods, machine learning models, and analytical user profiles (AUP); and
encapsulating, by an activation processor, complex computations performed in real-time, segment evaluation, and online user classification using runtime user profiles (RUP).