Patent ID: 12198159

DETAILED DESCRIPTION

Embodiments will be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all embodiments contemplated herein are shown. Indeed, various embodiments may be implemented in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will satisfy applicable legal requirements. Like numbers refer to like elements throughout.

As used herein, the terms “data,” “content,” “information” and similar terms may be used interchangeably to refer to data capable of being captured, transmitted, sent, received, displayed and/or stored in accordance with various example embodiments. Thus, use of any such terms should not be taken to limit the spirit and scope of the disclosure. Further, where a device is described herein to receive data from another device, it will be appreciated that the data may be received directly from the another device or may be received indirectly via one or more intermediary devices, such as, for example, one or more servers, relays, routers, network access points, base stations, and/or the like, sometimes referred to herein as a “network.” Similarly, where a device is described herein to send data to another device, it will be appreciated that the data may be sent directly to the another device or may be sent indirectly via one or more intermediary devices, such as, for example, one or more servers, relays, routers, network access points, base stations, and/or the like.

As used herein, the term “method” refers to one or more steps that may be performed by a configured device, apparatus, system, circuitry, one or more processors, among other things. Where an example method is shown as including more than one step, it will be appreciated that the steps may be performed in different orders than as shown in the example and that not all steps are necessarily required. Furthermore, the methods are described herein as being performed by example structures for clarity and are not limited to those structures (e.g., a particular server, database, device, apparatus, etc.) in some embodiments.

Methods, systems, apparatus, and non-transitory computer program products described herein may be operable to provide impressions including leading messages to consumers. An “impression,” as used herein, may include a communication, a display, or other perceived indication, such as a flyer, print media, email, text message, webpage, application alert, mobile applications, other type of electronic interface or distribution channel, and/or the like, of one or more promotions. In that sense, an impression may “indicate” one or more promotions. A “leading message,” as used herein, may include a first message or communication of the impression that is presented to consumers. In a first example, where the impression is an e-mail message, the leading message may be the subject of the email. A consumer may read or otherwise consider the leading message in deciding whether to further explore the second portions of the impression, or the “trailing impression portion” of an impression. For example, the consumer may read an email subject to decide whether to open and/or otherwise view (e.g., a preview mode) the email body. In another example, such as where the impression is provided via a text message to a mobile device, the leading message may include the message of the text with a reference (e.g., a hyperlink) to other portions of the impression (e.g., as may be accessed via a mobile application and/or webpage). In some embodiments, the leading message may include a textual description, summary, advertisement, etc. that may invoke a user to purchase, view, click, or otherwise access second content. For example, the techniques discussed herein for providing effective leading messages may be applied to descriptions of products, services, experiences, reference descriptions included in search results returned by search engines, descriptions of video and/or other digital content, among other things.

A “promotion,” as used herein, may include, but is not limited to, any type of offered, presented or otherwise indicated reward, discount, coupon, credit, deal, incentive, discount, media, or the like that is indicative of a promotional value or the like that upon purchase or acceptance results in the issuance of an instrument (e.g., electronic or otherwise) that may be used toward at least a portion of the purchase of particular goods, services, and/or experiences defined by the promotion.

Some embodiments may include a system including circuitry configured to programmatically determine a predicted access rate for an impression that includes a leading message. For example, the leading message may be an email subject that may provoke a consumer to access the body portion of an email message. In that sense, the circuitry may be configured to track historical data indicating the access rates of leading messages and/or leading message terms, among other things. The circuitry may be further configured to leverage the historical data to determine predicted access rates for leading messages, such as based on algorithmic transformations of the historical data indicating historical access rates associated with one or more leading message terms of the leading message. In some embodiments, the circuitry may be further configured to provide recommendations for improved leading messages in response to receiving a leading message as an input.

Exemplary System Architecture

FIG.1shows an example system100in accordance with some embodiments. System100may include promotion and marketing system102(or “system102”), network104, consumer device106, and merchant device108. System102may be communicably connected with consumer device106and merchant device108via network104. System102may include server110and database112.

Server110may include circuitry, networked processors, or the like configured to perform some or all of the server-based processes described herein and may be any suitable network server and/or other type of processing device. In some embodiments, system102may function as a “cloud” with respect to the consumer device106and/or merchant device108. In that sense, server110may include several servers performing interconnected and/or distributed functions. To avoid unnecessarily overcomplicating the disclosure, server110is shown and described herein as a single server.

Database112may be any suitable network storage device configured to store some or all of the information described herein. For example, database112may be configured to store promotion data indicating promotions and their parameters. In some embodiments, database112may be further configured to store consumer data (e.g., profile, preferences, purchase history, location, etc.) for targeting impressions and/or other messages to consumer device (e.g., based on individual relevance). Database112may be further configured to store consumer information including consumer account information, login information (e.g., identification and/or authentication data), consumer account history, etc. As such, database112may include, for example, one or more database systems, backend data servers, network databases, cloud storage devices, etc. To avoid unnecessarily overcomplicating the disclosure, database112is shown and described herein as a single database.

Network104may include one or more wired and/or wireless communication networks including, for example, a wired or wireless local area network (LAN), personal area network (PAN), metropolitan area network (MAN), wide area network (WAN), or the like, as well as any hardware, software and/or firmware for implementing the one or more networks (such as, e.g., network routers, switches, hubs, etc.). For example, network104may include a cellular telephone, mobile broadband, long term evolution (LTE), GSM/EDGE, UMTS/HSPA, IEEE 802.11, IEEE 802.16, IEEE 802.20, WiFi, dial-up, and/or WiMax network. Furthermore, network104may include a public network, such as the Internet, a private network, such as an intranet, or combinations thereof, and may utilize a variety of networking protocols now available or later developed including, but not limited to TCP/IP based networking protocols.

Consumer device106may be associated with a consumer and/or consumer account, such as a consumer with a consumer account provided by system102. Although a single consumer device106is shown, system100may include any number of consumer devices106that may be associated with various other consumers and/or consumer accounts. Consumer device106may be a mobile device and/or a stationary device. For example, consumer device106may be a mobile device such as a cellular telephone (including smartphones and/or other types of mobile telephones), laptop, tablet, electronic reader, e-book device, media device, and/or the like. Additionally and/or alternatively, consumer device106may be a stationary device such as a desktop computer, work station, point-of-sale device, or the like.

Merchant device108may be associated with a merchant and/or provider of promotions. Although a single merchant device108is shown, system100may include any number of merchant devices that may be associated with various other merchants. In some embodiments, merchant device108may be configured to provide point-of-sale (POS) functionality for the merchant, such as at the merchant's shop. Furthermore, merchant device108may be a stationary and/or mobile device. In some embodiments, system102may be configured to receive promotion data indicating a promotion for goods and/or services and/or one or more parameters of the promotion (e.g., target audience, timing, purchase value, promotional value, residual value, etc.) from merchant devices106. System102may then generate and/or provide one or more impressions indicating the promotion to consumer devices106.

FIG.2shows a schematic block diagram of example circuitry200, some or all of which may be included in system102, server110, database112, user device106, and/or merchant device108. In accordance with some example embodiments, circuitry200may include various elements, such as one or more processors202, memories204, communications modules206, and/or input/output modules208.

In some embodiments, such as when circuitry200is included in system102, messaging module210may also or instead be included with processor202. As referred to herein, “module” includes hardware, software, and/or firmware configured to perform one or more particular functions. In this regard, the means of circuitry200as described herein may be embodied as, for example, circuitry, hardware elements (e.g., a suitably programmed processor, combinational logic circuit, integrated circuit, and/or the like), a computer program product comprising computer-readable program instructions stored on a non-transitory computer-readable medium (e.g., memory204) that is executable by a suitably configured processing device (e.g., processor202), or some combination thereof.

Processor202may, for example, be embodied as various means for processing including one or more microprocessors with accompanying digital signal processor(s), one or more processor(s) without an accompanying digital signal processor, one or more coprocessors, one or more multi-core processors, one or more controllers, processing circuitry, one or more computers, various other processing elements including integrated circuits such as, for example, an ASIC (application specific integrated circuit) or FPGA (field programmable gate array), or some combination thereof. Accordingly, although illustrated inFIG.2as a single processor, in some embodiments, processor202may comprise a plurality of means for processing. The plurality of means for processing may be embodied on a single computing device or may be distributed across a plurality of computing devices collectively configured to function as circuitry200. The plurality of means for processing may be in operative communication with each other and may be collectively configured to perform one or more functionalities of circuitry200as described herein. In an example embodiment, processor202may be configured to execute instructions stored in memory204or otherwise accessible to processor202. These instructions, when executed by processor202, may cause circuitry200to perform one or more of the functions described herein.

Whether configured by hardware, firmware/software methods, or by a combination thereof, processor202may comprise an entity capable of performing operations according to embodiments of the present invention while configured accordingly. Thus, for example, when processor202is embodied as an ASIC, FPGA, or the like, processor202may comprise specifically configured hardware for conducting one or more operations described herein. As another example, when processor202may be embodied as an executor of instructions, such as may be stored in memory204, the instructions may specifically configure processor202to perform one or more algorithms, methods, or operations described herein. For example, processor202may be configured to execute operating system applications, firmware applications, media playback applications, and/or media editing applications, among other things.

Memory204may comprise, for example, volatile memory, non-volatile memory, or some combination thereof. Although illustrated inFIG.2as a single memory, memory204may comprise a plurality of memory components. The plurality of memory components may be embodied on a single computing component or distributed across a plurality of computing components. In various embodiments, memory204may comprise, for example, a hard disk, random access memory, cache memory, flash memory, a compact disc read only memory (CD-ROM), solid state memory, digital versatile disc read only memory (DVD-ROM), an optical disc, circuitry configured to store information, integrated circuitry, chemical/biological memory, paper, or some combination thereof. Memory204may be configured to store information, data, applications, instructions, or the like for enabling circuitry200to carry out various functions in accordance with example embodiments discussed herein. For example, in at least some embodiments, memory204may be configured to buffer input data for processing by processor202. Additionally or alternatively, in at least some embodiments, memory204may be configured to store program instructions for execution by processor202and/or data for processing by processor202. Memory204may store information in the form of static and/or dynamic information. This stored information may be stored and/or used by circuitry200during the course of performing its functionalities.

Communications module206may be embodied as any component or means for communication embodied in circuitry, hardware, a computer program product comprising computer readable program instructions stored on a computer readable medium (e.g., memory204) and executed by a processing device (e.g., processor202), or a combination thereof that is configured to receive and/or transmit data from/to another device, such as, for example, a second circuitry200and/or the like. In some embodiments, communications module206(like other components discussed herein) can be at least partially embodied as or otherwise controlled by processor202. In this regard, communications module206may be in communication with processor202, such as via a bus. Communications module206may include, for example, an antenna, a transmitter, a receiver, a transceiver, network interface card and/or supporting hardware, and/or firmware/software for enabling communications. Communications module206may be configured to receive and/or transmit any data that may be stored by memory204using any protocol that may be used for communications. Communications module206may additionally and/or alternatively be in communication with the memory204, input/output module208, and/or any other component of circuitry200, such as via a bus. Communications module206may be configured to use one or more communications protocols such as, for example, short messaging service (SMS), Wi-Fi (e.g., a 802.11 protocol, Bluetooth, etc.), radio frequency systems (e.g., 900 MHz, 1.4 GHz, and 5.6 GHz communication systems), infrared, GSM, GSM plus EDGE, CDMA, quadband, and other cellular protocols, VOIP, or any other suitable protocol

Input/output module208may be in communication with processor202to receive an indication of an input and/or to provide an audible, visual, mechanical, or other output. In that sense, input/output module208may include means for implementing analog-to-digital and/or digital-to-analog data conversions. Input/output module208may include support, for example, for a display, touch screen, keyboard, button, click wheel, mouse, joystick, an image capturing device, microphone, speaker, biometric scanner, and/or other input/output mechanisms. In embodiments where circuitry200may be implemented as a server or database, aspects of input/output module208may be reduced as compared to embodiments where circuitry200may be implemented as an end-user machine or other type of device designed for complex user interactions. In some embodiments (like other components discussed herein), input/output module208may even be eliminated from circuitry200. Alternatively, such as in embodiments wherein circuitry200is embodied as a server or database, at least some aspects of input/output module208may be embodied on an apparatus used by a user that is in communication with circuitry200. Input/output module208may be in communication with memory204, communications module206, and/or any other component(s), such as via a bus. Although more than one input/output module and/or other component can be included in circuitry200, only one is shown inFIG.2to avoid overcomplicating the disclosure (e.g., like the other components discussed herein).

In some embodiments, messaging module210may also or instead be included and configured to perform the functionality discussed herein related to providing impressions (e.g., impressions including leading messages) to consumers and/or optimizing the leading messages for higher consumer access rates. In some embodiments, some or all of the functionality of messaging module210may be performed by processor202. In this regard, the example processes discussed herein can be performed by at least one processor202and/or messaging module210. For example, non-transitory computer readable storage media can be configured to store firmware, one or more application programs, and/or other software, which include instructions and other computer-readable program code portions that can be executed to control processors of the components of system200to implement various operations, including the examples shown herein. As such, a series of computer-readable program code portions may be embodied in one or more computer program products and can be used, with a device, server, database, and/or other programmable apparatus, to produce the machine-implemented processes discussed herein.

Any such computer program instructions and/or other type of code may be loaded onto a computer, processor, and/or other programmable apparatus's circuitry to produce a machine, such that the computer, processor, or other programmable circuitry that executes the code may be the means for implementing various functions, including those described herein. In some embodiments, one or more external systems (such as a remote cloud computing and/or data storage system) may also be leveraged to provide at least some of the functionality discussed herein.

As described above and as will be appreciated based on this disclosure, various embodiments may be implemented as methods, mediums, devices, servers, databases, systems, and the like. Accordingly, embodiments may comprise various forms, including entirely of hardware or any combination of software and hardware. Furthermore, embodiments may take the form of a computer program product on at least one non-transitory computer readable storage medium having computer readable program instructions (e.g., computer software) embodied in the storage medium. Any suitable computer-readable storage medium may be utilized including non-transitory hard disks, CD/DVD-ROMs, flash memory, optical storage devices, quantum storage devices, chemical storage devices, biological storage devices, magnetic storage devices, etc.

Embodiments have been described above with reference to block diagrams of components, such as functional modules, system components, and circuitry. Below is a discussion of an example process flowcharts describing functionality that may be implemented by one or more components and/or means discussed above and/or other suitably configured circuitry. Each block of the block diagrams and process flowcharts, and combinations of blocks diagrams and process flowcharts, respectively, can be implemented by various means including computer program instructions. These computer program instructions may be loaded onto a general purpose computer, special purpose computer, or other programmable data processing apparatus, such as processor202, to produce a machine, such that the computer program product includes the instructions which execute on the computer or other programmable data processing apparatus to create a means for implementing the functions specified in the flowchart block or block diagrams.

These computer program instructions may also be stored in a computer-readable storage device (e.g., memory204) that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable storage device produce an article of manufacture including computer-readable instructions for implementing the function discussed herein. The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions that execute on the computer or other programmable apparatus provide steps for implementing the functions discussed herein.

Accordingly, blocks of the block diagrams and flowchart illustrations support combinations of means for implementing the specified functions, combinations of steps for performing the specified functions and program instruction means for implementing the specified functions. It will also be understood that each block of the block diagrams and process flowcharts, and combinations of blocks in the block diagrams and process flowcharts, can be implemented by special purpose hardware-based computer systems that perform the specified functions or steps, or combinations of special purpose hardware and computer instructions.

Providing Optimized Leading Messages

FIG.3shows an example of a method300for determining the effectiveness of a leading message, in accordance with some embodiments. In particular, method300may be performed to provide a prediction of how a leading message received as input may be expected to perform, such as by determining a predicted access rate for the leading message. As discussed above, an impression may include a leading message that may be a first portion of a communication of the impression which the consumer may read to determine whether to further explore and/or otherwise access additional portions of the impression. A leading message may be deemed effective when consumers are motivated by the contents of the leading message to access additional information, create a consumer account, browse other promotions, purchase the promotion, and/or among other things.

Accordingly, in some embodiments, the effectiveness of the leading message may be defined as a function of the “access rate” of the leading message and/or the access rates of components (e.g., “leading message terms,” as used herein) of the leading message. Method300is described as being performed by system102(e.g., server110), however, other suitably configured structures (e.g., one or more servers, a networked device, hardware, software, firmware, circuitry, etc.) may also be used in various embodiments.

Method300may begin at302and proceed to304, where server110may be configured to receive a leading message including leading message terms, such as one leading message term, one or more leading message terms, two or more leading message terms, or a plurality of leading message terms. For example, in some embodiments, the leading message may be an email subject including leading message terms that are each a word and/or phrase. In some embodiments, the leading message may be received by circuitry from a non-transitory computer readable medium, such a memory and/or database. In another example, the leading message may be received from a user input device (e.g., a keyboard, touchscreen, mouse, etc. of an operator of system102) that is in communication with processing circuitry configured to perform method300. For example, an operator or other user may be allowed to provide leading messages and/or leading message terms for analysis and/or impression creation.

In various embodiments, the leading message may be associated with a particular type of impression and/or communication channel by which the impression is sent to consumers. For example, the email subject of an impression provided by email may be the leading message of the impression. In another example, the leading message may be the contents of a short messaging service (SMS) text to a consumer device, such as a mobile device (e.g., a smartphone). In a text message, the leading message may provide a reference to a webpage and/or application that is accessible by the mobile device. In another example, the leading message may include the contents of an application alert, such as a short description regarding the contents of the application alert. In that sense, a leading message may include a first message or communication of an impression that is presented to consumers in connection with an option for the consumer to take additional steps for accessing the other portions of the impression.

In some embodiments, a leading message may include one or more leading message terms. For example, the number of terms in the leading message (e.g., leading message term length) may be selected to optimize marketability, readability, and/or descriptiveness, among other things. For example, a leading message term length of five leading message terms (e.g., words and/or phrases) may be used for email subjects because longer messages, while generally more descriptive, may be truncated in a consumer's email inbox window and/or require too much careful consumer inspection to understand, among other things.

At306, server110may be configured to determine an access rate score for a leading message term of the leading message. For example, server110may be configured to determine the access rate score for the leading message term based on historical data indicating frequencies at which consumers accessed impressions including at least the leading message term. The historical data, for example, may be stored in database112and accessed by server110to determine access rate scores. In some embodiments, server110may be configured to generate the historical data in connection with commercial interactions with consumer devices (e.g., providing, selling, etc. of promotions to consumers).

In some embodiments, server110may be configured to determine the access rate score for one or more leading message terms, two or more leading message terms, a plurality of leading message terms, or each leading message term of the leading message. The access rate score for a leading message term may be configured to provide an indication of the effectiveness (e.g., based on various metrics and/or combinations thereof) of the leading message term when used within a leading message. For example, the access rate score may include an algorithmic transformation of a measured access rate (e.g., the frequency at which consumers accessed impressions including the leading message term). In general, leading messages provided to consumers may include one leading message term, one or more leading message terms, two or more leading message terms, or a plurality of leading message terms. Often, a plurality (e.g., 3, 4, 5, 6, etc.) of leading message terms may be included in a leading message, rather than a single leading message term or only two leading message terms. Historical data indicating an access rate of a leading message term may be skewed by the effect of other leading message terms provided in common leading messages, or “connected leading message terms.”

Some embodiments may provide techniques for determining access rate scores (e.g., an attribution score) that are independent of noise in raw historical data caused by the contributory effectiveness of connected leading message terms that were provided in the same leading message (e.g., within a leading message of an impression). The access rate score may be configured to provide an accurate indication of capability and/or tendency of the leading message term to induce consumers to access impressions (and/or secondary portions thereof) that include the leading message term.

In some embodiments, similar techniques as discussed herein for access rate may be leveraged to optimize the ability of a leading message to induce other actions. Some example actions may include consumer registration (e.g., create new consumer account for new person), promotion purchase, and/or among other things. For example, server110may configured to determine a promotion purchase score for the leading message term based on frequencies at which consumers purchased promotions via impressions including the leading message term (e.g., as may be indicated by the historical data). In another example, server110may configured to determine a new registration score for the leading message term based on frequencies at which unregistered users created consumer accounts after receiving impressions including the leading message term, even where the leading message term has only been provided to consumers in combination with other leading message terms.

At308, server110may be configured to determine a predicted access rate for the leading message based at least in part on the access rate score of the leading message term. For example, in embodiments where the leading message is an email subject, the predicted access rate for the leading message may indicate a rate at which consumers are predicted to open an email including the leading message as the email subject. In some embodiments, server110may be configured to determine the predicted access rate for the leading message based on the access rate score for the leading message term and one or more other access rate scores for one or more other leading message terms of the leading message. For example, the predicated access rate may be determined based on access rate scores for each of the leading message terms of the leading message, such as by taking the sum of the access rate scores and/or an average of the access rate scores. Method300may then proceed to310and end.

FIG.4shows an example of a method400for generating historical data, in accordance with some embodiments. The historical data, as discussed above, may include associations between leading message terms and the rate at which consumers opened an impression including the leading message term in the leading message (e.g., the access rate). Method400is described as being performed by system102(e.g., server110), however, other suitably configured structures (e.g., one or more servers, a networked device, hardware, software, firmware, circuitry, etc.) may also be used in various embodiments. For example, a backend machine of system102may be configured to perform tasks associated with processing the historical data while server110may be configured to provide impressions and/or generate the historical data by tracking consumer activity. In various embodiments, method400may be performed before, after, and/or concurrently with method300. For example, the historical data generated by method400may be used at306of method300to determine the access rate score for each leading message term. In another example, an impression including a leading message term selected based on the historical data may be provided to consumer devices with access tracking features to generate additional historical data and/or otherwise update the historical data.

Method400may begin at402and proceed to404, where server110may be configured to provide an impression including a leading message. The impression may include an indication of one or more promotions being offered to consumers. The leading message may include one or more leading message terms intended to convey the features of at least one promotion and/or otherwise pique the interest of the consumer. In some embodiments, the promotions may be indicated by promotion data that is stored in database112. Server110may be further configured to access the promotion data (e.g., from a non-transitory computer readable medium) and/or otherwise determine (e.g., generate) the promotion data. For example, in some embodiments, server110may be configured to access the promotion data by communicating with database112, where the promotion data may be stored.

In some embodiments, server110may be configured to generate the impression including the plurality of promotions and/or the leading message based on the promotion data. As discussed above, the impression may be a communication, a display, or other perceived indication, such as a flyer, print media, webpage, e-mail, text message, application alert, mobile applications, other type of electronic interface or distribution channel and/or the like, of the plurality of promotions.

In some embodiments, the impression may be an email including the email subject as the leading message.FIG.7shows an example consumer email inbox display700, in accordance with some embodiments. Consumer email inbox display700may include a display of email messages received by the consumer such as messages702,704, and706. Message702may be an example of an impression that server110may be configured to provide to consumer device106. Message702may include leading message710and sender indicator708. One example of a leading message, as illustrated, may be “Espresso and Coffee, $20 value for $10,” as shown for leading message710.

At406, server110may be configured to receive access data from the consumer device indicating that the impression has been accessed. For example, server110may receive the access data from consumer device106in response to the consumer selecting message702via email inbox display700, the consumer may be presented with a second portion of the impression (or “trailing impression portion”). In the email channel shown, the trailing message may include the body of email message702. In that sense, server110may be configured to provide a trailing impression portion in response to receiving data from the consumer device106indicating that the impression has been accessed.

FIG.8shows an example trailing impression portion800, in accordance with some embodiments. Trailing impression portion800may include an indication of one or more promotions, such as leading promotion802and/or promotions804. Leading promotion802, when used, may be related to the subject matter of message702and leading message710and/or may be featured more prominently within trailing impression portion800. Leading promotion802may include leading promotion display806configured to provide additional information about leading promotion802, such as via text, video, interactive, and/or graphical displays. For example, leading promotion display806may include one or more references (e.g., reference808) that are selectable by the consumer and configured to facilitate the purchase of leading promotion802and/or among other things (e.g., consumer registration, consumer activity with system102, consumer historical data tracking, etc.). In some embodiments, such as when access rates are used, the consumer may be determined to have accessed the promotion upon the consumer selecting the leading message (such as email message702in consumer email inbox display700), upon the consumer otherwise receiving the trailing impression portion800, and/or upon the consumer selecting an associated reference808of a leading promotion802.

At408, server110may be configured to generate historical data indicating frequencies at which consumers accessed impressions including the leading message terms based on the received access data. For example, the historical data may indicate the number of impressions sent to consumer devices including the leading message terms and the number of secondary impressions that are accessed by the consumer devices (e.g., after being provided with the leading message). Server110may be further configured to determine an access rate of the leading message terms, such as may be determined based on a ratio of the number of secondary impressions that are accessed by the consumers (e.g., as may be indicated by access data received at406from consumer devices) against the number of impressions sent to consumer devices including the leading message terms (e.g., as may be determined based on the number of impressions sent at404to consumer devices).

In some embodiments, the historical data may further include leading message metadata (e.g., including leading message term metadata). For example, server110may be configured to determine and/or otherwise track, for impressions including the leading message term sent to consumer devices, the leading message (e.g., the entire message including each leading message term and their positions), the position of the leading message term within the leading message (e.g., first word, second word, etc.), the leading message term length, the syntactical position of leading message term in relation to the leading message, the format of the leading message term (e.g., all capital letters, starting capital letter, bold, italics, etc.), nearby punctuations (e.g., immediately prior to and/or following the leading message term), nearby preposition phrases (e.g., “of,” to, “for,” etc.), and/or nearby special characters (e.g., digits, numbers, symbols, graphics, videos), among other things. As discussed in greater detail below with respect to method600andFIG.6, the leading message metadata may be used to weigh various factors that may be programmatically applied to determine a “predicted access rate” for the leading message (e.g., based on the historical data).

In some embodiments, server110may be configured to store the historical data to computer readable medium, including non-transitory computer readable mediums such as a memory and/or database (e.g., database112) for further processing and/or future access. Method400may then proceed to410and end.

FIG.5shows an example of a method500for determining an access rate score for a leading message term, in accordance with some embodiments. The access rate score (e.g., as also discussed at306of method300) may provide an accurate indication of the ability and/or tendency of the leading message term to induce consumers to access impressions (and/or secondary portions thereof) that include the leading message term. In some embodiments, method500may be performed at306of method300, such as after receiving a leading message including a plurality of leading message terms at306.

Method500may begin at502and proceed to504, where server110may be configured to access historical data indicating frequencies at which consumers accessed impressions including the leading message term or terms. For example, the historical data may include the historical data generated using method400. The historical data may be stored by system102, such as in database112, and accessed by server110based on receiving the leading message term (e.g., as part of the leading message at304of method300).

At506, server110may be configured to determine whether a leading message term of the leading message is found in the historical data. For example, server110may be configured to query database112using the leading message term. A new leading message term that does not have a corresponding match in the historical data may be determined to have failed to be found in the historical data. Conversely, server110may determine that the leading message term is found in the historical data if a match is found, such as may be returned from database112.

In response to determining that the leading message term was found in the historical data, method500may proceed to508, where server110may be configured to determine the access rate score for the leading message term based on the historical data.

In some embodiments, the access rate score for the leading message term may include an attribution score. As discussed above, the historical data may for a leading message term may be skewed by the connected access rates of one or more other leading message terms that were provided in the same leading message. For example, where a leading message that includes leading message terms “espresso” and “coffee” (e.g., as shown at leading message710ofFIG.7) receives a high access rate, it may not be clear which of the two leading message terms are more responsible for the high access rate, “espresso” or “coffee”, and/or their relative levels of contribution. In some embodiments, server110may be configured to determine the access rate score (e.g., as and/or including an attribution score) which may be configured to account for such examples by determining (e.g., based on other historical data), the attribution scores of leading messages including “espresso” and “coffee,” apart from each other. In other words, if other impressions with “espresso” do not have high access rates while other impressions with “coffee” have higher access rates, the attribution score for espresso may be increased by an amount or factor while the attribution score for coffee may be decreased by an amount or factor (e.g., despite leading message710including both leading message terms). In some embodiments, the process may be repeated iteratively for each leading message term until the attribution score converges upon a “true” access rate for each leading message term individually.

In some embodiments, server110may be configured to determine the attribution scores for leading message terms based on the historical data by generating a leading message matrix. For example, the leading message matrix may be defined by example leading message matrix LM0:

LM0=[Access⁢Rate⁢(Leading⁢Message⁢1,term⁢1)…Access⁢Rate⁢(Leading⁢Message⁢1,term⁢M)Access⁢Rate⁢(Leading⁢Message⁢2,term⁢1)…Access⁢Rate⁢(Leading⁢Message⁢2,term⁢M)∶…∶∶…∶Access⁢Rate⁢(Leading⁢Message⁢N,term⁢1)…Access⁢Rate⁢(Leading⁢Message⁢N,term⁢M)]
where M is an index that represents the total number of distinct leading message terms, and where N is an index that represents the total number of distinct leading messages that have been provided to consumers. In some embodiments, for entries within matrix LM0corresponding with a leading message that did not include a corresponding leading message term (e.g., no leading messages including the leading message terms found), the access rate may be set to an average access rate for (e.g., all) leading messages terms. Conversely, the access rate may be set to actual access rates for the entries within matrix LM0corresponding with leading messages that included the corresponding leading message term.

In some embodiments, server110may be further configured to define a selection matrix for a leading message term, as may be defined as shown by matrix S0:
S0=[1(Leading Message1)1(Leading message2) . . . 1(Leading MessageN)],where N is an index that represents the total number of distinct leading messages that have been provided to consumers. Matrix S0may include a row of N entries that are each initialized at 1 or another constant number.

Server110may be further configured to generate a selection matrix S1for the leading message term, as may be defined as shown by Equation 1:
S1=k×LM0×S0where k is a constant.

Based on selection matrix S1, server110may be further configured to determine an iterative leading message matrix LM1, by changing each row LM1[j,*] of LM1to multiple of R and S1as defined in Equation 3:
LM1[j,*]Transpose(Transpose(LM0[J,*])×(Transpose(S1)),where Transpose stands for standard matrix transpose, or as more generally defined by Equation 4:
LMi+1[j,*]=k×Transpose(Transpose(LMi[j,*])×(Transpose(Si+1)),where i is an index indicating an iteration number. Similar iterations may be performed, and with sufficient iterations, the attribution scores represented by iterative leading message matrix LM may converge upon a value that corresponds with measured access rates of the leading message terms, but having the influence of connected leading message terms programmatically removed and/or reduced. In that sense, server110may be configured to determine an attribution score of a leading message term by accessing historical data embodied as entries within an iterative leading message matrix.

In some embodiments, server110may be further configured to determine the attribution score of the leading message terms based on adjusting for statistical fluctuations of measure access rates (e.g., as may be more noticeable for smaller volumes of relevant historical data). Smaller samplings of historical data used to determine the attribution score and/or the access rate score may be weighted less than larger samplings of historical data. For example, server110may be configured to determine a smoothed attribution score for a leading message term as defined by Equation 5:

Smoothed⁢attribution⁢score=ARaverage+∑i=1N⁢Attribution⁢rate(i)N+1,where ARaverage is an average attribution score and N is the total number of impressions that have been provided to consumer devices including leading messages having the leading message term. Attribution scores may be kept closer to the average attribution score for smaller samplings of attribution rates as indicated by N. In some embodiments, the access rate entries within a leading message matrix and/or iterative leading message matrix may be processed to determine smoothed attribution scores, which may be used in addition or alternative to unsmoothed attribution scores.

In some embodiments, server110may be configured to additionally and/or alternatively determine the access rate score for a leading message term based on determining an occurrence count for the leading message term. For example, the occurrence count for a leading message term may indicate a difference between the number of occurrences of the leading message term in impressions with access rates below and above a median access rate (e.g., of the leading message term and/or of a collection of leading message terms). For example, server110may be configured to determine (e.g., based on the historical data) an average access rate for the leading message term, a first number of impressions including the leading message term that resulted in an access rate greater than the average access rate and a second number of impressions including the leading message term that resulted in an access rate less than the average access rate. Next, server110may be configured to determine the occurrence count for the leading message term based on a difference between the first number of impressions and the second number of impressions.

In various embodiments, one or more of the techniques discussed herein associated with determining the access rate score for the leading message term may be used. For example, the access rate score may comprise a sum (e.g., a weighted sum) of the attribution score, occurrence rank, smoothed access rate score, and/or unsmoothed access rate score, among other things. Method500may then proceed to510and end.

Returning to506, in response to determining that the leading message term failed to found in the historical data, method500may proceed to512, where server110may be configured to determine one or more leading message terms (or “related leading message terms,” as used herein) that are related to the leading message term. For example, server110may be configured to determine syntactical similarity between different leading message terms based on a programmatically determined similarity score. In some embodiments, the similarity score may be determined based on computing an edit distance between the leading message term and one or more of the other leading message terms of the historical data. Server110may be further configured to determine the one or more related leading message terms based the edit distances, such as by selecting one or more of the closely matching leading message terms as the related leading message terms.

At514, server110may be configured to determine an access rate score for each of the one or more related leading message terms. The discussion at508for determining the access rate score of a leading message term may be applicable at514for each of the one or more related message terms.

At516, server110may be configured to determine an estimated access rate score for the leading message term based on the access rate score for each of the one or more related leading message terms. For example, the estimated access rate score may be determined based on the average (e.g., weighted or otherwise) of the access rate scores for each of the one or more leading message terms. For example, in some embodiments, a related leading message term having a higher syntactical relationship (e.g., similarity score) with the leading message term may be given a higher weighting factor than another related leading message term having a lower syntactical relationship. Method500may then proceed to510and end.

FIG.6shows an example of a method600for determining a predicted access rate for a leading message, in accordance with some embodiments. The predicted access rate for the leading message (e.g., as also discussed at308of method300) may indicate a rate at which consumers may be predicted to access a second portion of an impression (e.g., email body) when provided with the leading message (e.g., email subject). In some embodiments, method600may be performed at306of method300, such as after receiving a leading message for programmatic evaluation.

Method600may be begin at602and proceed to604, where server110may be configured to determine access rate scores one or more of the leading message terms of the leading message. For example, method500may be used to determine access rate scores for each of the leading message terms.

At606, server110may be configured to determine the predicted access rate for the leading message based on the access rate scores for the leading message terms of the leading message. For example, the predicted access rate may be determined based on a sum of the access rate scores (e.g., weighted or otherwise) and/or an average of the access rate scores (e.g., weighted or otherwise).

In some embodiments, server110may be configured to additionally and/or alternatively determine the predicted access rate for the leading message based on (e.g., historical) leading message metadata (e.g., as discussed at408of method400) and the syntactical structure of the leading message. The predicted access rate may be determined based on applying weights to the access rate scores, where the weighting values may be determined based on the leading message metadata associated and/or relevant with the leading message under analysis. For example, a leading message term at and/or near the beginning of a leading message may have a larger impact upon the access rate of an impression than the same leading message term when located at and/or near the back of the leading message. Accordingly, a larger weighting value may be applied to the access rate score of a leading message term when the leading message term is at and/or near the front of the leading message under analysis and/or a smaller weighting value may be applied to the access rate score of a leading message term when the leading message term is at and/or near the back of the leading message.

In another example, a leading message term preceding (e.g., immediately preceding and/or within a proximity to) a special character (e.g., an exclamation point, which may also be an example leading message term) may have a larger impact upon the access rate of an impression than the same leading message term when not preceding a special character. Accordingly, a larger weighting value may be applied to the access rate score of a leading message term when the leading message term precedes a special character in the leading message under analysis and/or a smaller weighting value may be applied to the access rate score of a leading message term when the leading message term precedes a special character. In some embodiments, different special characters (e.g., punctuation marks, symbols, digits, numbers, non-standard characters, graphics, videos, etc.) may contribute to different weighting values for the access rate.

In some embodiments, a special character contained within, preceding, and/or succeeding a message may have an impact on the predicted access rate of the leading message. Accordingly, a larger or smaller predicted access rates may be assigned to leading messages containing the special characters.

In some embodiments, leading messages that contain stop words with high frequency such as “of,” to,” or “for” may be also given appropriate weighting values. In addition to the keywords, these stop words (e.g., depending on the word and/or its location within the leading message) may increase or decrease the predicted access rate of the leading message.

In some embodiments, server110may be further configured to provide the predicted access rate for the leading message subsequent to determining the predicted access rate. For example, the predicted access rate may be provided to a display device, such as a monitor or touchscreen. In another example, the predicted access rate may be stored, such as in database112and/or other memory, for future use and/or further processing. In some embodiments, server110may be configured to allow an operator to provide a second leading message (e.g., as discussed at304of method300) for analysis.

At608, server110may be configured to determine a predicted access rate threshold value. The predicted access rate threshold value may be configured to act as a bar for determining whether the predicted access rate is sufficiently high for the leading message to be sent to consumers. For example, the predicted access rate threshold value may be set at 25% such that predicted access rates greater than 25% exceed the predicted access rate threshold value.

At610, server110may be configured to determine whether the predicted access rate exceeds the predicted access rate threshold value. Returning to the example above, a predicted access rate above the predicted access rate threshold value of 25% may be determined to exceed the predicted access rate threshold value and may be sent to consumers.

In response to determining that the predicted access rate fails to exceed the predicted access rate threshold value, method600may proceed to608, where server110may be configured to provide a recommended leading message term as a substitute for a leading message term of the leading message. Server110may be further configured to determine and/or provide a recommended leading message that includes the replacement leading message term, such as in place of a less effective (e.g., as determined at least in part by the access rate score) leading message term. As such, a recommended predicted access rate for the recommended leading message may be higher than the predicated access rate for the leading message.

With reference to leading message708inFIG.7, for example, server110may be configured to provide the leading message term “Latte” as a replacement for the leading message term “Espresso.” “Espresso and Coffee, $20 value for $10,” as shown for leading message708, may be updated to “Latte and Coffee, $20 value for $10,” based on server110programmatically determining the replacement leading message as having a higher predicted access rate than leading message708and/or a predicted access rate exceeding the predicted access rate threshold value. Similarly, server110may be configured to provide a recommended revised presentation of the leading message terms in the leading message. For example, “Espresso and Coffee, $20 value for $10,” as shown for leading message708, may be updated to “Coffee and Espresso, $20 value for $10,” based on server110programmatically determining the replacement revised presentation of the leading message as having a higher predicted access rate than leading message708and/or a predicted access rate exceeding the predicted access rate threshold value. In some embodiments, server110may be configured to determine and/or otherwise access leading message metadata that includes associations of related, synonymous, and/or otherwise relevant leading message terms that could be suitably used as replacements for each other within leading messages. The leading message metadata may be leveraged to determine, for example, the list of potential replacement leading message term candidates for one or more of the leading message terms of the leading message. Server110may be further configured to select the replacement leading message term from the candidates, such as based on access rate scores and/or differences in predicted access rates of the leading message using different candidate leading message terms.

In some embodiments, server110may be configured to provide the replacement leading message term and/or replacement to the display device, such as for consideration by the operator. Server110may be further configured to provide impressions including the replacement leading message term, such as upon receiving approval data from a user input device. Method600may then proceed to612and end. Returning to608, in response to determining that the predicted access rate exceeds the predicted access rate threshold value, method600may proceed to612and end.

CONCLUSION

Many modifications and other embodiments will come to mind to one skilled in the art to which these embodiments pertain having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. For example, the techniques discussed herein involving impression for promotions can be easily be extended to other contexts where impressions of goods, services, and/or experiences may be offered to consumers. In another example, the embodiments discussed herein with respect to the email communication channel may also be extended to other communication channels, such as mobile alerts, application alerts, text messages, social networking system alerts and/or messages webpages, and other suitable communication channels where consumers receive advertisements with leading messages. In yet another example, the techniques discussed herein for providing effective leading messages may also be applied to other areas where consumer behavior can be affected by the content of a promotional message, such as titles, names, and/or descriptions of items (e.g., videos, photos or micro-blogs) that may cause a consumer to access, buy, and/or view the items. Therefore, it is to be understood that embodiments and implementations are not to be limited to the specific example embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.