US20200175530A1 - Pathing and attribution in marketing analytics - Google Patents
Pathing and attribution in marketing analytics Download PDFInfo
- Publication number
- US20200175530A1 US20200175530A1 US16/787,968 US202016787968A US2020175530A1 US 20200175530 A1 US20200175530 A1 US 20200175530A1 US 202016787968 A US202016787968 A US 202016787968A US 2020175530 A1 US2020175530 A1 US 2020175530A1
- Authority
- US
- United States
- Prior art keywords
- events
- entities
- programming statement
- path
- programming
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 claims abstract description 25
- 238000006243 chemical reaction Methods 0.000 claims abstract description 20
- 230000008569 process Effects 0.000 claims abstract description 19
- 230000009471 action Effects 0.000 claims description 6
- 230000015654 memory Effects 0.000 claims description 6
- 230000029305 taxis Effects 0.000 claims description 2
- 238000013178 mathematical model Methods 0.000 claims 2
- 230000003993 interaction Effects 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 101100503241 Caenorhabditis elegans folt-1 gene Proteins 0.000 description 5
- 238000011045 prefiltration Methods 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013079 data visualisation Methods 0.000 description 1
- 238000003870 depth resolved spectroscopy Methods 0.000 description 1
- 208000009743 drug hypersensitivity syndrome Diseases 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0201—Market modelling; Market analysis; Collecting market data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0242—Determining effectiveness of advertisements
- G06Q30/0243—Comparative campaigns
Definitions
- This disclosure relates to marketing analytics.
- Marketing analytics is the practice of measuring, managing and analyzing marketing performance to maximize its effectiveness and optimize return on investment.
- Marketing analytics are used by vendors to assess performance of their marketing programs. The field includes the processes and technologies that enable vendors to evaluate their marketing initiatives.
- Marketing analytics uses software-based algorithms and statistics to derive meaning from data. Performance is typically assessed using business metrics such as return on investment (ROI), attribution and effectiveness.
- ROI return on investment
- Marketing analytics can be used to obtain insights into customer preferences and trends, and assess sales and lead generation advertising campaigns.
- Marketing analytics systems often aggregate data from across a variety of marketing channels and consolidate it into a common marketing view. From this common view, analytical results can be extracted to aid a vendor in making optimal marketing decisions.
- Data matching can be either deterministic or probabilistic. Deterministic matching mainly looks for an exact match between two pieces of data. It is fast and accurate if the data quality is perfect, clean and standard all of the time. In reality, data is collected in various source systems in many different ways. This is where probabilistic, or fuzzy, matching comes in. In probabilistic matching, several field values are compared between two records and each field is assigned a weight that indicates how closely the two field values match. The sum of the individual field weights indicates the likelihood of a match between two records.
- Vendors have used marketing analytics for various metrics. Marketing analytics can be used to assess performance of marketing initiatives performing over selected time periods and how to improve them. Marketing analytics can be used to compare marketing activities of selected vendors. Marketing analytics can be used to determine how competitors are spending time and money on marketing, and the channels being used. Marketing analytics can be used to recommend improvements to a marketing plan, allocations between advertising campaigns, and prioritization of time and money.
- FIG. 1 is a block diagram of a system for pathing and attribution in marketing analytics.
- FIG. 2 is a Venn diagram of certain marketing data.
- FIG. 3 is a flow chart of a process for pathing and attribution.
- FIG. 4 is a block diagram view of a computer workstation.
- FIG. 1 there is shown a block diagram of a system 100 for pathing and attribution in marketing analytics.
- the system 100 includes a data store 110 connected to an analyst workstation 120 , and in FIG. 1 connectivity is via a network 160 .
- the data store 110 is a data storage system and may be a single storage device, an array of devices, a distribution of devices and/or cloud storage, may be local or remote to the analyst workstation 120 , and may be a combination of these.
- the data store 110 stores marketing data, including data and metadata of interactions between a plurality of customers and one or more vendors in the form of campaigns, journeys, paths and events.
- the data store 110 includes data and metadata about the campaigns, journeys, paths and events, as well as the customers and the vendors.
- the data store 110 may store both structured and unstructured data sets.
- the data store 110 may include and/or be managed using a combination of the Hadoop Distributed File System and HBase (NoSQL).
- the analyst workstation 120 is used by an analyst 125 (i.e., a person) to query the data store 110 .
- the analyst creates a marketing analytics software program with a variety of programming statements adapted to the particular demands of marketing analysis and the data sets available.
- This program may be stored in a non-transitory medium in the analyst workstation 120 or elsewhere accessible to the analyst workstation 120 .
- These programming statements when executed by a processor, cause the processor to do things such as model, measure, manage and analyze marketing performance.
- Attribution a process of weighting an event with respect to a conversion.
- Campaign a series of related marketing activities intended to drive a particular outcome for a particular brand.
- Channels modalities of marketing interactions between vendors and targeted customers.
- Channels can include various forms of advertising such as banners, social media, blogs, videos, audio, and email.
- Conversion the point at which an activity or response by a customer to a call to action by a vendor fulfills the vendor's desired outcome, such as the customer making a purchase, registering for an event, subscribing to an e-newsletter, completing a lead-generation form, or downloading a file.
- Customer an individual, business or other real world party which can be the target of marketing and which can engage in purchasing transactions, include shoppers, users, prospective customers and buyers.
- Customers include prior and prospective purchasers from the vendor, and individuals and businesses that are actively engaged in shopping with the vendor.
- Data visualization a visual abstraction of data designed for the purpose of deriving meaning or communicating information more effectively.
- Engagement rate the length of time of a journey.
- Event an individual action at a point in time by a customer or a vendor.
- An event has at least an event type, a timestamp, and identification of the actor.
- Funnel all of a customer's events from the first interaction with the vendor to a conversion.
- a journey a sequence of related events by a customer defining an engagement of the customer with a campaign.
- a journey consists of at least one path.
- Lead a customer who has shown interest in a vendor, or its products or services.
- Location data data that describes a geographic location.
- Path a time-ordered series of events within a journey having time-based or position-based boundaries, and could be an entire journey.
- Step one or more events in a path to which conversion is attributed. If there is no conversion in a path then there are no steps.
- Vendor a real world entity that sells or distributes product or services to others, such as a business, non-profit or government agency.
- Weight an indicator of how closely two items match.
- FIG. 2 there is shown a Venn diagram of certain marketing data which may be stored in the data store 110 .
- events 240 At the lowest level are events 240 and at the highest level are campaigns 210 .
- Events 240 may be grouped into paths 230 , and paths 230 may be grouped into journeys 220 .
- This marketing data is referred to herein by its representative name. For example, data about a given campaign is referred to as the campaign; data about a given event is referred to as the event.
- the data store 110 holds marketing event data and linked identifiers, such as a customer number to an email address or an online cookie to a vendor's CRM (customer relationship management) system identifier. Events are stored with relevant metadata, such as campaign, channel, and identifiers of the actor. The linked customer identifiers may be useful for tying together customer journeys cross-channel and cross-device.
- linked identifiers such as a customer number to an email address or an online cookie to a vendor's CRM (customer relationship management) system identifier.
- relevant metadata such as campaign, channel, and identifiers of the actor.
- the linked customer identifiers may be useful for tying together customer journeys cross-channel and cross-device.
- FIG. 3 there is shown a block diagram chart of a process 300 for pathing and attribution.
- This process may be used by an analyst with the system 100 ( FIG. 1 ).
- the process 300 has two phases: a set-up phase 310 and a query phase 350 , each with a number of components, and results in the creation of a marketing analytics program 390 . Additional phases may be included.
- phase The components of the phases are referred to by a name which also may be used as the name of a programming statement which provides the corresponding functionality.
- programming statements are specially adapted for and therefore especially well-suited to the needs of marketing analytics.
- programming statement means the smallest standalone element of an imperative programming language that expresses some action to be carried out. It is an instruction written in a high-level language that commands the computer to perform a specified action.
- the set-up phase 310 has components which include MODEL 315 , SCOPE 320 , PRE-FILTER 325 , TAG 330 and IDENTITY 335 .
- the set-up phase 310 and its components 315 , 320 , 325 , 330 , 335 are optional and may be obviated by system defaults.
- the analyst may assign a name to a path model (described below) created by the marketing analytics program 390 .
- the marketing analytics program 390 may use this name elsewhere, such as a prefix to any resulting output tables.
- the MODEL 315 programming statement may have a default value, such as a generic placeholder. If the MODEL 315 programming statement is omitted, a default form of the MODEL 315 programming statement may be included in the marketing analytics program 390 , or one or more default values for names may be utilized.
- the analyst may limit a scope of all queries to campaigns matching specified criteria.
- the criteria may include one or more specific campaigns (e.g., through a numeric identifier or name), and/or timestamp ranges of campaigns.
- the timestamp ranges may take various forms, such as start/end of the campaign, or a range of when conversions occurred.
- the SCOPE 320 programming statement may take the form of SELECT CONTEXT.
- the analyst may limit a query to events matching specified criteria.
- the criteria may include timestamp, event type, ad name, and metadata such as data location.
- the PRE-FILTER 325 programming statement may take the form of PRE-FILTER.
- the analyst may define labels for criteria clauses that can be used in subsequent grammar. That is, the TAG 330 programming statement assigns a specified tag to a plurality of events matching criteria specified in the TAG 330 programming statement. Tags specified in TAG 330 programming statements may then be used with other programming statements described herein.
- the analyst may define identity matching rules used to join events into paths.
- the matching rules may be deterministic or probabilistic and have specific qualities and tolerances. If the IDENTITY 335 statement is omitted, a default form of the IDENTITY 335 programming statement may be included in the marketing analytics program 390 , or default rules may be utilized.
- the matching rules specified in the IDENTITY 335 programming statement are used with other programming statements described herein where a “match” is performed.
- the query phase 350 includes MATCH PATHS 355 , SPLIT 360 , POST-FILTER 365 , ATTRIBUTE 370 , WEIGHT 380 , and GROUP 385 .
- the analyst may limit the query to paths matching specified criteria.
- the criteria specified in the MATCH PATHS 355 programming statement may take the form of a pattern of events.
- the patterns may be defined according to a predefined regular expression syntax.
- the MATCH PATHS 355 programming statement may use the tags. If the MATCH PATHS 355 programming statement is omitted, all paths may be included by default, or a default form of the MATCH PATHS 355 programming statement may be included in the marketing analytics program 390 . A default matching pattern may be all paths.
- the analyst may cause journeys which match specified criteria to be separated (i.e., “split”) into paths.
- the analyst may refine the paths selected by the MATCH PATHS 355 programming statement.
- the SPLIT 360 programming statement may use tags to identify which journeys to split.
- the analyst may further limit paths in the final result to those matching specified criteria.
- the criteria may include tags, length of the path (e.g., number of days), revenue generated from the customer in the path, shipping charged to the customer from a purchase in the path, taxes charged to the customer from a purchase in the path, discounts granted to the customer from a purchase in the path, number of steps in the path, number of events in the path, number of conversions in the path, number of clicks in the path, number of impressions in the path.
- the analyst may attribute as conversions those tagged events which match specified criteria.
- the criteria may employ a number of models, such as algorithmic, even, the first event in the path, the last event in the path, one or more positions within the path, a linear or exponential time decay (to reflect that a step may have less impact on a conversion as the time between the step and the conversion increases), and the inverse of linear or exponential time decay (to reflect that a step farther away from the conversion gets more credit).
- the specified criteria may include tags, and may utilize a generic ANY tag to match any events which are not a conversion.
- Other criteria may include a lookback window, which sets a maximum time period before the conversion for selection of events. If the ATTRIBUTE 370 programming statement is not expressed in the marketing analysis program, the marketing analytics program 390 will not do attribution and only run pathing. If the SCOPE 320 programming statement specifies a conversion timestamp range, the marketing analytics program 390 may cause the ATTRIBUTE 370 programming statement to automatically pull in related events.
- the analyst may fine tune attribution by applying a weighting to events of certain tags in the path.
- the analyst causes a multiplier to be applied after the attribution model has been run to inflate (>1.0) or deflate ( ⁇ 1.0) particular tagged events. Weighting something by 0 is a way to exclude credit to tagged events.
- the analyst may cause a group of consecutive events to be treated as one shared step for attributing value.
- the analyst may specify a time period for the events in the group from the step along with the TAG to group.
- the criteria may employ various functions, such as Boolean (e.g., AND, OR, NOT), wildcards, algorithmic (e.g., plus, minus), time (e.g., specific timestamp, timestamp range, BEFORE, AFTER, WITHIN) and relativistic functions (e.g., BIGGER, LESSER, LIKE, IN).
- Boolean e.g., AND, OR, NOT
- wildcards e.g., plus, minus
- time e.g., specific timestamp, timestamp range, BEFORE, AFTER, WITHIN
- relativistic functions e.g., BIGGER, LESSER, LIKE, IN.
- the functions may leverage the structure of the data store, such as by specifying a file within the data store.
- the output of functions may be binary (e.g., true/false), numeric or otherwise, depending on the nature of the function and its desired use.
- the marketing analytics program 390 may be used on its own or within or in conjunction with various active and/or passive decision-making systems 395 .
- the marketing analytics program 390 may output pathing and attribution tables. These outputs may be useful to the analyst to refine the marketing analysis program, such as its programming statements and criteria.
- the path tables may include event data from the matched paths, the number of steps in the matched path, and the duration of the matched paths.
- the attribution tables may include credited event level, position, and weighted amounts. Using an INCLUDE FIELDS programming statement the analyst may specify fields to include in the output tables.
- the system 100 may include a program generation system 130 .
- the marketing analytics program may be created in whole or in part by an analyst through the program generation system 130 . Through a user interface of the program generation system 130 , the analyst may select program statements for inclusion in the marketing analytics program, and the criteria for those program statements.
- the program generation system 130 automatically generates the marketing analytics program having the corresponding program statements and criteria.
- the program generation system 130 includes hardware and software for providing this functionality.
- the hardware may be shared with other components of the system 100 in whole or in part.
- the software may be on one or more of a single computer, a group of computers or a cloud.
- the marketing analytics program may be in the form of a standalone program or a logical set of routines. Because the programming statements described above are high level, they may be subsequently compiled into object code or executables, or interpreted at run time.
- FIG. 4 there is shown a block diagram of a computer workstation 400 which may be used as the analyst workstation 120 or the program generation system 130 ( FIG. 1 ).
- the workstation 400 has a an input/output interface 430 which interfaces to a user input device (now shown) and a display device (now shown); a processor 440 ; a memory 420 ; a network interface 460 and storage 480 .
- the marketing analytics program may be created and/or controlled by an analyst through the I/O interface 430 , and stored in the storage 480 .
- the processor 440 and the memory 420 have circuits and software for performing programming statements such as those in the marketing analytics program.
- the workstation 400 may include software and/or hardware for providing functionality and features described herein.
- a workstation may therefore include one or more of: logic arrays, memories, analog circuits, digital circuits, software, firmware, and processors such as microprocessors, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), programmable logic devices (PLDs) and programmable logic arrays (PLAs).
- the hardware and firmware components of the workstation may include various specialized units, circuits, software and interfaces for providing the functionality and features described here.
- the processes, functionality and features may be embodied in whole or in part in software which operates on the workstation and may be in the form of firmware, an application program, an applet (e.g., a Java applet), a browser plug-in, a dynamic linked library (DLL), a script or one or more subroutines.
- the hardware and software and their functions may be distributed such that some components are performed by a workstation and others by other devices.
- the techniques may be implemented with machine readable storage media in a storage device included with or otherwise coupled or attached to a computing device. That is, the software may be stored in electronic, machine readable media. These storage media include, for example, magnetic media such as hard disks, optical media; solid state storage such as flash memory systems; and other storage media. As used herein, a storage device is a device that allows for reading and/or writing to a storage medium.
- “plurality” means two or more. As used herein, a “set” of items may include one or more of such items.
- the terms “comprising”, “including”, “carrying”, “having”, “containing”, “involving”, and the like are to be understood to be open-ended, i.e., to mean including but not limited to. Only the transitional phrases “consisting of” and “consisting essentially of”, respectively, are closed or semi-closed transitional phrases with respect to claims.
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Theoretical Computer Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Game Theory and Decision Science (AREA)
- Economics (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
- This patent is a continuation of and claims the benefit of issued U.S. application Ser. No. 15/360,189 filed Nov. 23, 2016, now U.S. Pat. No. 10,558,985 issued Feb. 11, 2020 entitled PATHING AND ATTRIBUTION IN MARKETING ANALYTICS.
- A portion of the disclosure of this patent document contains material which is subject to copyright protection. This patent document may show and/or describe matter which is or may become trade dress of the owner. The copyright and trade dress owner has no objection to the facsimile reproduction by anyone of the patent disclosure as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyright and trade dress rights whatsoever.
- This disclosure relates to marketing analytics.
- Marketing analytics is the practice of measuring, managing and analyzing marketing performance to maximize its effectiveness and optimize return on investment. Marketing analytics are used by vendors to assess performance of their marketing programs. The field includes the processes and technologies that enable vendors to evaluate their marketing initiatives. Marketing analytics uses software-based algorithms and statistics to derive meaning from data. Performance is typically assessed using business metrics such as return on investment (ROI), attribution and effectiveness. Marketing analytics can be used to obtain insights into customer preferences and trends, and assess sales and lead generation advertising campaigns.
- Marketing analytics systems often aggregate data from across a variety of marketing channels and consolidate it into a common marketing view. From this common view, analytical results can be extracted to aid a vendor in making optimal marketing decisions.
- Marketing data however, is often complex, sometimes unstructured, and can have multiple interrelated parts. This makes it difficult for structured query languages and tools to process. Furthermore, this data commonly has varying degrees of integrity (i.e., completeness, timeliness, and validity), and varying associated terminology. This arises from things like differences in marketing channels, marketing tactics, data gathering techniques, terminology and markets.
- Data matching can be either deterministic or probabilistic. Deterministic matching mainly looks for an exact match between two pieces of data. It is fast and accurate if the data quality is perfect, clean and standard all of the time. In reality, data is collected in various source systems in many different ways. This is where probabilistic, or fuzzy, matching comes in. In probabilistic matching, several field values are compared between two records and each field is assigned a weight that indicates how closely the two field values match. The sum of the individual field weights indicates the likelihood of a match between two records.
- Vendors have used marketing analytics for various metrics. Marketing analytics can be used to assess performance of marketing initiatives performing over selected time periods and how to improve them. Marketing analytics can be used to compare marketing activities of selected vendors. Marketing analytics can be used to determine how competitors are spending time and money on marketing, and the channels being used. Marketing analytics can be used to recommend improvements to a marketing plan, allocations between advertising campaigns, and prioritization of time and money.
-
FIG. 1 is a block diagram of a system for pathing and attribution in marketing analytics. -
FIG. 2 is a Venn diagram of certain marketing data. -
FIG. 3 is a flow chart of a process for pathing and attribution. -
FIG. 4 is a block diagram view of a computer workstation. - Throughout this description, elements appearing in figures are assigned three-digit reference designators, where the most significant digit is the figure number and the two least significant digits are specific to the element. An element that is not described in conjunction with a figure may be presumed to have the same characteristics and function as a previously-described element having a reference designator with the same least significant digits.
- Referring now to
FIG. 1 there is shown a block diagram of asystem 100 for pathing and attribution in marketing analytics. Thesystem 100 includes adata store 110 connected to ananalyst workstation 120, and inFIG. 1 connectivity is via anetwork 160. - The
data store 110 is a data storage system and may be a single storage device, an array of devices, a distribution of devices and/or cloud storage, may be local or remote to theanalyst workstation 120, and may be a combination of these. Thedata store 110 stores marketing data, including data and metadata of interactions between a plurality of customers and one or more vendors in the form of campaigns, journeys, paths and events. Thedata store 110 includes data and metadata about the campaigns, journeys, paths and events, as well as the customers and the vendors. Thedata store 110 may store both structured and unstructured data sets. Thedata store 110 may include and/or be managed using a combination of the Hadoop Distributed File System and HBase (NoSQL). - The
analyst workstation 120 is used by an analyst 125 (i.e., a person) to query thedata store 110. As explained further, the analyst creates a marketing analytics software program with a variety of programming statements adapted to the particular demands of marketing analysis and the data sets available. This program may be stored in a non-transitory medium in theanalyst workstation 120 or elsewhere accessible to theanalyst workstation 120. These programming statements, when executed by a processor, cause the processor to do things such as model, measure, manage and analyze marketing performance. - The following terms have the specified meanings.
- Attribution: a process of weighting an event with respect to a conversion.
- Campaign: a series of related marketing activities intended to drive a particular outcome for a particular brand.
- Channels: modalities of marketing interactions between vendors and targeted customers. Channels can include various forms of advertising such as banners, social media, blogs, videos, audio, and email.
- Conversion: the point at which an activity or response by a customer to a call to action by a vendor fulfills the vendor's desired outcome, such as the customer making a purchase, registering for an event, subscribing to an e-newsletter, completing a lead-generation form, or downloading a file.
- Customer: an individual, business or other real world party which can be the target of marketing and which can engage in purchasing transactions, include shoppers, users, prospective customers and buyers. Customers include prior and prospective purchasers from the vendor, and individuals and businesses that are actively engaged in shopping with the vendor.
- Data visualization: a visual abstraction of data designed for the purpose of deriving meaning or communicating information more effectively.
- Engagement rate: the length of time of a journey.
- Event: an individual action at a point in time by a customer or a vendor. An event has at least an event type, a timestamp, and identification of the actor.
- Funnel: all of a customer's events from the first interaction with the vendor to a conversion.
- Journey: a sequence of related events by a customer defining an engagement of the customer with a campaign. A journey consists of at least one path.
- Lead: a customer who has shown interest in a vendor, or its products or services.
- Location data: data that describes a geographic location.
- Path: a time-ordered series of events within a journey having time-based or position-based boundaries, and could be an entire journey.
- Step: one or more events in a path to which conversion is attributed. If there is no conversion in a path then there are no steps.
- Vendor: a real world entity that sells or distributes product or services to others, such as a business, non-profit or government agency.
- Weight: an indicator of how closely two items match.
- Referring now to
FIG. 2 there is shown a Venn diagram of certain marketing data which may be stored in thedata store 110. At the lowest level areevents 240 and at the highest level arecampaigns 210.Events 240 may be grouped intopaths 230, andpaths 230 may be grouped intojourneys 220. This marketing data is referred to herein by its representative name. For example, data about a given campaign is referred to as the campaign; data about a given event is referred to as the event. - The
data store 110 holds marketing event data and linked identifiers, such as a customer number to an email address or an online cookie to a vendor's CRM (customer relationship management) system identifier. Events are stored with relevant metadata, such as campaign, channel, and identifiers of the actor. The linked customer identifiers may be useful for tying together customer journeys cross-channel and cross-device. - Referring now to
FIG. 3 there is shown a block diagram chart of aprocess 300 for pathing and attribution. This process may be used by an analyst with the system 100 (FIG. 1 ). As shown inFIG. 3 , theprocess 300 has two phases: a set-upphase 310 and aquery phase 350, each with a number of components, and results in the creation of amarketing analytics program 390. Additional phases may be included. - The components of the phases are referred to by a name which also may be used as the name of a programming statement which provides the corresponding functionality. These programming statements are specially adapted for and therefore especially well-suited to the needs of marketing analytics. The term “programming statement” means the smallest standalone element of an imperative programming language that expresses some action to be carried out. It is an instruction written in a high-level language that commands the computer to perform a specified action.
- Most of the programming statements are optional, and in general the
marketing analytics program 390 may execute them in any order. The set-upphase 310 has components which includeMODEL 315,SCOPE 320,PRE-FILTER 325,TAG 330 andIDENTITY 335. The set-upphase 310 and itscomponents - Using the
MODEL 315 programming statement the analyst may assign a name to a path model (described below) created by themarketing analytics program 390. Themarketing analytics program 390 may use this name elsewhere, such as a prefix to any resulting output tables. TheMODEL 315 programming statement may have a default value, such as a generic placeholder. If theMODEL 315 programming statement is omitted, a default form of theMODEL 315 programming statement may be included in themarketing analytics program 390, or one or more default values for names may be utilized. - Using the
SCOPE 320 programming statement the analyst may limit a scope of all queries to campaigns matching specified criteria. The criteria may include one or more specific campaigns (e.g., through a numeric identifier or name), and/or timestamp ranges of campaigns. The timestamp ranges may take various forms, such as start/end of the campaign, or a range of when conversions occurred. TheSCOPE 320 programming statement may take the form of SELECT CONTEXT. - Using the PRE-FILTER 325 programming statement the analyst may limit a query to events matching specified criteria. The criteria may include timestamp, event type, ad name, and metadata such as data location. The PRE-FILTER 325 programming statement may take the form of PRE-FILTER.
- Using the
TAG 330 programming statement the analyst may define labels for criteria clauses that can be used in subsequent grammar. That is, theTAG 330 programming statement assigns a specified tag to a plurality of events matching criteria specified in theTAG 330 programming statement. Tags specified inTAG 330 programming statements may then be used with other programming statements described herein. - Using the
IDENTITY 335 programming statement the analyst may define identity matching rules used to join events into paths. The matching rules may be deterministic or probabilistic and have specific qualities and tolerances. If theIDENTITY 335 statement is omitted, a default form of theIDENTITY 335 programming statement may be included in themarketing analytics program 390, or default rules may be utilized. The matching rules specified in theIDENTITY 335 programming statement are used with other programming statements described herein where a “match” is performed. - The
query phase 350 includesMATCH PATHS 355,SPLIT 360,POST-FILTER 365,ATTRIBUTE 370,WEIGHT 380, andGROUP 385. - Using the
MATCH PATHS 355 programming statement the analyst may limit the query to paths matching specified criteria. The criteria specified in theMATCH PATHS 355 programming statement may take the form of a pattern of events. The patterns may be defined according to a predefined regular expression syntax. TheMATCH PATHS 355 programming statement may use the tags. If theMATCH PATHS 355 programming statement is omitted, all paths may be included by default, or a default form of theMATCH PATHS 355 programming statement may be included in themarketing analytics program 390. A default matching pattern may be all paths. - Using the
SPLIT 360 programming statement the analyst may cause journeys which match specified criteria to be separated (i.e., “split”) into paths. As a result, the analyst may refine the paths selected by theMATCH PATHS 355 programming statement. TheSPLIT 360 programming statement may use tags to identify which journeys to split. - Using the POST-FILTER 365 programming statement the analyst may further limit paths in the final result to those matching specified criteria. The criteria may include tags, length of the path (e.g., number of days), revenue generated from the customer in the path, shipping charged to the customer from a purchase in the path, taxes charged to the customer from a purchase in the path, discounts granted to the customer from a purchase in the path, number of steps in the path, number of events in the path, number of conversions in the path, number of clicks in the path, number of impressions in the path.
- Using the
ATTRIBUTE 370 programming statement the analyst may attribute as conversions those tagged events which match specified criteria. The criteria may employ a number of models, such as algorithmic, even, the first event in the path, the last event in the path, one or more positions within the path, a linear or exponential time decay (to reflect that a step may have less impact on a conversion as the time between the step and the conversion increases), and the inverse of linear or exponential time decay (to reflect that a step farther away from the conversion gets more credit). In the even model, the same credit is assigned to each event in the path. The specified criteria may include tags, and may utilize a generic ANY tag to match any events which are not a conversion. Other criteria may include a lookback window, which sets a maximum time period before the conversion for selection of events. If theATTRIBUTE 370 programming statement is not expressed in the marketing analysis program, themarketing analytics program 390 will not do attribution and only run pathing. If theSCOPE 320 programming statement specifies a conversion timestamp range, themarketing analytics program 390 may cause theATTRIBUTE 370 programming statement to automatically pull in related events. - Using the
WEIGHT 380 programming statement the analyst may fine tune attribution by applying a weighting to events of certain tags in the path. In the WEIGHT programming statement the analyst causes a multiplier to be applied after the attribution model has been run to inflate (>1.0) or deflate (<1.0) particular tagged events. Weighting something by 0 is a way to exclude credit to tagged events. - Using the
GROUP 385 programming statement the analyst may cause a group of consecutive events to be treated as one shared step for attributing value. In theGROUP 385 programming statement the analyst may specify a time period for the events in the group from the step along with the TAG to group. - As explained, many of the programming statements utilize specified criteria. The criteria may employ various functions, such as Boolean (e.g., AND, OR, NOT), wildcards, algorithmic (e.g., plus, minus), time (e.g., specific timestamp, timestamp range, BEFORE, AFTER, WITHIN) and relativistic functions (e.g., BIGGER, LESSER, LIKE, IN). The functions may leverage the structure of the data store, such as by specifying a file within the data store. The output of functions may be binary (e.g., true/false), numeric or otherwise, depending on the nature of the function and its desired use.
- The
marketing analytics program 390 may be used on its own or within or in conjunction with various active and/or passive decision-makingsystems 395. For example, themarketing analytics program 390 may output pathing and attribution tables. These outputs may be useful to the analyst to refine the marketing analysis program, such as its programming statements and criteria. The path tables may include event data from the matched paths, the number of steps in the matched path, and the duration of the matched paths. The attribution tables may include credited event level, position, and weighted amounts. Using an INCLUDE FIELDS programming statement the analyst may specify fields to include in the output tables. - Referring again to
FIG. 1 , thesystem 100 may include aprogram generation system 130. The marketing analytics program may be created in whole or in part by an analyst through theprogram generation system 130. Through a user interface of theprogram generation system 130, the analyst may select program statements for inclusion in the marketing analytics program, and the criteria for those program statements. Theprogram generation system 130 automatically generates the marketing analytics program having the corresponding program statements and criteria. Theprogram generation system 130 includes hardware and software for providing this functionality. The hardware may be shared with other components of thesystem 100 in whole or in part. The software may be on one or more of a single computer, a group of computers or a cloud. - The marketing analytics program, whether created manually or automatically, may be in the form of a standalone program or a logical set of routines. Because the programming statements described above are high level, they may be subsequently compiled into object code or executables, or interpreted at run time.
- Referring now to
FIG. 4 , there is shown a block diagram of acomputer workstation 400 which may be used as theanalyst workstation 120 or the program generation system 130 (FIG. 1 ). Theworkstation 400 has a an input/output interface 430 which interfaces to a user input device (now shown) and a display device (now shown); aprocessor 440; amemory 420; anetwork interface 460 andstorage 480. The marketing analytics program may be created and/or controlled by an analyst through the I/O interface 430, and stored in thestorage 480. Theprocessor 440 and thememory 420 have circuits and software for performing programming statements such as those in the marketing analytics program. - The
workstation 400 may include software and/or hardware for providing functionality and features described herein. A workstation may therefore include one or more of: logic arrays, memories, analog circuits, digital circuits, software, firmware, and processors such as microprocessors, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), programmable logic devices (PLDs) and programmable logic arrays (PLAs). The hardware and firmware components of the workstation may include various specialized units, circuits, software and interfaces for providing the functionality and features described here. The processes, functionality and features may be embodied in whole or in part in software which operates on the workstation and may be in the form of firmware, an application program, an applet (e.g., a Java applet), a browser plug-in, a dynamic linked library (DLL), a script or one or more subroutines. The hardware and software and their functions may be distributed such that some components are performed by a workstation and others by other devices. - The techniques may be implemented with machine readable storage media in a storage device included with or otherwise coupled or attached to a computing device. That is, the software may be stored in electronic, machine readable media. These storage media include, for example, magnetic media such as hard disks, optical media; solid state storage such as flash memory systems; and other storage media. As used herein, a storage device is a device that allows for reading and/or writing to a storage medium.
- Closing Comments
- Throughout this description, the embodiments and examples shown should be considered as exemplars, rather than limitations on the apparatus and procedures disclosed or claimed. Although many of the examples presented herein involve specific combinations of method acts or system elements, it should be understood that those acts and those elements may be combined in other ways to accomplish the same objectives. With regard to flowcharts, additional and fewer steps may be taken, and the steps as shown may be combined or further refined to achieve the methods described herein. Acts, elements and features discussed only in connection with one embodiment are not intended to be excluded from a similar role in other embodiments.
- As used herein, “plurality” means two or more. As used herein, a “set” of items may include one or more of such items. As used herein, whether in the written description or the claims, the terms “comprising”, “including”, “carrying”, “having”, “containing”, “involving”, and the like are to be understood to be open-ended, i.e., to mean including but not limited to. Only the transitional phrases “consisting of” and “consisting essentially of”, respectively, are closed or semi-closed transitional phrases with respect to claims. Use of ordinal terms such as “first”, “second”, “third”, etc., in the claims to modify a claim element does not by itself connote any priority, precedence, or order of one claim element over another or the temporal order in which acts of a method are performed, but are used merely as labels to distinguish one claim element having a certain name from another element having a same name (but for use of the ordinal term) to distinguish the claim elements. As used herein, “and/or” means that the listed items are alternatives, but the alternatives also include any combination of the listed items.
Claims (21)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/787,968 US10672016B1 (en) | 2016-11-23 | 2020-02-11 | Pathing and attribution in marketing analytics |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/360,189 US10558985B2 (en) | 2016-11-23 | 2016-11-23 | Pathing and attribution in marketing analytics |
US16/787,968 US10672016B1 (en) | 2016-11-23 | 2020-02-11 | Pathing and attribution in marketing analytics |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/360,189 Continuation US10558985B2 (en) | 2016-11-23 | 2016-11-23 | Pathing and attribution in marketing analytics |
Publications (2)
Publication Number | Publication Date |
---|---|
US10672016B1 US10672016B1 (en) | 2020-06-02 |
US20200175530A1 true US20200175530A1 (en) | 2020-06-04 |
Family
ID=62147669
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/360,189 Active 2038-06-19 US10558985B2 (en) | 2016-11-23 | 2016-11-23 | Pathing and attribution in marketing analytics |
US16/787,968 Active US10672016B1 (en) | 2016-11-23 | 2020-02-11 | Pathing and attribution in marketing analytics |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/360,189 Active 2038-06-19 US10558985B2 (en) | 2016-11-23 | 2016-11-23 | Pathing and attribution in marketing analytics |
Country Status (1)
Country | Link |
---|---|
US (2) | US10558985B2 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108369433A (en) | 2015-09-18 | 2018-08-03 | Mms美国控股有限公司 | Micro- moment analysis |
US20190279236A1 (en) * | 2015-09-18 | 2019-09-12 | Mms Usa Holdings Inc. | Micro-moment analysis |
US10558985B2 (en) * | 2016-11-23 | 2020-02-11 | Impact Radius, Inc. | Pathing and attribution in marketing analytics |
US11151600B2 (en) * | 2018-04-23 | 2021-10-19 | International Business Machines Corporation | Cognitive analysis of user engagement with visual displays |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090150215A1 (en) * | 2007-12-10 | 2009-06-11 | Kalb Kenneth J | System and method for real-time management and optimization of off-line advertising campaigns |
US20090259518A1 (en) * | 2008-04-14 | 2009-10-15 | Tra, Inc. | Analyzing return on investment of advertising campaigns using cross-correlation of multiple data sources |
US20100161492A1 (en) * | 2008-04-14 | 2010-06-24 | Tra, Inc. | Analyzing return on investment of advertising campaigns using cross-correlation of multiple data sources |
US20110231246A1 (en) * | 2010-03-18 | 2011-09-22 | Yahoo! Inc. | Online and offline advertising campaign optimization |
US20140067526A1 (en) * | 2012-08-28 | 2014-03-06 | SmartBridge, LLC | Methods, Systems and Apparatuses for Analyzing and Comparing Return on Investment Performance of Marketing Channels in Integrated Marketing Campaigns |
US20140100944A1 (en) * | 2012-10-09 | 2014-04-10 | Share This Inc. | Method and system for online campaign optimization |
WO2015079318A2 (en) * | 2013-11-26 | 2015-06-04 | Heath Martin Charles | Systems and methods for capturing, managing, and triggering user journeys associated with trackable digital objects |
US20150170195A1 (en) * | 2013-12-13 | 2015-06-18 | Aaron Drew | System and Method to Collect, Correlate and Display Customer Origination Data with Customer Revenue Data |
US20150170175A1 (en) * | 2009-01-21 | 2015-06-18 | Truaxis, Inc. | Method and system for identifying a cohort of users based on past shopping behavior and other criteria |
US20170140465A1 (en) * | 2015-11-13 | 2017-05-18 | Mark Ducros Stouse | System and methods for connecting marketing investment to impact on business revenue, margin, and cash flow and for connecting and visualizing correlated data sets to describe a time-sequenced chain of cause and effect |
US10290039B2 (en) * | 2008-04-01 | 2019-05-14 | Certona Corporation | System and method for automating market analysis from anonymous behavior profiles |
US10558985B2 (en) * | 2016-11-23 | 2020-02-11 | Impact Radius, Inc. | Pathing and attribution in marketing analytics |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US1012757A (en) | 1908-05-11 | 1911-12-26 | Westinghouse Air Brake Co | Brake-pipe-vent-valve device. |
US7496892B2 (en) | 2003-05-06 | 2009-02-24 | Andrew Nuss | Polymorphic regular expressions |
US7890928B2 (en) | 2003-07-26 | 2011-02-15 | Pilla Gurumurty Patrudu | Mechanism and system for representing and processing rules |
FR2876474B1 (en) | 2004-10-12 | 2006-12-29 | Progilys Sarl | FORMALLY DEFINED DATA PROCESSING DEVICE |
US8635594B1 (en) | 2006-03-30 | 2014-01-21 | Emc Corporation | Script language for storage management operations |
US7861222B2 (en) | 2007-06-13 | 2010-12-28 | Microsoft Corporation | Discoscript: a simplified distributed computing scripting language |
US20120259854A1 (en) * | 2011-04-11 | 2012-10-11 | Google Inc. | Conversion Path Based Segmentation |
US9092801B2 (en) * | 2011-09-23 | 2015-07-28 | 24/7 Customer, Inc. | Customer journey prediction and resolution |
US8832655B2 (en) | 2011-09-29 | 2014-09-09 | Accenture Global Services Limited | Systems and methods for finding project-related information by clustering applications into related concept categories |
US10127574B2 (en) * | 2011-11-30 | 2018-11-13 | Cynthia Brown | Internet marketing analytics system |
US20140081740A1 (en) * | 2012-09-17 | 2014-03-20 | Marketo, Inc. | Metadata-based cross-channel marketing analytics |
US10803512B2 (en) * | 2013-03-15 | 2020-10-13 | Commerce Signals, Inc. | Graphical user interface for object discovery and mapping in open systems |
US20170148048A1 (en) * | 2015-11-25 | 2017-05-25 | Commerce Signals, Inc. | Graphical User Interface and Object Model for Quantitative Collaborative Cognition in Open Market Systems |
US9697534B2 (en) * | 2013-06-19 | 2017-07-04 | Google Inc. | Attribution marketing recommendations |
GB2558062A (en) * | 2016-11-18 | 2018-07-04 | Lionbridge Tech Inc | Collection strategies that facilitate arranging portions of documents into content collections |
-
2016
- 2016-11-23 US US15/360,189 patent/US10558985B2/en active Active
-
2020
- 2020-02-11 US US16/787,968 patent/US10672016B1/en active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090150215A1 (en) * | 2007-12-10 | 2009-06-11 | Kalb Kenneth J | System and method for real-time management and optimization of off-line advertising campaigns |
US10290039B2 (en) * | 2008-04-01 | 2019-05-14 | Certona Corporation | System and method for automating market analysis from anonymous behavior profiles |
US20090259518A1 (en) * | 2008-04-14 | 2009-10-15 | Tra, Inc. | Analyzing return on investment of advertising campaigns using cross-correlation of multiple data sources |
US20100161492A1 (en) * | 2008-04-14 | 2010-06-24 | Tra, Inc. | Analyzing return on investment of advertising campaigns using cross-correlation of multiple data sources |
US20150170175A1 (en) * | 2009-01-21 | 2015-06-18 | Truaxis, Inc. | Method and system for identifying a cohort of users based on past shopping behavior and other criteria |
US20110231246A1 (en) * | 2010-03-18 | 2011-09-22 | Yahoo! Inc. | Online and offline advertising campaign optimization |
US20140067526A1 (en) * | 2012-08-28 | 2014-03-06 | SmartBridge, LLC | Methods, Systems and Apparatuses for Analyzing and Comparing Return on Investment Performance of Marketing Channels in Integrated Marketing Campaigns |
US20140100944A1 (en) * | 2012-10-09 | 2014-04-10 | Share This Inc. | Method and system for online campaign optimization |
WO2015079318A2 (en) * | 2013-11-26 | 2015-06-04 | Heath Martin Charles | Systems and methods for capturing, managing, and triggering user journeys associated with trackable digital objects |
US20150170195A1 (en) * | 2013-12-13 | 2015-06-18 | Aaron Drew | System and Method to Collect, Correlate and Display Customer Origination Data with Customer Revenue Data |
US20170140465A1 (en) * | 2015-11-13 | 2017-05-18 | Mark Ducros Stouse | System and methods for connecting marketing investment to impact on business revenue, margin, and cash flow and for connecting and visualizing correlated data sets to describe a time-sequenced chain of cause and effect |
US10558985B2 (en) * | 2016-11-23 | 2020-02-11 | Impact Radius, Inc. | Pathing and attribution in marketing analytics |
Also Published As
Publication number | Publication date |
---|---|
US10672016B1 (en) | 2020-06-02 |
US10558985B2 (en) | 2020-02-11 |
US20180144350A1 (en) | 2018-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10672016B1 (en) | Pathing and attribution in marketing analytics | |
Abbas et al. | Determinants of continuance intention factor in Kuwait communication market: Case study of Zain-Kuwait | |
US9824367B2 (en) | Measuring effectiveness of marketing campaigns across multiple channels | |
US8731983B2 (en) | System and method for designing effective business policies via business rules analysis | |
Otto | Quality and value of the data resource in large enterprises | |
CA2811408C (en) | Determining local tax structures in an accounting application through user contribution | |
US20180225605A1 (en) | Risk assessment and alert system | |
Cabena et al. | Intelligent miner for data applications guide | |
US20170200175A1 (en) | Method and system for implementing author profiling | |
US20180025394A1 (en) | Qualitatively planning, measuring, making efficient and capitalizing on marketing strategy | |
Surma | Business intelligence: making decisions through data analytics | |
Hosseini et al. | Identifying multi-channel value co-creator groups in the banking industry | |
Verdenhofs et al. | Evolution of customer segmentation in the era of big data | |
Orogun et al. | Predicting consumer behaviour in digital market: a machine learning approach | |
Ahmed et al. | Understanding the business value creation process for business intelligence tools in the UAE | |
Tekin et al. | Data mining in digital marketing | |
Allegue et al. | RFMC: a spending-category segmentation | |
Goar et al. | Business decision making by big data analytics | |
Sheshasaayee et al. | An efficiency analysis on the TPA clustering methods for intelligent customer segmentation | |
Farruh | Consumer life cycle and profiling: A data mining perspective | |
US20210149888A1 (en) | Natural Language Analytics Queries | |
Hoffreumon et al. | Make or buy your artificial intelligence? Complementarities in technology sourcing | |
Granov | Customer loyalty, return and churn prediction through machine learning methods: for a Swedish fashion and e-commerce company | |
US20210019781A1 (en) | Omnichannel multivariate testing platform | |
Zaied et al. | Critical success factors framework for implementing and adapting BIS on organisational performance |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY |
|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO SMALL (ORIGINAL EVENT CODE: SMAL); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
AS | Assignment |
Owner name: IMPACT TECH, INC., CALIFORNIA Free format text: CHANGE OF NAME;ASSIGNOR:IMPACT RADIUS, INC.;REEL/FRAME:064014/0756 Effective date: 20180321 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YR, SMALL ENTITY (ORIGINAL EVENT CODE: M2551); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY Year of fee payment: 4 |