CROSS-REFERENCE TO RELATED APPLICATIONSThis application is a continuation-in-part of U.S. application Ser. No. 15/269,786, filed Sep. 19, 2016 entitled “Micro-Moment Analysis” and U.S. application Ser. No. 15/269,642, filed Sep. 19, 2016 entitled “Universal Identification” which applications claim priority from U.S. Provisional Application No. 62/220,727, filed Sep. 18, 2015, and to U.S. Provisional Application No. 62/288,763, filed Jan. 29, 2016. The disclosures of the applications referenced above are incorporated by reference herein in their entirety.
FIELD OF TECHNOLOGYThe present disclosure relates to the analysis of data using machine learning and other artificial intelligence algorithms and delivering that data to end users who are identified by the algorithms.
BACKGROUNDThe background description provided herein is for the purpose of generally presenting the context of the disclosure. Work of the presently named inventors, to the extent it is described in this background section, as well as aspects of the description that may not otherwise qualify as prior art at the time of filing, are neither expressly nor impliedly admitted as prior art against the present disclosure.
We are in the age of customer empowerment, where customers expect brands to be connected and relevant and to meet their needs at every interaction. To do so, leading marketers are taking a customer-obsessed approach to transforming their business by investing in the data, talents, tools and strategies needed to respond to the needs of the connected customer.
Today, many brands struggle to keep pace with the volume, velocity and variety of data in order to meet customer expectations. According to Gartner research, 90% of the world's data has been created during the past two years. This growth and availability of data has led to an expectation of data usage to enable relevant, personalized experiences. It is not enough to collect and structure the data, it must be acted upon. Consumers expect timely, relevant and seamless brand experiences. Therefore, brands must anticipate and predict their customers' needs, habit, trends and preferences to engage their customers in 1:1 conversation at the right moment of decision making.
As the connected economy marches forward at an accelerating pace, data is proving to be marketing's most valuable currency. Oceans of data generated from the Internet of Things (IoT) will magnify both the problem and the opportunity. But additional data lacks value if it can't be reduced to useful insight that informs a unique, differentiated brand experience.
A phenomenon described as “data paralysis” keeps much of the data unused. While the opportunities are vast, as the volume, variety and velocity of data generated from a connected economy explodes, digital marketing becomes increasingly difficult. By some measures, the amount of stored information grows four times faster than the world economy, while the processing power of computers grows nine times faster. It's little wonder marketers struggle with information overload that ironically reduces them to data paralysis where the benefits from data are never fully realized. In part, this scenario stems from a lack of the right mix of algorithms and technology for translating big data to actionable intelligence.
SUMMARYFeatures and advantages described in this summary and the following detailed description are not all-inclusive. Many additional features and advantages will be apparent to one of ordinary skill in the art in view of the drawings, specification, and claims hereof. Additionally, other embodiments may omit one or more (or all) of the features and advantages described in this summary.
A Machine Intelligence Platform provides a way forward from data paralysis and takes full advantage of technology breakthroughs in machine learning algorithms, deep learning networks and Artificial Intelligence (AI). The Machine Intelligence Platform may shift from data-driven marketing to intelligent marketing, where everyday decisions are informed by potentially billions of data points, rather than guesses and assumptions. Working with huge sources of structured, semi-structured and unstructured data, the platform may ingest, analyze and compare the data. Machine-learning algorithms can provide statistical evidence that something might be wrong or right based on how many past occurrences of similar patterns exist.
A “micro-moments” strategy to data analysis may provide further insight. As customers consume content, interact with each other and engage In multiple, simultaneous conversations, marketers have the challenge of determining the optimal moment to engage. During these optimal opportunities, known as micro-moments, the buyer may decide to either continue or abandon a relationship with the brand. Each micro-moment may be considered a “fingerprint” of a user's online activity that may be tracked across multiple websites and devices. Such micro-moments are real-time, intent-driven events that are a critical opportunity for brands to shape customer decisions and preferences. Each micro-moment may be analyzed as data container or “radian” for purposes of analyzing a customer's complete online journey, as described herein.
In some embodiments, a computer system or a computer-implemented method may determine a micro-moment value. The system or method may receive a plurality of signals from a plurality of online actions. The plurality of signals may correspond to an online profile for a consumer (p), and each of the plurality of signals may include one or more of a past duration, a past network location, a past time period, and a past action type. The system and method may also determine a predicted micro-moment value based on the plurality of signals, the micro-moment value predicting one or more of a future duration, a future network location, and a future time period for a further online action for the consumer. The micro-moment value may consist of:
wherein:
includes a conversion index (c) for the plurality of signals that include a conversion (c=1) across the plurality of online profiles (p), and consists of:
The value for
may include a click rate through domains, wherein the click rate through domains consists of:
and the click index (y) includes a primary key for each of the plurality of signals, the customer experience value includes a value of 1 for each of the plurality of signals that includes the conversion or a value of 0 for each of the plurality of signals that does not include the conversion, the RCV includes an index value for each of the plurality of signals, and Y includes a value based on the past action type.
Likewise, the value for:
includes a click rate per channel and the click rate per channel consists of:
the radian value consists of a value based on a total number for the plurality of signals and the channel equals a value corresponding to a type of device accessing the domain. Further, the system or method may engage the customer when the micro-moment value reaches a duration and a time period corresponding to a predicted key moment in a plot of the predicted micro-moment values, wherein the micro moment value indicates an optimal time and network location to engage the customer.
The Machine Intelligence Platform may map the entire customer journey across devices and channels to predict how the consumer wants to interact with the brand and personalize each moment for the consumer. As the volume of data grows, intelligence extracted using a Micro-Moments Value Algorithm can ingest and activate data from multiple sources to provide insights that allow us to tap into micro-moments in the consumer's journey.
Real-time cognitive commerce may enable marketers to customize the shopping experience by supporting individually tuned merchandising, product recommendations, personalized search and guided navigation. Machine learning capabilities may support delivery of targeted and dynamic pricing and promotion. Algorithms may learn shopping behavior in real time to update the relevance of the customer experience as it occurs.
Machine learning may unlock the power of data and deliver highly customized experiences. In some embodiments, the Machine Intelligence Platform may determine the best available assets, the right creative, message, offer, and call-to-action at the right moment using real-time customer insights and customer-level attribution. Data-driven audience segments may be dynamically created and activated across the marketer's Commerce, Media and Customer Engagement channels.
Within the Machine Intelligence Platform, a High-Frequency Intelligence Hub may process millions of signals and personalized streams of data to customize and activate targeted communication across channels, letting marketers engage with customers when they are shown to be most receptive to a message. This enables marketers and brands to use Intelligence-as-a-Service to inform Media, Commerce, CRM and Customer Experience simultaneously while providing insight and intelligence.
Further, a universal identification graph algorithm may help marketers connect identities across devices and channels (i.e., across a device such as a mobile phone, desktop, TV, etc.) to one customer. The universal identification may allow marketers to seamlessly and securely engage customers with relevant brand experience as they move between devices and across all digital touch-points.
In one embodiment, the disclosure describes a computer-implemented method for determining a micro-moment value. The method may include receiving, via a network, customer data associated with behavior of a plurality of customers. The method may also include determining, via one or more processors, a signal of a click rate through domains based on the customer data. The method may also include determining, via the one or more processors, a radian rate per channel based on the customer data, and determining, via the one or more processors, a conversion rate based on the signal of the click rate through domains. The method may also include determining, via the one or more processors, a micro-moment value based on the radian rate per channel and the conversion rate.
In further embodiments, the disclosure described a digital marketing platform comprising at least one processor and at least one memory storing computer executable instructions that, when executed by the at least one processor, cause the apparatus at least to perform a method. The method may include receiving, via a network, customer data associated with behavior of a plurality of customers. The method may also include determining, via one or more processors, a signal of a click rate through domains based on the customer data. The method may also include determining, via the one or more processors, a radian rate per channel based on the customer data, and determining, via the one or more processors, a conversion rate based on the signal of the click rate through domains. The method may also include determining, via the one or more processors, a micro-moment value based on the radian rate per channel and the conversion rate.
BRIEF DESCRIPTION OF THE DRAWINGSFIG. 1 illustrates a system for linking dynamic information to a digital marketing platform as described herein;
FIG. 2 illustrates an embodiment of an artificial neural network model as described herein;
FIG. 3 illustrates an example customer journey use case as described herein;
FIG. 4 illustrates a graph of example micro-moment values plotted over time;
FIG. 5 illustrates an exemplary process flow for determining a micro-moment value for use with the system for linking dynamic information to a digital marketing platform as described herein;
FIG. 6 illustrates an exemplary computing device used within the system for linking dynamic information to a digital marketing platform and to implement the various process flows or methods described herein; and
FIG. 7 illustrates an exemplary structure for the system for determining a micro-market value across multiple computer network devices and channels as described herein.
The figures depict a preferred embodiment for purposes of illustration only. One skilled in the art may readily recognize from the following discussion that alternative embodiments of the structures and methods illustrated herein may be employed without departing from the principles described herein.
DETAILED DESCRIPTIONFIG. 1 generally illustrates one embodiment of asystem100 for creating and using a digital marketing platform as described herein. Thesystem100 may include front end components102 (e.g., a merchantdigital content system104, customerdigital content browser106, etc.) and backend components110 (e.g., a digital marketing platform112). Thefront end components102 andbackend components110 may be in communication with each other via a communication link111 (e.g., computer network, internet connection, etc.). Thesystem100 may include various software or computer-executable instructions and specialized hardware components or modules that employ the software and instructions to provide a digital marketing platform with dynamic data records as described herein. The various modules may be implemented as computer-readable storage memories containing computer-readable instructions (i.e., software) for execution by a processor of thecomputer system100 within a specialized or unique computing device. The modules may perform the various tasks associated with creating and using a digital marketing platform as described herein. Thesystem100 may also include both hardware and software applications, as well as various data communications channels for communicating data between the various specialized or uniquefront end102 andback end110 hardware and software components.
Generally, in some embodiments, thedigital marketing platform112 and otherbackend components110 may receive and store various types of consumer data gathered from one or more customerdigital content browsers106 via anetwork111 or otherwise. In some embodiments, data on groups of consumers or on particular consumers may be received via the merchantdigital content system104 of one or more merchants (only one merchant digital content system shown inFIG. 1 for purposes illustration, but more merchants are contemplated in some embodiments). Thedigital marketing platform112 may, in some embodiments, analyze the data in ways that are useful to predicting consumer behavior, such as making online purchases, so as to engage with the customer at a time that may influence those purchase or other decisions. In some embodiments, and as described herein, the gathered data may be used to determine a micro-moment value using a micro-moment algorithm. The micro-moment value may then be used to predict consumer behavior and to engage the consumer based on that predicted behavior. In some embodiments, a merchant may receive the results of data analyses from thedigital marketing platform112 in order to aide in engaging customers to the merchant's online marketplace(s).
Thedigital marketing platform112 may include one or more instruction modules including acontrol module114 that, generally, may include instructions to cause aprocessor116 of adata processing server118 to functionally communicate with a plurality of other computer-executable steps ormodules114A and114B. Thesemodules114,114A-B may include instructions that, upon loading into theserver memory120 and execution by one ormore computer processors116, provide the digital marketing platform with a dynamic data record of customer behavior. A first data repository122 may include digital marketing data profiles122A that each include various pieces of data to describe a profile of a consumer or customer and potential beneficiary of thedigital marketing platform112. A second data repository123 may include a plurality of dynamic data records, for example, a firstdynamic data record123A, a seconddynamic data record123B, etc., corresponding to each digitalmarketing data profile122A. Therecords123A may each include various pieces of data to describe transactions or other online behaviors of a consumer or potential customer benefiting from thedigital marketing platform112. In some embodiments, therecords123A and or B may include a time, an amount, a location, a route, a purchase category, photo data, a medium, content data, and other data as described herein.
Therecords123A may be compiled from the online actions of a consumer from a variety of data streams. For example, therecords123A may include syntactic information to allow thesystem100 to determine a degree of probability that one or more online actions corresponding to a consumer will occur again as well as how many times that action has occurred related to a consumer. The data streams associated with therecords123A may include data from the DoubleClick® service provided by Google Inc., social media outlets, merchants, mapping services, and other services that monitor and collect online data with user consent that may be matched to a user or consumer immediately or, with further analysis, may be matched to a user.
The customer digital content browser may include any components that are used by a consumer to complete online transactions, participate in social media, use mobile applications, browse the internet, or otherwise participate in behavior contributing to data gathered by thedigital marketing platform112. For example, the customerdigital content browser106 may include a terminal140 that is used by one ormore computing devices138 to gather customer behavioral data. The terminal140 may include both amemory142 andprocessor144 to execute instructions to send the customer information and other behavioral data to thedigital marketing platform112. In some embodiments, the computing devices may send data directly to the digital marketing platform without including a terminal.
Acustomer engagement module124 of thedigital marketing platform112 may include various instructions that, upon execution by theprocessor116, facilitate execution of customer engagement. Themodule124 may include instructions that, upon loading into theserver memory120 and execution by one ormore computer processors116, allow the digital marketing platform to draw upon data profiles122A to execute a marketing, promotional communication, offer, or other consumer engagement using, for example, data from the data profile as described herein and also coordinate with thecontrol module114 and a dynamictransaction records module130 to permit interaction with adynamic data record123A.
Thecontrol module114 may also include instructions to coordinate execution of other instructions to link photos, reviews, social media capabilities, and behavioral data to adata record123A. For example, alink module114A may include instructions to cause adynamic records module130 stored in amemory132 on amerchant computing device128 to display a plurality of interfaces (e.g.,130A-E,131A-D) within a display of theuser computing device128. In some embodiments, the display may include a browser or other application stored in thememory132 and executed on aprocessor134 of thecomputing device128 to display an output of the dynamicdata records module130.
The dynamicdata records module130 may include several elements including a dynamicconsumer controls module130A, areviews module130B, aloyalty platform module130C, an atransaction record module130D, and analerts module130E which may include several sub-modules to implement particular functions with asingle data record123A or to collectively display information related to a plurality ofdata records123A and123B, etc. For example, thetransaction record module130D may include several sub-modules including apayment module131A, asocial media module131B, amicro transactions module131C, and atransaction gallery module131D. Any of the interfaces or modules stored in thememory132 may be used to configure theuser computing device128 to facilitate both creating dynamic transaction report records123A and completing the actions described herein that may be performed with therecords123A. In other embodiments, one or more of the interfaces and modules (i.e.,130,130A,130B,130C,130D,130E,131A,131B,131C,131D) may be stored in a memory of thepayment processing system112 or multiple computing devices in a cloud-based model of execution and served to thecomputing device128 via thenetwork111 when requested.
While thedynamic transaction record123A is described as including various different types of data, those skilled in the art will recognize that therecord123A may include other types of data that could be related to consumer behavior such as physical distance from other transactions, number of transactions in the area, similar product information, discounts or coupon information for items related to the transaction, etc.
In some embodiments, thesystem100 described above with reference toFIG. 1 may be implemented to determine substantially favorable moments in which to effectively engage a customer. These “micro-moments” may be times in which a consumer may be found to be demonstrating its intent clearly based on gathered data. In some embodiments, thesystem100 may use a wide variety of consumer behavioral data to implement a micro-moment value algorithm (MMVA) to predict the optimal moment to engage a customer with a message or other communication relevant to the customer's micro-moment intent. These intentions could be, for example, intention to purchase a product online, book a flight or hotel, make dinner reservations, or any other online activity. In some embodiments, the MMVA may use a variety of machine learning algorithms in developing its results. For example, the MMVA may use Bayesian Network graphical models, artificial neural networks, support vector machines, etc. In some embodiments, thecontrol module114 may perform calculations related to the MMVA.
In some embodiments, the MMVA can be expressed mathematically asEquation 1, below:
The MMV notations in Eq. 1 may represent the following as listed in Table 1, below.
| TABLE 1 |
| |
| Variable | Definition |
| |
| p | Customer Index |
| y | Click Index |
| c | Conversion Index |
| e | Customer Experience Type |
| ch5 | Channels or devices |
| RCV | Real-time Customer Journey Value |
| Y | Contextual Signals Value |
| t | Synaptic Weight |
| Radians | Journey |
| |
In some embodiments, the Customer Index may be the number of profiles or personas or a unique customer corresponding to a micro-moment, the Click Index may be a statistical measure of changes of individual Data Points in the click rate or a primary key for a cookie or other piece of software that records a micro-moment, and the Conversion Index may be a statistical measure of changes of individual Data Points in the conversion rate or a particular number used to identify a micro-moment as a conversion. In some embodiments, the Customer Experience Type may be a measure of whether the customer experience is complete, where e=1, or an incomplete experience, where e=0. A conversion for a signal may indicate a complete customer experience or e=1 whereas anything other than a conversion may indicate a value of 0 for the customer experience type. The Channel or devices may be different vectors for customer interfacing; for example, mobile phones, smart phones, desktop or laptop computers, internet-capable television, etc. In some embodiments, the Real-time Customer Journey Value (RCV) may represent click through Domains; for example, the number of signals gathered from consumer behavior based on clicking behavior while browsing or using a mobile app. In other embodiments, the RCV includes a random number that the
system100 uses to index the micro-moment. Contextual Signals Value may be synaptic signals through a graph of neurons; for example, as attained through an artificial neural network (ANN). In other embodiments, the Contextual Signals Value (Y) may be a value representing the context of the value associated with the micro-moment (i.e., a first value if the micro-moment was a click to complete a purchase, a second value if the micro-moment was a click to read an article or to send an email, delete an email, etc.). In some embodiments, the Synaptic Weight may be a number applied for weighting purposes in the ANN. The Journey, in some embodiments, may be expressed in radians and may be the value of the synaptic signals.
The micro-moment value (MMV) equation may be broken down into three components: the conversion rate, the signal of the click rate through domains, and the radian rate per channel. In some embodiments, the expression:
may represent the signal of the click rate through domains. In some embodiments, the expression:
may represent the conversion rate, particularly when applied to the signal of the click rate through domains. In some embodiments, the expression:
may represent the click rate across channels or click rate per channel.
In some embodiments, the artificial neural network model may be represented by the diagram200 illustrated inFIG. 2. In such embodiments, the inputs202 (e.g., x1-xn) may be any data points gathered from consumer behavior, as described in further detail with reference toFIG. 3. Weights204 (e.g., w1j-wnj) may be applied to the inputs depending on the particular design of the artificial neural network. The result may be combined into atransfer function206, the result of which may be a net input208 (e.g., net) fed into anactivation function210. Theactivation junction210 may output a threshold214 (e.g., Θj) and an activation212 (e.g., oj). The output of the artificial neural network may, in some embodiments, be represented by a perceptron equation, as shown in Equation 2, below:
Output=(1,Σt=0nw1*x1>cb,−1otherwise Eq. 2
In Eq. 2, w may be determined from a Hebb Synapse simulated learning equation, an embodiment of which is shown inEquations 3 and 4, below:
wjk+1=wjk+Δwj Eq. 3
Δwj=α·(t−o)·i Eq. 4
- where: t=Target
- o=Output of the neural network
- α=Learning rate constants, between 0 and 1
- i=Input of the weight
As used herein, a “radian” is a data container used in the above algorithms to mathematically represent segments or “micro-moments” a user's journey. Past systems and methods of analyzing an individual's online presence to predict future online actions have used the individual's entire online history to make universal predictions about any particular moment of a user's internet presence. These past system have analyzed a customer's entire journey as the most effective way to market to a user based on a universal data set. In these past systems and methods, the accumulation of large amounts of data often leads to cumbersome calculations and inaccurate results as infinite data may lead to infinite results. The radian may provide definition to the limitless data related to web and other network interactions by providing a framework to calculate micro-moments as described herein. Rather than using all data that has been tracked for a customer to make a prediction about a future action, the radian contains a small amount of tracked data related to the time and duration of the action, a URL or other network location for the action, and a type of action. Framing each micro-moment or signal as a radian may allow predicting a follow-on action based on a set of signals corresponding to actions that precede the predicted action. Predicted events having the highest value for the MMVA, i.e., the highest duration for a particular action, will provide the best opportunity to reach the user for effective marketing.
In mathematics, a radian is an angle whose corresponding arc in a circle is equal to the radius of the circle. A circle has just more than six radians. A customer's complete “journey” may begin with an initial click or other tracked action related to a product or service at a domain or other “channel” and end with a purchase or other final action related to the domain, channel, good or service, etc. In some embodiments, a complete revolution of a circle is 2π radians and is analogous to a complete customer journey. In these embodiments, a customer's journey may be represented as a complete revolution of a circle and discrete events or signals related to the journey may be represented as radians. Values for each signal or “radian” may be assigned as degrees of a circle relative to the complete customer journey as shown in Table 1A, below. Where the final action In a series of actions or signals analyzed byEquation 1 and related to the domain, channel, good or service is a desired action (e.g., a conversion, purchase, etc.), then the value for the radian will reflect a complete journey or 360°. In further embodiments, where the final action related to the domain, channel, good or service is not a conversion or purchase, then the value for the radian will reflect something less than a complete journey or less than 360°. With brief reference toFIG. 4, each radian may include data for a single signal, action, or micro-moment. By stitching together several micro-moments based on knownactual customer journey412 for the user and anaudience trend414, the MMVA result may be aprediction416 of the user's journey. Table 1A indicates values for the radian as a number of degrees for a customer journey, where a complete customer journey ending in conversion having ten total “signals” corresponding to a user may include ten “radians” or, as shown in the table below, a complete journey including sixteen signals may have sixteen different radian values.
| TABLE 1A |
| |
| Radians | Degrees |
| |
| 0, 2π | 0°, 360° |
| π/6 | 30° |
| π/4 | 45° |
| π/3 | 60° |
| π/2 | 90° |
| 2π/3 | 120° |
| 3π/4 | 135° |
| 5π/6 | 150° |
| π | 180° |
| 7π/6 | 210° |
| 5π/4 | 225° |
| 4π/3 | 240° |
| 3π/2 | 270° |
| 5π/3 | 300° |
| 7π/4 | 315° |
| 11π/6 | 330° |
| |
FIG. 3 illustrates one embodiment of an example customerjourney use case300 that may result in signals that make up each radian to represent the data used as inputs for the MMVA. In this embodiment, thecustomer journey302 is represented by an arrow moving and may represent passage of time. Points along the arrow may be single points in time where a customer performs anaction301, represented by hash marks along the journey arrow, that results in a signal. This particular embodiment includes 14 actions and, therefore, 14 signals, but any number of signals may be gathered and used. Each signal may be interpreted by thedigital marketing platform112 as data forming the customer profile. In this example, two channels (browser304 and mobile app306) are used by the customer, though it should be understood that fewer or more than two channels. Thejourney302 includesmultiple browser actions308 conducted by the customer using an internet browser channel, such as on a desktop or laptop computer. In this embodiment, each of the browser signals are performed in the same domain. Some types of actions resulting in signals may include visiting social media sites, such as Facebook®).com, clicking on advertisements while on the social media site, viewing a product, adding a product to a shopping cart, and exiting the website. The browser signals308 may also include a sequence ofsignals312. In this embodiment, the sequence ofsignals312 is four consecutive signals grouped together after a customer has clicked on an advertisement. These signals may be 1) redirecting to the advertiser's site, 2) firing a cookie, 3) an impression, and 4) clicking on a promotion.
Thejourney302 also includesmobile signals314 taken by a customer on amobile app306 accessed on a mobile device, such as a smartphone or tablet. As used herein, the term “signals” may include data corresponding to a user and online activity such as a click (i.e., clicking on a URL), an impression (e.g., a user typing in a specific URL and causing a browser to initiate a redirect action to reach a domain), a pixel (e.g., selecting images including at least one pixel having a tag and/or other data for thesystem100 to track for a user), a cookie (e.g., a small piece of data sent from a website and stored on the user's computer by the user's web browser while the user is browsing to remember state information such as items added in the shopping cart in an online store or to record the user's browsing activity), etc. Some data included in asignal314 may include a beginning time and an ending time at a website (e.g., a time between mouse events or from landing at a URL to the browser initiating a redirect action) a duration (e.g., an indication of user activity, how much time and attention the user pays to web content corresponding to asignal312 at a particular domain and/or using a particular channel, mouse events, browser actions, etc.), a domain name, a tag number, a pixel name, a cookie name and value, and other data corresponding to the user's browsing activity. The cookie may allow thesystem100 to collect syntactic information that reflects a degree of probability for a future action by the user and also indicates how often the user will initiate a type of network action. Thus, the micro-moment value may predict a significant duration for a particular network action or Internet domain activity and, thus, the most optimal time to present advertising targeted to the user to influence the user's journey.
In some embodiments, each of themobile signals314 is performed in the same domain as one another. Some types of actions resulting inmobile signals314 may include searching for similar products on a search engine, such as Google, being redirected to the product website from the search engine, landing on the product description page, adding the product to the shopping cart, and checking out to purchase the product. Themobile signals314 may include a sequence ofmobile signals316 that, in this case, are three consecutive signals grouped together. In the example illustrated inFIG. 3, the result of the browser signals308 and themobile signals314 is a total of fourteen signals on thejourney302. These fourteen signals may be used as the RCV in the MMV Eq. 1, as shown in the example below.
The following is an example of a calculation made using the micro-moment value algorithm using example inputs that, in practice, would be the result of data gathering throughsystem100 ofFIG. 1 for use in thedigital marketing platform112. It should be understood that the input values used herein are for the sake of example only, and do not in any way limit the values available for use in the MMVA that can be gathered and used by thedigital marketing platform112. In this example embodiment, the data values for the MMVA are as follows in Table 2:
| TABLE 2 |
| |
| Variable | Example Value |
| |
|
| p | 3000 |
| y | 10 |
| c | 1 |
| e | 1 or i |
| ch5 | 1 |
| RCV | 14 |
| Y | 10 |
| t | Synaptic Weight |
| Radians | 360° or 2π |
| |
Using p=3000 and y=10, the conversion rate and the signal of the click rate through domains becomes:
which can be expressed as:
Further, adding the click rate per channel, the MMVA may then be expressed as:
FIG. 4 illustrates anexample graph400 of themicro-moment predictions402 over time, indicated on the horizontal axis as days of the week401. The results of the MMVA shown inFIG. 4 are plotted as themicro-moment predictions402 expressed in the example culminating in Equation 5, above. Thegraph400 inFIG. 4 additionally shows theactual customer journey404 and audience trends406. One goal of themicro-moments predictions402 calculated using the MMVA is to replicate theactual customer journey404. This allows thedigital marketing platform112 to most accurately predict the micro-moment for engagement with the customer. In some embodiments, these “key” micro-moments may be at the peaks of the MMVA plot. For example, inFIG. 4, themicro-moment predictions402 may have a first predictedkey moment408 at a peak in the micro-moment predictions plot. As shown in thegraph400, a plot of the micro-moment predictions may have a second predictedkey moment410 at another peak in the micro-moment predictions plot. In the illustrated embodiment ofFIG. 4, these peaks may correspond to an amount of time corresponding to a signal (e.g., signals312 with reference toFIG. 3) in the various plots of the graph400 (e.g., theactual customer journey412 plot, the audience trends414 plot, themicro-moments predictions plot416, etc.).
With further reference toFIG. 4, themethod500 generally and Eq. 1 in particular as described herein may result in values for micro moments to predict user trends for engaging a user at a favorable time. Thegraph400 includes a y-axis havingmicro-moment predictions402 and an x-axis having atime period403 corresponding to themicro-moment prediction402. In some embodiments, the inputs to Eq. 1 may result inmicro-moment predictions402 of a measure of time (e.g., milliseconds, etc.) of user behavior corresponding to a signal (e.g., signals312 ofFIG. 3) for theparticular time period403. For example, the first predictedkey moment408 may indicate a duration of about 500,000 milliseconds corresponding to Monday morning at a particular URL using a particular channel (i.e., a type of device and/or method for reaching the URL).
FIG. 5 illustrates an embodiment of amethod500 for predicting a micro-moment using the MMVA through thedigital marketing platform112. Each step of the method may be performed on a server or other computing device including instructions that, when executed by a processor, perform the action or block described herein. Atblock502, the method may include receiving the real-time consumer journey data via thedigital marketing platform112. Atblock504, the method may include receiving contextual signals value data, and atblock506 may include determining a click index value. Atblock508, the method may include determining a customer experience type value. Atblock510, the method may include calculating a signal of click rate through domains using the real-time consumer journey data, the contextual signals value data, the click index value, and the customer experience type value. Atblock512, the method may include receiving radian data through thedigital marketing platform112. Atblock514, the method may include receiving channel data. Atblock516, the method may include calculating a radian rate per channel using the radian data and the channel data. At block518, the method may include receiving customer index data via thedigital marketing platform112. Atblock520, the method may include receiving conversion index data. Atblock522, the method may include calculating a conversion rate using the customer index, the conversion index, and the signal of the click rate through domains. Atblock524, the method may include calculating a micro-moment value using the conversion rate and the radian rate per channel. In some embodiments, atblock526, the method may include engaging a customer based on the calculated micro-moment value. In some embodiments, engaging the customer may include, but is not limited to, sending a promotional offer, sending an electronic coupon, or sending a targeted advertisement, etc., at the predicted time and network location indicated by the MMVA.
In some embodiments, thesystem100 may include a module to determine a value for each customer. For example, an algorithm may determine whether a customer is going to be profitable or not and for how long. Too, an algorithm may predict the monetary value associated with a customer relationship. Equation 6 illustrates one example of a customer lifetime value (“CLV”) algorithm:
In Equation 6, m=the micro-moment index; c=Customer Index; p=total number of purchases in a period of time; t=number of time period the CLV is being calculated; and CL=the Customer Loyalty Index. The CLV algorithm of Equation 6 may allow observation of various individual-level buying patterns from the past and find the various customer stories in the data set. It may also allow understanding of which patterns correspond with valuable customers and which patterns correspond with customers who are opting out. As new customers join a system implementing the CLV algorithm of Equation 6, the system (e.g., system100) may match the new customer to patterns that are recognized by the CLV algorithm.
In some embodiments, thesystem100 may also include a module to determine which impressions will best meet the advertising performance metrics. For example, an algorithm may optimize timing for real-time bidding (“RTB”) on customer impressions within a website for a merchant. For example, advertising campaign budget constraints may be given as impression delivery goals qj. An impression group i may be defined as a (placement, user) tuple, at which level both click-through-rate (“CTR”) prediction Pijand inventory control represented by Equation 7 may be performed:
Given the above, the cost term wiwill be zero since impressions are from the inventory. Thus, the revenue lift and the CTR lift may be represented by Equations 8 and 9, below:
The timing for RTB may also be optimized by the following pseudo code:
|
| Input: qj,gj,αj,∀j |
| Output: xij,βi,∀i,j |
| 1 | begin |
| 2 | | G ← ∅; |
| 3 | | foreach impression i from a stream do |
| 4 | | | pij= p(click|i,j),∀j; |
| 5 | | | vij← pijqj,∀j; |
| 6 | | | j* ← argmaxj∉G(vij− αj); |
| 7 | | | if (vij*− αj*) > 0 then |
| 8 | | | | xij*← 1; |
| 9 | | | | xij← 0,∀j ≠ j*; |
| 10 | | | | βi← vij*− αj*; |
| 11 | | | | if Σi′xi′j*= gj*then |
| 12 | | | | | G ← G ∪j*; |
| 13 | | | | end |
| 14 | | | end |
| 15 | | | αj← UpdateAlpha(αj),∀j; |
| 16 | | end |
| 17 | end |
|
In some embodiments, thesystem100 may also include a module to evaluate each customer impression based on its predicted probability to achieve a goal of the advertising campaign. For example the module may evaluateEquations 10 and 11, below.
Where Cpanic=a number of impressions won during a panic; Cexploit=a number of impressions won during exploitation; and Cexplore=a number of impressions won during exploration. Costs per thousand (“CPM”) may also be analyzed by the following pseudocode:
|
| 50: | If gremain≤ 0 or j ≥ n then Terminate. |
| 51: | Bfinal← Bi*. |
|
| 52: | |
|
| 53: | if Pi*(n − j) > gremainand Ti*gremain> budget then |
| 54: | Sort p ∈ Si*: define qkto be the kth smallest p in Si*. |
|
| 55: | |
|
| 56: | |
|
| 57: | |
|
| 58: | kp← mink:gk≥t*k. |
| 59: | k* ← max(ks, kp). |
| 60: | Bfinal← qk*. |
|
| 61: | |
|
| 62: | |
|
| 63: | end if |
| 64: | while More rounds and gremain> 0 do |
| 65: | Bid Bfinalwith probability A, 0 otherwise. |
| 66: | If Bid won then gremain← gremain− 1. |
| 67: | end while |
|
where optimized daily or other periodic budget updates may be calculated and posted, as needed, to meet each campaign goal.
FIG. 6 is a high-level block diagram of anexample computing environment600, for example, for linking the digital marketing platform to front end components that may run the customer digital content browser and/or the merchant digital content system. The computing device601 may include a server (e.g., the data processing server118), a mobile computing device (e.g.,computing device128, a cellular phone, a tablet computer, a Wi-Fi-enabled device or other personal computing device capable of wireless or wired communication), a thin client, or other known type of computing device. As will be recognized by one skilled in the art, in light of the disclosure and teachings herein, other types of computing devices can be used that have different architectures. Processor systems similar or identical to the example systems and methods for linking dynamic information, such as customer data, to a data record may be used to implement and execute the example systems ofFIG. 1. Although theexample system600 is described below as including a plurality of peripherals, interfaces, chips, memories, etc., one or more of those elements may be omitted from other example processor systems used to implement and execute the example system for linking dynamic information to a digital marketing platform. Also, other components may be added.
As shown inFIG. 6, the computing device601 includes aprocessor602 that is coupled to an interconnection bus. Theprocessor602 includes a register set or registerspace604, which is depicted inFIG. 6 as being entirely on-chip, but which could alternatively be located entirely or partially off-chip and directly coupled to theprocessor602 via dedicated electrical connections and/or via the interconnection bus. Theprocessor602 may be any suitable processor, processing unit or microprocessor. Although not shown inFIG. 6, the computing device601 may be a multi-processor device and, thus, may include one or more additional processors that are identical or similar to theprocessor602 and that are communicatively coupled to the interconnection bus.
Theprocessor602 ofFIG. 6 is coupled to achipset606, which includes amemory controller608 and a peripheral input/output (I/O)controller610. As is well known, a chipset typically provides I/O and memory management functions as well as a plurality of general purpose and/or special purpose registers, timers, etc. that are accessible or used by one or more processors coupled to thechipset606. Thememory controller608 performs functions that enable the processor602 (or processors if there are multiple processors) to access asystem memory612 and amass storage memory614, that may include either or both of an in-memory cache (e.g., a cache within the memory612) or an on-disk cache (e.g., a cache within the mass storage memory614).
Thesystem memory612 may include any desired type of volatile and/or non-volatile memory such as, for example, static random access memory (SRAM), dynamic random access memory (DRAM), flash memory, read-only memory (ROM), etc. Themass storage memory614 may include any desired type of mass storage device. For example, if the computing device601 is used to implement a module616 (e.g., the various modules link dynamic information, such as photographs, to a payment device transaction record and to create the dynamic transaction record and other modules as herein described). Themass storage memory614 may include a hard disk drive, an optical drive, a tape storage device, a solid-state memory (e.g., a flash memory, a RAM memory, etc.), a magnetic memory (e.g., a hard drive), or any other memory suitable for mass storage. As used herein, the terms module, block, function, operation, procedure, routine, step, and method refer to tangible computer program logic or tangible computer executable instructions that provide the specified functionality to the computing device601 and thesystem100. Thus, a module, block, function, operation, procedure, routine, step, and method can be implemented in hardware, firmware, and/or software. In one embodiment, program modules and routines are stored inmass storage memory614, loaded intosystem memory612, and executed by aprocessor602 or can be provided from computer program products that are stored in tangible computer-readable storage mediums (e.g. RAM, hard disk, optical/magnetic media, etc.).
The peripheral I/O controller610 performs functions that enable theprocessor602 to communicate with a peripheral input/output (I/O)device624, a network interface626, alocal network transceiver628, (via the network interface626) via a peripheral I/O bus. The I/O device624 may be any desired type of I/O device such as, for example, a keyboard, a display (e.g., a liquid crystal display (LCD), a cathode ray tube (CRT) display, etc.), a navigation device (e.g., a mouse, a trackball, a capacitive touch pad, a joystick, etc.), etc. The I/O device624 may be used with themodule616, etc., to receive data from thetransceiver628, send the data to the backend components of thesystem100, and perform any operations related to the methods as described herein. Thelocal network transceiver628 may include support for a Wi-Fi network, Bluetooth, Infrared, cellular, or other wireless data transmission protocols. In other embodiments, one element may simultaneously support each of the various wireless protocols employed by the computing device601. For example, a software-defined radio may be able to support multiple protocols via downloadable instructions. In operation, the computing device601 may be able to periodically poll for visible wireless network transmitters (both cellular and local network) on a periodic basis. Such polling may be possible even while normal wireless traffic is being supported on the computing device601. The network interface626 may be, for example, an Ethernet device, an asynchronous transfer mode (ATM) device, an 802.11 wireless interface device, a DSL modem, a cable modem, a cellular modem, etc., that enables thesystem100 to communicate with another computer system having at least the elements described in relation to thesystem100.
While thememory controller608 and the I/O controller610 are depicted inFIG. 6 as separate functional blocks within thechipset606, the functions performed by these blocks may be integrated within a single integrated circuit or may be implemented using two or more separate integrated circuits. Thecomputing environment600 may also implement themodule616 on aremote computing device630. Theremote computing device630 may communicate with the computing device601 over anEthernet link632. In some embodiments, themodule616 may be retrieved by the computing device601 from acloud computing server634 via theInternet636. When using thecloud computing server634, the retrievedmodule616 may be programmatically linked with the computing device601. Themodule616 may be a collection of various software platforms including artificial intelligence software and document creation software or may also be a Java® applet executing within a Java® Virtual Machine (JVM) environment resident in the computing device601 or theremote computing device630. The modeling module620 and the execution module622 may also be “plug-ins” adapted to execute in a web-browser located on thecomputing devices601 and630. In some embodiments, themodule616 may communicate withback end components638 such as thebackend components110 ofFIG. 1 via theInternet636.
Thesystem600 may include but is not limited to any combination of a LAN, a MAN, a WAN, a mobile, a wired or wireless network, a private network, or a virtual private network. Moreover, while only oneremote computing device630 is illustrated inFIG. 6 to simplify and clarify the description, it is understood that any number of client computers are supported and can be in communication within thesystem100.
FIG. 7 is a high-level block diagram of the various components of thesystem100.
Additionally, certain embodiments are described herein as including logic or a number of components, modules, or mechanisms. Modules may constitute either software modules (e.g., code or instructions embodied on a machine-readable medium or In a transmission signal, wherein the code is executed by a processor) or hardware modules. A hardware module is tangible unit capable of performing certain operations and may be configured or arranged in a certain manner. In example embodiments, one or more computer systems (e.g., a standalone, client or server computer system) or one or more hardware modules of a computer system (e.g., a processor or a group of processors) may be configured by software (e.g., an application or application portion) as a hardware module that operates to perform certain operations as described herein.
In various embodiments, a hardware module may be implemented mechanically or electronically. For example, a hardware module may comprise dedicated circuitry or logic that is permanently configured (e.g., as a special-purpose processor, such as a field programmable gate array (FPGA) or an application-specific integrated circuit (ASIC)) to perform certain operations. A hardware module may also comprise programmable logic or circuitry (e.g., as encompassed within a general-purpose processor or other programmable processor) that is temporarily configured by software to perform certain operations. It will be appreciated that the decision to implement a hardware module mechanically, in dedicated and permanently configured circuitry, or in temporarily configured circuitry (e.g., configured by software) may be driven by cost and time considerations.
Accordingly, the term “hardware module” should be understood to encompass a tangible entity, be that an entity that is physically constructed, permanently configured (e.g., hardwired), or temporarily configured (e.g., programmed) to operate in a certain manner or to perform certain operations described herein. As used herein, “hardware-implemented module” refers to a hardware module. Considering embodiments in which hardware modules are temporarily configured (e.g., programmed), each of the hardware modules need not be configured or instantiated at any one instance in time. For example, where the hardware modules comprise a general-purpose processor configured using software, the general-purpose processor may be configured as respective different hardware modules at different times. Software may accordingly configure a processor, for example, to constitute a particular hardware module at one instance of time and to constitute a different hardware module at a different instance of time.
Hardware modules can provide information to, and receive information from, other hardware modules. Accordingly, the described hardware modules may be regarded as being communicatively coupled. Where multiple of such hardware modules exist contemporaneously, communications may be achieved through signal transmission (e.g., over appropriate circuits and buses) that connect the hardware modules. In embodiments in which multiple hardware modules are configured or instantiated at different times, communications between such hardware modules may be achieved, for example, through the storage and retrieval of information in memory structures to which the multiple hardware modules have access. For example, one hardware module may perform an operation and store the output of that operation in a memory device to which it is communicatively coupled. A further hardware module may then, at a later time, access the memory device to retrieve and process the stored output. Hardware modules may also initiate communications with input or output devices, and can operate on a resource (e.g., a collection of information).
The various operations of example methods described herein may be performed, at least partially, by one or more processors that are temporarily configured (e.g., by software) or permanently configured to perform the relevant operations. Whether temporarily or permanently configured, such processors may constitute processor-implemented modules that operate to perform one or more operations or functions. The modules referred to herein may, in some example embodiments, comprise processor-implemented modules.
Similarly, the methods or routines described herein may be at least partially processor-implemented. For example, at least some of the operations of a method may be performed by one or processors or processor-implemented hardware modules. The performance of certain of the operations may be distributed among the one or more processors, not only residing within a single machine, but deployed across a number of machines. In some example embodiments, the processor or processors may be located in a single location (e.g., within a home environment, an office environment or as a server farm), while in other embodiments the processors may be distributed across a number of locations.
The one or more processors may also operate to support performance of the relevant operations in a “cloud computing” environment or as a “software as a service” (SaaS). For example, at least some of the operations may be performed by a group of computers (as examples of machines including processors), these operations being accessible via a network (e.g., the Internet) and via one or more appropriate interfaces (e.g., application program interfaces (APIs).)
The performance of certain of the operations may be distributed among the one or more processors, not only residing within a single machine, but deployed across a number of machines. In some example embodiments, the one or more processors or processor-implemented modules may be located in a single geographic location (e.g., within a home environment, an office environment, or a server farm). In other example embodiments, the one or more processors or processor-implemented modules may be distributed across a number of geographic locations.
Some portions of this specification are presented in terms of algorithms or symbolic representations of operations on data stored as bits or binary digital signals within a machine memory (e.g., a computer memory). These algorithms or symbolic representations are examples of techniques used by those of ordinary skill in the data processing arts to convey the substance of their work to others skilled in the art. As used herein, an “algorithm” is a self-consistent sequence of operations or similar processing leading to a desired result. In this context, algorithms and operations involve physical manipulation of physical quantities. Typically, but not necessarily, such quantities may take the form of electrical, magnetic, or optical signals capable of being stored, accessed, transferred, combined, compared, or otherwise manipulated by a machine. It is convenient at times, principally for reasons of common usage, to refer to such signals using words such as “data,” “content,” “bits,” “values,” “elements,” “symbols,” “characters,” “terms,” “numbers,” “numerals,” or the like. These words, however, are merely convenient labels and are to be associated with appropriate physical quantities.
Unless specifically stated otherwise, discussions herein using words such as “processing,” “computing,” “calculating,” “determining,” “presenting,” “displaying,” or the like may refer to actions or processes of a machine (e.g., a computer) that manipulates or transforms data represented as physical (e.g., electronic, magnetic, or optical) quantities within one or more memories (e.g., volatile memory, non-volatile memory, or a combination thereof), registers, or other machine components that receive, store, transmit, or display information.
As used herein any reference to “some embodiments” or “an embodiment” or “teaching” means that a particular element, feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment. The appearances of the phrase “in some embodiments” or “teachings” in various places in the specification are not necessarily all referring to the same embodiment.
Some embodiments may be described using the expression “coupled” and “connected” along with their derivatives. For example, some embodiments may be described using the term “coupled” to indicate that two or more elements are in direct physical or electrical contact. The term “coupled,” however, may also mean that two or more elements are not In direct contact with each other, but yet still co-operate or interact with each other. The embodiments are not limited in this context.
Further, the figures depict preferred embodiments for purposes of illustration only. One skilled In the art will readily recognize from the following discussion that alternative embodiments of the structures and methods illustrated herein may be employed without departing from the principles described herein
Upon reading this disclosure, those of skill In the art will appreciate still additional alternative structural and functional designs for the systems and methods described herein through the disclosed principles herein. Thus, while particular embodiments and applications have been illustrated and described, it is to be understood that the disclosed embodiments are not limited to the precise construction and components disclosed herein. Various modifications, changes and variations, which will be apparent to those skilled in the art, may be made in the arrangement, operation and details of the systems and methods disclosed herein without departing from the spirit and scope defined in any appended claims.