1. Technical Field
The present disclosure relates to electronic content delivery and more specifically to intelligent targeting of invitational content to a user based on time-of-day and day-of-week considerations.
2. Introduction
Targeted content delivery has long been an accepted means of conveying a desired message to an audience. Instead of creating a single message and delivering it to every member of the general public, content providers attempt to identify a particular segment of the population that is likely to have the greatest interest in their message. Many factors can go into identifying the right segment of the population, but prior art techniques are mostly evolved from traditional broadcast content targeting, which ignores many forms of available data, or doesn't process available data quickly enough to use the data to identify the right segment of the population.
More recently electronic content delivery systems have been employed to deliver content to electronic devices. While these systems are using more of the available data than traditional content targeting systems, how this additional information can be used is still a work in progress.
Additional features and advantages of the disclosure will be set forth in the description which follows, and in part will be obvious from the description, or can be learned by practice of the herein disclosed principles. The features and advantages of the disclosure can be realized and obtained by means of the instruments and combinations particularly pointed out in the appended claims. These and other features of the disclosure will become more fully apparent from the following description and appended claims, or can be learned by the practice of the principles set forth herein.
The present technology relates to delivery of electronic content based on temporal considerations. In some embodiments, a day can be divided into one or more dayparts that are correlated to variations in the frequency of user interaction with the invitational content. The invitational content can then be associated with the dayparts for which the system has identified as being correlated to a higher frequency of conversion so that the items of invitational content can be prioritized for presentation to users during the same daypart on future occasions.
Such prioritization of content based on daypart allows content to be delivered that is most likely to receive user attention and interest. Content related to work is likely to receive the most interest during work. Content related to grocery shopping is likely to receive the most interest on the weekends when a user is most likely to grocery shop. Entertainment content is most likely to be of interest on days and times when the user is interested in entertainment. Accordingly, the system can monitor the performance of content to determine when the content is of most interest to the users of the system.
In a related fashion, some users may exhibit a predisposition for interacting with content during certain dayparts. Perhaps the user commutes on public transportation and accordingly has free time to view content. Perhaps the user is a student who only has free time in the evenings. Such propensities can be discovered by analyzing data associated with a user's interaction with invitational content. Pattern recognition software or other analytical algorithms can be used for this purpose.
Likewise data related to interaction with more than one item of invitational content, such as a group of content associated with a segment of the user population, can be analyzed to discover when a particular segment is temporally most relevant.
Using the foregoing methods and systems, invitational content can be served to a user taking into account temporal considerations. By using temporal considerations, such as dayparts having a relationship to the content, the segment or the user, the content delivery system can better associate content to users to increase the relevance of the content to the user, to increase the user's interest in the content, and to increase the performance of the content delivery system as judged by the meeting of system objectives, among other benefits.
In order to describe the manner in which the above-recited and other advantages and features of the disclosure can be obtained, a more particular description of the principles briefly described above will be rendered by reference to specific embodiments thereof which are illustrated in the appended drawings. Understanding that these drawings depict only exemplary embodiments of the disclosure and are not therefore to be considered to be limiting of its scope, the principles herein are described and explained with additional specificity and detail through the use of the accompanying drawings in which:
Various embodiments of the disclosure are discussed in detail below. While specific implementations are discussed, it should be understood that this is done for illustration purposes only. A person skilled in the relevant art will recognize that other components and configurations may be used without parting from the spirit and scope of the disclosure. The present disclosure addresses the need in the art for improved methods of selecting targeted content presented to a user based on characteristics descriptive of the user and/or the user's interaction with one or more items of targeted content.
The presently disclosed system and method is particularly useful for matching targeted content with a user in a manner that leads to a higher probability of conversion into an action or interaction. An exemplary system configuration 100 is illustrated in
In system 100, invitational content is delivered to user terminals 1021 . . . 102n (collectively “102”) connected to a network 104 by direct and/or indirect communications with a content delivery system 106. In particular, the content delivery system 106 receives a request for a content package of electronic-invitational content, such as a web page, an application, a game, or media, etc., from one of user terminals 102. In the various embodiments, one or more types of invitational content can be combined in a content package. The invitational content can include text, graphics, audio, video, executable code or any combination thereof. In some embodiments, the invitational content can be associated with a product or can directly or indirectly advertise a product. In some embodiments, the content package can be configured to replace or update invitational content in a content package already delivered to the user terminal.
Further, the invitational content can be active invitational content. That is, invitational content that is designed to primarily elicit a pre-defined response from the user. For example, active invitational content can include one or more types of advertisements configured to be clicked upon, solicit information, or be converted by the user into a further action, such as a purchase or download of the advertised item. However, invitational content can also include passive invitational content. That is, invitational content that is designed to primarily inform the user. In some cases, passive invitational content can include information that can lead or direct users to active invitational content. Additionally, the invitational content can be dynamic invitational content. That is, invitational content that varies over time or that varies based on user interaction with the invitational content. However, the various embodiments are not limited in this regard and the invitational content can be static invitational content that does not vary over time or that varies based on user interaction. In the various embodiments, an invitational content in a content package can be static or dynamic and active or passive. Further, various types of invitational content can be combined in a same content package.
After receiving the request for invitational content, the content delivery system 106 selects the invitational content in response to the request and transmits the assembled invitational content to the requesting one of user terminals 102. In some embodiments, the server has preselected the invitational content before the request is received. Thereafter, the server assembles a content package of invitational content and causes the content package to be delivered to the user. The content delivery system can include a communications interface 107 to facilitate communications with the user terminals 102 and any other components familiar to those of ordinary skill in the art.
The content delivery system 106 includes a content management module 108 that facilitates generation of the assembled content package, which can include invitational content. Specifically, the content management module can combine content from one or more primary content providers 1091 . . . 109n (collectively “109”) and content from one or more secondary content providers 1101 . . . 110n (collectively “110”) to generate the assembled content package for the user terminals 102. For example, in the case of a web page being delivered to a requesting one of user terminals 102, the content management module 108 can assemble a content package by requesting the data for the web page from one of the primary content providers 109 maintaining the web page. For the invitational content on the web page provided by the secondary content providers 110, the content management module 108 can request the appropriate data according to the arrangement between the primary and secondary content providers 109 and 110.
Although, primary and secondary providers 109 and 110 are presented herein as separate entities, this is for illustrative purposes only. In some cases, the primary and secondary providers 109 and 110 can be the same entity. Thus, a single entity can define and provide both the primary and the secondary content.
Although the content management module 108 can be configured to request that content be sent directly from content providers 109 and 110, a cached arrangement can also be used to improve performance of the content delivery system 106 and improve overall user experience. That is, the content delivery system 106 can include a content database 112 for locally storing/caching content maintained by content providers 109 and 110. The data in the content database 112 can be refreshed or updated on a regular basis to ensure that the content in the database 112 is up to date at the time of a request from a user terminal. However, in some cases, the content management module 108 can be configured to retrieve content directly from content providers 109 and 110 if the metadata associated with the data in content database 112 appears to be outdated or corrupted.
In the various embodiments, the content delivery system 106 can also include a unique user identifier (UUID) database 116 that can be used for managing sessions with the various user terminal devices 102. The UUID database 116 can be used with a variety of session management techniques. For example, the content delivery system 106 can implement an HTTP cookie or any other conventional session management method (e.g., IP address tracking, URL query strings, hidden form fields, window name tracking, authentication methods, and local shared objects) for user terminals 102 connected to content delivery system 106 via a substantially persistent network session. However, other methods can be used as well. For example, in the case of handheld communications devices, e.g. mobile phones, smart phones, tablets, or other types of user terminals connecting using multiple or non-persistent network sessions, multiple requests for content from such devices may be assigned to a same entry in the UUID database 116. The delivery system 106 can analyze the attributes of requesting devices to determine whether such requests can be attributed to the same device. Such attributes can include device or group-specific attributes.
As described above, content maintained by the content providers 109 and 110 can be combined according to a predefined arrangement between the two content providers, which can be embodied as a set of rules. In an arrangement where the content delivery system assembles the content package from multiple content providers, these rules can be stored in a rules database 118 in content delivery system 106. The content management module 108 can be configured to assemble the content package for user terminals 102 based on these rules. The rules specify how to select content from secondary content providers 110 and primary content providers 109 in response to a request from one of user terminals 102. For example, in the case of a web page maintained by one of primary content providers 109 and including variable advertisement portions, the rules database 118 can specify rules for selecting one of the secondary providers 110. The rules can also specify how to select specific content from the selected one of secondary providers 110 to be combined with the content provided by one of primary providers 109. Once assembled, the assembled content package can be sent to a requesting one of user terminals 102. However, the content package is not limited to the content from content providers 109 and 110. Rather, the content package can include other data generated at the content delivery system 106.
One concern with the arrangement typically entered into by secondary content providers 110 is that they can result in invitational content of little or no interest being presented to users. As a result, even though a desired number of impressions can be achieved, the rate of response to such invitational content may be low and/or the resulting targeted audience may be incorrect or suboptimal. Additionally, in most content delivery environments, such as that of system 100, the number and type of providers 109 and 110 are generally not static. For example, the number of primary content providers 109 and the amount and type of space they provide for secondary content providers 110 can vary over time. Further, the number of secondary content providers 110 can vary over time, as well as the amount and types of space they require from primary content providers 109. Further, the types of users and user terminals of interest to the secondary content providers 110 can also vary over time. As a result, selecting optimal invitational content to present to a user can quickly become complicated in such a dynamic environment.
The various embodiments disclosed herein provide systems and methods for intelligently targeting invitational content to a user based one or more factors including user characteristics, user contexts, content metadata, content context, spatial information, temporal information, etc.
As used herein, the term “user characteristics” refers to the characteristics of a particular user associated with one or more of user terminals 102. User characteristics can include channel characteristics, demographic characteristics, behavioral characteristics, spatial characteristics, and temporal characteristics. Channel characteristics can define the specific delivery channel being used to deliver a content package to a user. For example, channel characteristics can include a type of electronic content, a type of device or user terminal, a carrier or network provider, or any other characteristic that defines a specific delivery channel for the content package. Spatial or temporal characteristics can define a location, a date, a time, or any other characteristic that defines a geographic location and/or a time for delivery of the content package. Demographic characteristics can define characteristics of the users targeted by the content or associated with the content. For example, demographic characteristics can include age, income, ethnicity, gender, occupation, or any other user characteristics. Behavioral characteristics can define user behaviors for one or more different types of content, separately or in combination with any other user characteristics. That is, different behavioral characteristics may be associated with different channel, demographic, spatial or temporal characteristics. User characteristics can also include characteristics descriptive of a user's state of mind including characteristics indicative of how likely a user is to click on or convert an item of invitational content if it were displayed to the user.
As used herein the term “user context” refers to data about a particular user that provides context to the current state of the user. In some instances “user contexts” can overlap with or be included within “user characteristics,” but “user contexts,” in general provide a current state perspective of a user to provide context to “user characteristics”. For example, a user's current location, even when considered generally, can be informative that the user's present context is associated with being near the user's home, or conversely being on travel away from home. Other contextual data can include, time of day, inferred state of mind (such as an inferred present interest in a particular type of content), etc. “User context” can be used to inform an analysis of “user characteristics” to provide more serious consideration, or higher ranking, or focus on one or more of the “user characteristics.”
Similarly, content too can have related characteristics and contexts. Content characteristics can include information or metadata about the content regarding its topic, type, target audience, and data regarding user interaction with the content, as examples. Content context can include information or metadata about the content related to the circumstances in which the content was displayed to a user or the circumstances in which the content was interacted with by a user. For example, content context about a user's interaction with an item of secondary content displayed within an item of primary content in which the contextual data includes the topic of the primary content, the time of day, the color of the primary content, the color of the secondary content, and/or the type and nature of the interactions with the secondary content by the user. Just as with the user context, the content context can inform an analysis of the secondary content's characteristics.
User characteristics, contexts and content characteristics and content can be learned directly or derived indirectly from a variety of sources. For example, the graph 200 in
Referring back to
The user-profile database 120 can be updated using a user-profile-updater module 122. In some embodiments, the user-profile-updater module 122 can be configured to add additional profile data, update profile data, fill in missing profile data, or derive uncertain user characteristic values from trusted data.
The updater module 122 can also be configured to maintain the profile database 120 to include only more recently acquired data or to re-derive any uncertain characteristics in order to ensure that the user profile is an accurate reflection of the current state of the user (location, state of mind, behaviors, demographics, etc. can change rapidly). For example, the updater module 122 can be configured to maintain the profile database 120 to include only data from the last two to three months. However, the updater module 122 can be configured to adjust the data in profile database 120 to cover any span of time. In some instances, the updater module 122 can update the profile database 120 in real-time. In some instances, the updater module 122 can update the profile database 120 at least every week, or every day. In some cases, the delivery system 106 can receive a direct request to update one or more user profiles. The update request can come directly from the user's device or any other device capable of communicating with the delivery system 106, such as other content delivery networks or websites. In some cases, the delivery system 106 can receive an indirect request to update one or more user profiles. An indirect request can be the result of receiving new user characteristic values. An update request can occur at any time.
In some embodiments, the content delivery system 106 can include a segment database 114 that is used to aid in selecting invitational content to target to users. The segment database 114 stores defined segments and associations between the segments and users and/or invitational content that should be targeted to users associated with the segments. A targeted segment can be defined based on one or more user characteristics or derivatives thereof and can be associated with one or more items of invitational content. Additionally, a targeted segment can be associated with one or more users. In some embodiments, by associating a targeted segment with both a user and an item of invitational content, the delivery system can match invitational content with users. In some embodiments, the delivery system 106 can update the segment database 114 to add newly defined targeted segments or to delete targeted segments.
In some cases, a targeted segment can be as simple as a single user characteristic identifier and a single user characteristic value. For example, the common demographic identifiers of gender, age, ethnicity, or income can each be used in defining corresponding targeted segments. A characteristic value can also be assigned to the identifier. For example, the values of male, 19, Indian, and $20,000-$30,000 can be assigned to the user characteristics of gender, age, ethnicity, and income, respectively. A user characteristic value associated with a user characteristic can be a single value, multiple values, a range of values, or any combination thereof. A user characteristic value can also be a wildcard value, which indicates that any value is an acceptable match for the user characteristic.
More complex targeted segments can also be defined that consist of one or more identifiers with one or more values associated with each identifier. For example, a targeted segment can be defined to target a user with the following characteristics: gender, male; age, 19-24; location, Northern California but not San Francisco. Targeted segments can also be defined based on spatial-temporal characteristics. For example, a segment can be defined as a bounded region associated with a landmark in the landmark database or a particular location and time. Additional exemplary segments are described throughout this disclosure. Furthermore, targeted segments can correspond to one or more segments that content providers are likely to easily understand and thus can quickly identify as being relevant to their content.
In some embodiments, the content delivery system 106 can provide a segment assigner module 124. The segment assigner module 124 can apply a set of user characteristics associated with a user (including segments to which a user has been previously assigned) to assign the user to one or more targeted segments. The assigner module 124 can obtain the set of user characteristic values from the user profile database 120 and/or from the user's activities during the current session. The assigner module 124 can assign a user to one or more defined targeted segments in the segment database 114, or alternatively, the user can be assigned to a custom targeted segment defined to meet specific goals of a content provider.
Based on the assigned segments, the user profile database 120 can be updated to reflect the segment assignments. Additionally, the delivery system 106 can use the segment assignments to select targeted content by looking up the assigned segment in the segment database 114 to obtain candidate targeted content associated with the segment. In some cases, the user profile data in the user profile database 120 can change over time so the assigner module 124 can be configured to periodically update the segment assignments in the user profile database 120. The segment assignment update can be triggered at specified intervals, upon detection of a change in the user profile database 120, and/or upon detection of a specified activity in the delivery system 106.
In some embodiments, the content delivery system 106 can provide a segment-prioritizing module 128 for ordering and re-ordering the targeted segments assigned to a user. The prioritization can be influenced by a number of factors, which include the user's context (state of mind of a user with respect to interest in certain types of content, subject matter of content, progress along a conversion continuum, location, etc.), a content provider's campaign goals, and/or content that is currently available for display to the user. A request to prioritize the targeted segments can be made explicitly or implicitly by any component in the system 100. For example, a secondary content provider 110 can explicitly request that the content delivery system 106 prioritize the targeted segments or the request can be implicit as part of a request for an assembled content package. The resulting prioritized list can be provided, for example, to the content management module 108, which can then use the information to assemble and deliver a content package. Additionally, the prioritized list can be stored, for example in the user profile, for later use.
Once the content management module 108 selects content to be delivered and serves the content to the user, the content delivery system 106 can keep a content usage history database 119 regarding the performance of the delivered content. The content usage history database 119 stores information regarding whether the user interacted with the content (click, conversion, or some other interaction, etc.); it stores contextual information describing the primary content with which the served invitational content was presented; and it stores temporal information describing the time of day or day of week when a user interacted with the content. In short the content usage history database 119 can store any information that is useful in evaluating or understanding the performance (in terms of inviting the desired interaction) of the served content.
Likewise, the content delivery system 106 can also keep track of the circumstances or context around a user's interaction with an item of content served to that user. Such information can be stored in the user profile database 120. For example, relevant information that can be recorded in the user profile database includes: the expected demographic for the content, time of day or day of week the interaction took place, topic of the content, type of content, background color of the invitational content, background color of the primary content, actions that led up to the interaction, etc. In short, any information that is relevant to understanding or evaluating the circumstances leading the user to interact with the content can be recorded in the user profile database 120.
The content delivery system can include one or more modules such as modules employing classification algorithms, machine-learning algorithms, or pattern recognition modules for analyzing the data stored in one or more of the system's databases. In addition to the segment-assigner module 124 and segment-prioritizing module 128, both discussed above, daypart optimization module 126 can be considered among such modules. The daypart optimization module 126 analyzes data, particularly data in the content usage history database 119 and the user profile database 120 to optimize content delivery based on time of day. For example, the daypart optimization module 126 might determine that an item of invitational content performs best during an identified daypart or it might determine that a specific user is more likely to interact with invitational content during an identified daypart. The content management module 108 can use such conclusions to determine the best item of invitational content to serve to a user.
For example, in the instance that the daypart optimization module 126 determines than a specific item of invitational content is more likely to be interacted with on weekday mornings (an identified daypart), the content management module 108 can serve the item of invitational content more often on weekday mornings because the invitational content performs best in this daypart.
In another example, in the instance that a particular user is more likely to interact with invitational content during commuting hours, the content management module might use this information to improve system performance according other system priorities. For example, campaign manager 130 monitors the performance of individual items of invitational content to ensure that content provider campaign goals are being met for each item of invitational content. In some instances, when the campaign manager 130 determines that an item of invitational content is not meeting its campaign goals the segment prioritizing module 128 might prioritize segments associated with the item of invitational content to ensure that the item of invitational content is served to more users. Likewise, the content management module 108 can also prioritize an item of invitational content by serving the item of invitational content to a user during a daypart for which the user is known to be most likely to interact with the invitational content.
In summary, the content delivery system works to match content to users that are most likely to be interested enough in the content to watch or interact with the content. To accomplish this task, the content delivery system collects data and performs many types of analysis on the data to identify patterns and classifications, which are useful in matching content to users. Further, the content delivery system 106 continues to elevate its performance by continuously learning about the content it is distributing and the users it serves and using this refined information to make better-informed decisions for optimizing serving the most relevant content to the users' devices requesting the content.
In the various embodiments, the one or more databases described herein can be implemented using any type of data structures. Such data structures include, but are not limited to, data structures for relational databases, key/value stores, graph databases, hierarchical databases, and distributed or columnar stores. Accordingly, although the various embodiments described herein may refer to specific data structures, in other embodiments, such data structures can be substituted for any other type of data structure.
As described above, one aspect of the present technology is the gathering and use of data available from various sources to improve the delivery of advertisements or any other content that may be of interest to users. The present disclosure contemplates that in some instances, this gathered data may include personal information data that uniquely identifies or can be used to contact or locate a specific person. Such personal information data can include demographic data, location-based data, telephone numbers, email addresses, social media ID's such as TWITTER IDs, home addresses, or any other identifying information.
The present disclosure recognizes that the use of such personal information data in the present technology can be used to the benefit of users. For example, the personal information data can be used to better understand user behavior, facilitate and measure the effectiveness of advertisements, applications, and delivered content. Accordingly, use of such personal information data enables calculated control of the delivered content. For example, the system can reduce the number of times a user receives a given ad or other content and can thereby select and deliver content that is more meaningful to users. Such changes in system behavior improve the user experience. Further, other uses for personal information data that benefit the user are also contemplated by the present disclosure.
The present disclosure further contemplates that the entities responsible for the collection, analysis, disclosure, transfer, storage, or other use of such personal information data should implement and consistently use privacy policies and practices that that are generally recognized as meeting or exceeding industry or governmental requirements for maintaining personal information data private and secure. For example, personal information from users should be collected for legitimate and reasonable uses of the entity and not shared or sold outside of those legitimate uses. Further, such collection should occur only after the informed consent of the users. Additionally, such entities would take any needed steps for safeguarding and securing access to such personal information data and ensuring that others with access to the personal information data adhere to their privacy and security policies and procedures. Further, such entities can subject themselves to evaluation by third parties to certify their adherence to widely accepted privacy policies and practices.
Despite the foregoing, the present disclosure also contemplates embodiments in which users selectively block the use of, or access to, personal information data. That is, the present disclosure contemplates that hardware and/or software elements can be provided to prevent or block access to such personal information data. For example, in the case of advertisement delivery services, the present technology can be configured to allow users to select to “opt in” or “opt out” of participation in the collection of personal information data during registration for services. In another example, users can select not to provide location information for advertisement delivery services. In yet another example, users can configure their devices or user terminals to prevent storage or use of cookies and other mechanisms from which personal information data can be discerned. The present disclosure also contemplates that other methods or technologies may exist for blocking access to their personal information data.
Therefore, although the present disclosure broadly covers use of personal information data to implement one or more various disclosed embodiments, the present disclosure also contemplates that the various embodiments can also be implemented without the need for accessing such personal information data. That is, the various embodiments of the present technology are not rendered inoperable due to the lack of all or a portion of such personal information data. For example, content can be selected and delivered to users by inferring preferences based on non-personal information data or a bare minimum amount of personal information, such as the content being requested by the device associated with a user, other non-personal information available to the content delivery services, or publicly available information.
The information gathered about a user, whether public or private can be used directly or indirectly to create the UUID database 116. In many of the embodiments discussed herein, a user is first identified in the UUID database 116 to retrieve, update or write data associated with the user in the UUID database 116.
Identification of the same user in the UUID database can be performed in a variety of ways and the methods employed to identify the user can vary depending on the user's connection type. In one example of identifying a user in the UUID database 116, when the delivery system 106 receives a request for a content package, the request can include some identifying information associated with the requesting user terminal or the associated user. This information can then be correlated to an entry in the UUID database 116 to retrieve an identity of the user. In other configurations, the delivery system 106 can analyze the attributes of the requesting device to determine whether such requests can be attributed to a same device. In some embodiments, a user's behavior in visiting the same content channels can be used to identify the user. Of course combinations of the methods for identifying a user on one or more connection types can be used.
As mentioned above a set of user characteristic values can also be associated with a user in the UUID database 116. In some embodiments, the set of user characteristic values are descriptive of the user. For example, the characteristic values could be demographic characteristics, such as gender, age, ethnicity, and/or income. In some embodiments, the set of user characteristic values are descriptive of the user's interaction with one or more items of content within a network of targeted content delivery channels. For example, the characteristic values can include details of the user's conversion history with respect to previously presented invitational content. The conversion history can be limited to whether or not the user converted or could be more detailed to include where on the conversion continuum the user abandoned the process, details about the invitational content presented, and/or where or when the invitational content was presented. The collected values can further include the channel, the device the user was using, the time of day, and/or day of week. In general, the values can be descriptive of any characteristics associated with the user and the user's actions such as channel, demographic, behavioral, spatial and/or temporal characteristics. The more extensive the data set the more effective the targeting.
As introduced above, the daypart optimization module 126 can perform an analysis of one or more databases within the content delivery system 106 to determine that certain items of invitational content are more likely to be interacted with during identified dayparts. Likewise, some users might also be more likely to interact with content during identified dayparts.
Dayparts can be any identified period of time during a day. Dayparts can even be a specific day of a week or a period within a day of the week. In short, a daypart can be any period of time, regardless of how classified as a day, within a day, or range of days. For example,
The illustrated divisions of dayparts should not be considered exclusive. The dayparts illustrated in 302, 304, 306, 308 and 310 can all be used by the system. Different dayparts might apply to different content or different users, or some content and some users can be assigned to multiple overlapping dayparts. For example, a person or content that is associated with morning conversions could be associated with each category dawn, morning, breakfast, morning commute, morning coffee—as applicable to a given user or invitational content. Other dayparts can also be used as their relevance in serving content is identified.
While not separately illustrated, a daypart can also be a specific day of the week. For example, invitational content might be interacted with more often on Wednesday and Thursdays because people are typically less motivated on those days of the week. The days themselves can be dayparts or the individual days can have dayparts tailored to the unique attributes of the specific day.
In some embodiments, the daypart optimization module can also attempt to predict which dayparts an item of invitational content will become associated with before the system has enough data on that item to associate the item with a daypart based on historical performance. In such embodiments, the content delivery system can identify a new item of invitational content as similar to an existing item of invitational content and predict its performance based on the similarities between the items of invitational content.
Likewise, a categorizing algorithm can also be used to associate items of invitational content having a particular topic or other characteristics with a daypart. For example, items of invitational content having morning related themes, or associated with morning related content such as coffee, breakfast, etc. can be associated with dayparts covering morning hours without reviewing historical performance of the invitational content.
In some embodiments, segments can also be associated with dayparts (808). Since both content and users are associated with segments, an analysis of performance of the content associated with the segment or the user profiles of the users associated with the segment can be used to identify and assign a relationship of the segment to the daypart. Such analysis can be performed in a similar fashion as described above for an item of content or a single user, but looking at a larger dataset when examining segments.
In addition, other system priorities or information can also be taken into account by the content management module. For example, one priority is to increase the general efficacy of the system in successfully inviting user interaction with the served content. At 908, the system can identify relevant dayparts. The dayparts are relevant because they correspond to time periods overlapping with the time of the request for content. The content management module can determine if any of the top candidates for serving to the user is associated with the relevant daypart at 910. If the content management module identifies a candidate associated with one of the relevant dayparts, it can move that candidate up the order at 912 and serve the top candidate to the user's device to fulfill the request at 914. If there is not a candidate associated with the relevant daypart, the system can proceed to 914 and serve the top candidate based on other system priorities, such as a segment priority order.
System priorities can include a preference for one segment over other segments, or they can include a prioritization of a particular campaign associated with an item of invitational content. Since the user has a known predisposition to be more likely to interact with content that is served to him during the relevant daypart, the user can be considered a useful asset in meeting system goals. For example, if a content provider provided content with the expectation that at least certain number of users would interact with the content, the content delivery system strives to fulfill that expectation. Thus, if an item of invitational content is under performing due to competing system priorities or just unappealing content, the content management module can select the item of invitational content as a top candidate and serve it to the user to improve the performance of the campaign.
Other priorities include a general system priority to result in having a user interact with as much content as possible, which necessarily requires serving well-targeted content. Selecting content that is highly aligned with the user's interest, during relevant dayparts, is aligned with the system's priorities of keeping the user interested in content being served by the system.
Other priorities can include campaign goals of focusing on users during dayparts when they are known to have a predisposition towards interacting with content. To the extent that the content delivery system is associated with a business, the content delivery system can charge extra for prioritizing certain content to these high value users.
In any event, the content management module can identify content based on system priorities and serve a top candidate to a user based in part on the user's known predisposition towards interacting with content during the relevant daypart.
If at 1008 the user is not found to be associated with any relevant daypart, the content management module can serve content (1014) based on identified segments and their prioritization (1012) as addressed above.
Using the foregoing methods and systems, invitational content can be served to a user taking into account temporal considerations. By using temporal considerations, such as dayparts having a relationship to the content or the user, the content delivery system can better associate content to users to increase the relevance of the content to the user, to increase the user's interest in the content, and to increase the performance of the content delivery system as judged by the meeting of system objectives, among other benefits.
With reference to
The system bus 1110 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. A basic input/output (BIOS) stored in ROM 1140 or the like, may provide the basic routine that helps to transfer information between elements within the computing device 1100, such as during start-up. The computing device 1100 further includes storage devices 1160 such as a hard disk drive, a magnetic disk drive, an optical disk drive, tape drive or the like. The storage device 1160 can include software modules 1162, 1164, 1166 for controlling the processor 1120. Other hardware or software modules are contemplated. The storage device 1160 is connected to the system bus 1110 by a drive interface. The drives and the associated computer-readable storage media provide nonvolatile storage of computer-readable instructions, data structures, program modules and other data for the computing device 1100. In one aspect, a hardware module that performs a particular function includes the software component stored in a non-transitory computer-readable medium in connection with the necessary hardware components, such as the processor 1120, bus 1110, display 1170, and so forth, to carry out the function. The basic components are known to those of skill in the art and appropriate variations are contemplated depending on the type of device, such as whether the device 1100 is a small, handheld computing device, a desktop computer, or a computer server.
Although the exemplary embodiment described herein employs the hard disk 1160, it should be appreciated by those skilled in the art that other types of computer-readable media which can store data that are accessible by a computer, such as magnetic cassettes, flash memory cards, digital versatile disks, cartridges, random access memories (RAMs) 1150, read only memory (ROM) 1140, a cable or wireless signal containing a bit stream and the like, may also be used in the exemplary operating environment. Non-transitory computer-readable storage media expressly exclude media such as energy, carrier signals, electromagnetic waves, and signals per se.
To enable user interaction with the computing device 1100, an input device 1190 represents any number of input mechanisms, such as a microphone for speech, a touch-sensitive screen for gesture or graphical input, keyboard, mouse, motion input, speech and so forth. An output device 1170 can also be one or more of a number of output mechanisms known to those of skill in the art. In some instances, multimodal systems enable a user to provide multiple types of input to communicate with the computing device 1100. The communications interface 1180 generally governs and manages the user input and system output. There is no restriction on operating on any particular hardware arrangement and therefore the basic features here may easily be substituted for improved hardware or firmware arrangements as they are developed.
For clarity of explanation, the illustrative system embodiment is presented as including individual functional blocks including functional blocks labeled as a “processor” or processor 1120. The functions these blocks represent may be provided through the use of either shared or dedicated hardware, including, but not limited to, hardware capable of executing software and hardware, such as a processor 1120, that is purpose-built to operate as an equivalent to software executing on a general purpose processor. For example the functions of one or more processors presented in
The logical operations of the various embodiments are implemented as: (1) a sequence of computer implemented steps, operations, or procedures running on a programmable circuit within a general use computer; (2) a sequence of computer implemented steps, operations, or procedures running on a specific-use programmable circuit; and/or (3) interconnected machine modules or program engines within the programmable circuits. The system 1100 shown in
Embodiments within the scope of the present disclosure may also include tangible and/or non-transitory computer-readable storage media for carrying or having computer-executable instructions or data structures stored thereon. Such non-transitory computer-readable storage media can be any available media that can be accessed by a general purpose or special purpose computer, including the functional design of any special purpose processor as discussed above. By way of example, and not limitation, such non-transitory computer-readable media can include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to carry or store desired program code means in the form of computer-executable instructions, data structures, or processor chip design. When information is transferred or provided over a network or another communications connection (either hardwired, wireless, or combination thereof) to a computer, the computer properly views the connection as a computer-readable medium. Thus, any such connection is properly termed a computer-readable medium. Combinations of the above should also be included within the scope of the computer-readable media.
Computer-executable instructions include, for example, instructions and data which cause a general purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions. Computer-executable instructions also include program modules that are executed by computers in stand-alone or network environments. Generally, program modules include routines, programs, components, data structures, objects, and the functions inherent in the design of special-purpose processors, etc. that perform particular tasks or implement particular abstract data types. Computer-executable instructions, associated data structures, and program modules represent examples of the program code means for executing steps of the methods disclosed herein. The particular sequence of such executable instructions or associated data structures represents examples of corresponding acts for implementing the functions described in such steps.
Those of skill in the art will appreciate that other embodiments of the disclosure may be practiced in network computing environments with many types of computer system configurations, including personal computers, hand-held devices, multi-processor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like. Embodiments may also be practiced in distributed computing environments where tasks are performed by local and remote processing devices that are linked (either by hardwired links, wireless links, or by a combination thereof) through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.
The various embodiments described above are provided by way of illustration only and should not be construed to limit the scope of the disclosure. Those skilled in the art will readily recognize various modifications and changes that may be made to the principles described herein without following the example embodiments and applications illustrated and described herein, and without departing from the spirit and scope of the disclosure.