SYSTEMS AND METHODS FOR OPTIMIZING DATA DRIVEN MEDIA PLACEMENT
System and methods are presented for selecting advertising slots in an advertising campaign with an audience management system. In some embodiments, a user selects a budget value, which is partitioned into a first and second partition value. The audience management module stores a plurality of data structures in a memory, and defines a plurality of groups such that each of the plurality of data structures is associated with one of the plurality of groups. A portion of the first partition value is allocated to each of the plurality of groups, and the audience management module flags, for each group, at least one data structure based on the portion of the first partition value allocated to the group. The audience management module identifies a subset of unflagged data structures, and flags at least one data structure based on the second partition value.
Latest United Video Properties, Inc. Patents:
- METHODS AND SYSTEMS FOR ALERTING USERS REGARDING MEDIA AVAILABILITY
- METHODS AND SYSTEMS FOR MODIFYING PARENTAL CONTROL PREFERENCES BASED ON BIOMETRIC STATES OF A PARENT
- SYSTEMS AND METHODS FOR USING WEARABLE TECHNOLOGY FOR BIOMETRIC-BASED RECOMMENDATIONS
- SYSTEMS AND METHODS FOR UPDATING MEDIA ASSET DATA BASED ON PAUSE POINT IN THE MEDIA ASSET
- METHODS AND SYSTEMS FOR PROVIDING PURCHASING OPPORTUNITIES BASED ON LOCATION-SPECIFIC BIOMETRIC DATA
This application claims the benefit of priority of U.S. Provisional Patent Application No. 61/750,809, filed Jan. 10, 2013, which is hereby incorporated by reference herein in its entirety.
BACKGROUNDThe placement of advertisements and promotions have traditionally relied on extrapolation of a small data panel of viewing behavior and other demographic information from research companies, such as the Nielsen Company, to inform these placements. These panels are limited to robustly measuring the exposure of fairly wide, mostly demographically-based audience targets, such as “women age 25-54”, and reporting is generally limited to an aggregate metric for each program aired or the commercial minutes aired within a program.
Planning and placing TV advertising using these metrics alone, however, introduces significant inefficiencies into the placement process. In general, advertisers have a narrower, more specific target than the wide demographic measure produced by data panels. For example, a health cereal manufacturer may be more interested in reaching “women who are health conscious shoppers” instead of “women age 25-54”, but present systems are unable to distinguish between these two groups, or at least narrow the scope of the broader demographic. In addition, advertisers establish reach and frequency targets for their advertising campaigns, but current metrics and systems are unable to distinguish which viewers the advertisements are being delivered to in each advertising placement, and thus many spot placements are simply wasted by exposing viewers who have already seen the advertisement many times while other viewers, who are part of the target, go unexposed. Such methods further lack comprehensive placement and optimization algorithms to help advertisers choose available advertising slots to more effectively reach their target audiences.
SUMMARYThese and other objects are accomplished in accordance with the principles of the present invention by providing an interface for developing and optimizing a media placement plan for an advertising campaign.
In some embodiments, an audience management system allows a user to select advertising slots in an advertising campaign. The audience management system generates a plurality of cells for display in a grid arrangement in at least two dimensions. In some embodiments, a plurality of cells may be generated for display in a three-dimensional arrangement. Each of the plurality of cells is associated with an advertising slot corresponding to a content source, time period, particular program, and/or a type of programming. For example, the content source may be a television channel and the time period may be a time of day for which the advertisement is to be aired. Each of the plurality of cells also includes a representation of an audience of the associated advertising slot. For example, the representation of the audience may be an audience composition, an audience size, a projected number of audience impressions, or any combination thereof.
In some embodiments, the audience management system may identify a first cell, for example, by selecting cells. For example, the audience management system may receive a user selection of a first cell of the plurality of cells. In some embodiments, the audience management system may automatically select cells, for example, in response to running an optimization algorithm. The cells may be selected by the system to show the user which advertising slots are recommended for the media plan. The audience management system may be implemented on a user device as an interactive interface application for which the user can input various selections and choose various functions to perform. The functions may include adding a cell to a media plan, removing a cell from a media plan, retrieving more information related to an associated advertising slot, updating audience-related information contained in the cell, assigning a weight value to the first cell, or any suitable combination thereof. The audience management system may execute a function with respect to a first advertising slot associated with the first cell.
In some embodiments, the user may select a content source or a time period. In response, the audience management system may identify a subset of the plurality of cells corresponding to the selected content source or time period, and the subset may include the first cell. A function is then executed on the subset of cells. For example, the function may update a weight value related to an associated advertising slot of each cell in the subset. The weight value may be user-specified, and may relate to a relative importance of the advertising slots to an advertiser or user of the system such that, should a placement function be executed, the placement function takes the weight value into account when optimizing the media plan.
In some embodiments, the audience management system may implement a placement function to recommend advertising slots for an advertising campaign. For example, the system may receive a user selection of a budget value, which may correspond to a fixed budget for the advertising campaign. The audience management system may then allocate the budget value in one or more ways. For example, the audience management system may partition the budget value into a first partition value and a second partition value. For example, the audience management system may make the first partition value correspond to 70% of the total budget and make the second partition value correspond to 30% of the total budget. In another example, the audience management system may allocate the budget value based by various time periods, content providers, programming types, and/or selected advertising universes.
In some embodiments, the audience management system defines a plurality of data structures for storage in memory, in which each data structure may correspond to a particular advertising slot. The system also defines a plurality of groups, and associates each of the plurality of data structures with one of the plurality of groups. For example, the groups may correspond to days in an advertising campaign, and each of the plurality of data structures may represent an advertising slot for a particular day. The audience management system then allocates a portion of the first partition value to each of the plurality of groups. For example, if the first partition value corresponds to 70% of the total budget, the audience management system may allocate that each day receives a portion of the 70%. In some embodiments, each day will receive an equal allocation of the 70% (e.g. for a seven-day advertising plan, each day receives 10% of the total budget).
In some embodiments, the audience management system flags, for each of the plurality of groups, at least one data structure associated with the group based on the portion of the first partition value allocated to the group. For example, the audience management system may identify a list of advertising slots for a particular day of the week that should be added to the media plan, as long as the list of advertising slots does not exceed the allocated budget for that day. In some embodiments, each data structure associated with a particular group is ranked by the audience management system based on audience-related criteria, including audience composition, audience size, audience index, impressions, user-specified weight, campaign goals and parameters, such as total impressions, budget constraints, inventory restrictions, reach, frequency, or any suitable combination thereof. A plurality of ranked data structures may be identified by the audience management system, in which each of the plurality has the highest rankings of the data structures associated with a particular group. The audience management system may then flag the identified data structures. For example, the audience management system ranks each advertising slot for a particular day, and then purchases the most highly ranked advertising slots until the budget allocated for that day is reached. The audience management system performs this selection for each day in the advertising campaign.
In some embodiments, the audience management system identifies a remainder of data structures within the plurality of data structures that are unflagged regardless of the group that the data structures are associated with. For example, the audience management system will search through all available advertising slots through each day of the advertising campaign to identify advertising slots that were not purchased. The audience management system will then rank each advertising slot based on an audience-related criteria, and purchase the highest ranked advertising slots as long as the second budget portion (e.g. 30% of the total budget) is not exceeded.
In some embodiments, the audience management system allows a user to set prices for individual advertising slots or for pricing tiers of groups of advertising slots. The audience management system defines a plurality of data structures and stores the data structures in a memory. Each data structure is representative of one of a plurality of advertising slots. The audience management system then stores, in each of the plurality of data structures, a price value associated with a respective advertising slot. For example, the audience management system may receive pricing information for advertising slots from various publishers, service providers, and content sources.
In some embodiments, the audience management system receives a user selection of a fixed price value. The fixed price value is then stored as the fixed price value of a first data structure of the plurality of data structures. For example, the user may designate a particular advertising slot to have a fixed price. The audience management system then automatically updates the fixed price value of each of the plurality of data structures without changing the fixed price value of the first data structure. For example, once the price is fixed for a first advertising slot, the audience management system may update the pricing information associated with a remainder of the advertising slots based on a projected demand of each of the remainder of the advertising slots. In some embodiments, the projected demand may be based on the fixed price (e.g. setting a high fixed price may be predicted to increase the demand of “nearby” advertising slots on the same television channel). The audience management system may determine projected demand by analyzing historical inventory data, projected inventory data, current demand, audience estimates, or any suitable combination thereof.
In some embodiments, the audience management system may allow the user to set a fixed price for a pricing tier. Pricing tiers may be used to set the prices of a plurality of advertising slots belonging to a particular group associated with the pricing tier. Once the user sets the fixed price for the pricing tier, the audience management system may update a fixed price value for each of the plurality of pricing tiers without changing the fixed price value of the fixed pricing tier. The audience management system then updates each price value of the plurality of advertising slots based on an updated price value of an associated pricing tier.
The above and other features of the present invention, its nature and various advantages will be more apparent upon consideration of the following detailed description, taken in conjunction with the accompanying drawings, and in which:
Over the course of the last two decades, the amount and variety of large data sets has grown exponentially and will only continue to grow. As additional data has become available, this data has been used to inform media placement on a largely ad hoc basis through the use of research reports to manually place advertisements. The systems and methods described herein relate to a platform that enables optimization of media placement (which may also be referred to as “advertisement placement”, “ad placement”, or “spot ad placement”) through coupling of media activation with audience based analytics and targeting that are now possible with large scale datasets and scaled computing resources.
While TV remains a medium where a single advertising spot is seen by somewhere between a few hundred up to millions of people, a different subset of the population is exposed by each spot ad placement. The systems and methods described herein use granular data to understand the members of this subset and the overlap of each subset with each other, enabling the selection of advertisement and promotional placements that most efficiently meet an advertiser's goals. Moreover, the systems and methods described herein are applicable to other embodiments (e.g. online embodiments) aside form television. The system, referred to herein as an “audience management system”, provides a common platform that can ingest data from multiple sources (e.g. panels, set-tops, SmartTVs, etc.), generate future estimates of delivery for ad inventory using these data sources, and enable the delivery of media weight as measured by one or more of these data sources. The system utilizes an optimization algorithm that serves to optimize the delivery of one or more of these metrics, depending on the user's inputs and selections in building the media plan.
The system provides an inventory owner with the ability to build an optimized media plan based on a specific target for the advertiser. Using targeting segments matched to set-top or other viewership data at a viewer, household, or other viewing group level, the system will assemble an optimized media plan to reach the advertiser's target at the desired frequency, going beyond traditional age/sex demographics which are primarily used to plan and drive ad placement today.
Once an audience media plan has been generated by the system and approved by an advertiser, the system will create linear traffic orders to execute the media plan. As these traffic orders are executed, the system will update placements to ensure that the media plan delivers on the contracted commitments to the advertiser.
The system further enables the inventory owner to evaluate the inventory usage, pricing, and sellout rates for their existing linear business and establish rules which define inventory availability and pricing policies for sales through the system. As referred to herein, the term “inventory” refers to any available medium through which an advertiser can have an advertisement made available to an audience for a period of time (e.g. a television advertisement slot, a billboard, a magazine, or any other suitable medium). The system optimizes the use of inventory across all of the active media plans, enabling a publisher or other inventory owner to sell audience targeting commitments to many advertisers on an optimized basis. For example, the embodiments disclosed herein may also be applied to multiple media plans and advertiser criteria. In such cases, the audience management system may allocate amongst all advertisers in a responsive manner in order to provide user feedback related to recommended media plans. In each embodiment, the audience management system may rank available inventory based on whether it is more suitable for one advertising campaign over another, and may optimize the allocation so as to avoid an unbalanced distribution of inventory among advertisers.
The foregoing will be apparent from the following description of example embodiments and implementations, as illustrated in the accompanying drawings in which like reference characters refer to the same parts throughout the different views. The drawings are illustrative of the systems and methods described herein and are not to be interpreted as limiting.
Using console 114, which can be a web-based console or other interface that enables access to audience management platform 102, users can create an optimized media plan based on an input that can include the advertiser's desired target (typically defined by one or more attributes from a third party data source and/or a viewership or other behavior), impression delivery goals, reach to target audience, budget constraints, and a media plan external to the systems. Once a proposal has been approved by the inventory owner, the advertiser, or user of the system, audience management platform 102 generates traffic orders using traffic order module 112 to process through media traffic system 108 via data path 110. For example, traffic system 108 may be the inventory owner's media traffic system (e.g. the NOVAR system). With multiple advertisers in the system, traffic order module 112 will optimize across advertisers and produce traffic orders that maximize revenue or such other parameters dictated by the system user (e.g., sell out rates, breadth of media plan across multiple networks, etc.). As an advertiser's order is executed and media is placed, the verified results are picked up by the system through the data transfer discussed in regard to sales history source 106. The system will then adjust future order output to complete the contracted audience delivery for the advertiser.
System 100 may receive inputs from a user through console 114 using a suitable interactive interface application, which may take various forms depending on the options provided to a user of console 114. Interactive interface applications may generate graphical user interface screens that enable a user to navigate among, locate, and select various options such inventory selections, weighting values, price setting, and optimization settings used in conjunction with data driven media placement. As referred to herein, the terms “media content” and “media” should be understood to mean an electronically consumable user asset, such as television programming, as well as pay-per-view programs, on-demand programs (as in video-on-demand (VOD) systems), Internet content (e.g., streaming content, downloadable content, Webcasts, etc.), video clips, audio, content information, pictures, rotating images, documents, playlists, websites, articles, books, electronic books, blogs, advertisements, chat sessions, social media, applications, games, and/or any other media or multimedia and/or combination of the same.
The interactive interface applications and/or any instructions for performing any of the embodiments described herein may be encoded on computer readable media. Computer readable media includes any media capable of storing data. The computer readable media may be transitory, including, but not limited to, propagating electrical or electromagnetic signals, or may be non-transitory including, but not limited to, volatile and non-volatile computer memory or storage devices such as a hard disk, floppy disk, USB drive, DVD, CD, media cards, register memory, processor caches, Random Access Memory (“RAM”), etc.
As referred to herein, the phrase “user equipment device,” “user equipment,” “user device,” “electronic device,” “electronic equipment,” “media equipment device,” or “media device” should be understood to mean any device for accessing, viewing, selecting options, or any combination thereof, including, but not limited to, a television, a Smart TV, a set-top box, an integrated receiver decoder (IRD) for handling satellite television, a digital storage device, a digital media receiver (DMR), a digital media adapter (DMA), a streaming media device, a DVD player, a DVD recorder, a connected DVD, a local media server, a BLU-RAY player, a BLU-RAY recorder, a personal computer (PC), a laptop computer, a tablet computer, a WebTV box, a personal computer television (PC/TV), a PC media server, a PC media center, a hand-held computer, a stationary telephone, a personal digital assistant (PDA), a mobile telephone, a portable video player, a portable music player, a portable gaming machine, a smart phone, or any other television equipment, computing equipment, or wireless device, and/or combination of the same. It is to be understood that any of the foregoing devices may be used by an advertiser, inventory owner, publisher, or any user of the audience management system to perform the methods or operate the systems described herein.
In some embodiments, the user equipment device may have a front facing screen and a rear facing screen, multiple front screens, or multiple angled screens. In some embodiments, the user equipment device may have a front facing camera and/or a rear facing camera. The user equipment device may be configured to implement an interactive interface application. The interactive interface application may be provided as on-line applications (i.e., provided on a web-site), or as stand-alone applications or clients on user equipment devices. Various devices and platforms that may implement interactive interface applications are described in more detail below.
Control circuitry 204 may be based on any suitable processing circuitry such as processing circuitry 206. As referred to herein, processing circuitry should be understood to mean circuitry based on one or more microprocessors, microcontrollers, digital signal processors, programmable logic devices, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), etc., and may include a multi-core processor (e.g., dual-core, quad-core, hexa-core, or any suitable number of cores) or supercomputer. Any component described herein that is used in the audience management system (e.g. user television equipment, a PC, a laptop, wireless portable devices, a media content server, a media guidance server, a user profile server, an audience management module, etc.), may have its own control circuitry 204 and processing circuitry 206. In some embodiments, processing circuitry may be distributed across multiple separate processors or processing units, for example, multiple of the same type of processing units (e.g., two Intel Core i7 processors) or multiple different processors (e.g., an Intel Core i5 processor and an Intel Core i7 processor). In some embodiments, control circuitry 204 executes instructions for a interactive interface application stored in memory (i.e., storage 208). Specifically, control circuitry 204 may be instructed by the interactive interface application to perform the functions discussed above and below. For example, the interactive interface application may provide instructions to control circuitry 204 to generate the media guidance displays. In some implementations, any action performed by control circuitry 204 may be based on instructions received from the interactive interface application.
In client-server based embodiments, control circuitry 204 may include communications circuitry suitable for communicating with a guidance application server or other networks or servers. The instructions for carrying out the above mentioned functionality may be stored on the guidance application server.
Communications circuitry may include a cable modem, an integrated services digital network (ISDN) modem, a digital subscriber line (DSL) modem, a telephone modem, Ethernet card, or a wireless modem for communications with other equipment, or any other suitable communications circuitry. Such communications may involve the Internet or any other suitable communications networks or paths (which is described in more detail in connection with
Memory may be an electronic storage device provided as storage 208 that is part of control circuitry 204. As referred to herein, the phrase “electronic storage device” or “storage device” should be understood to mean any device for storing electronic data, computer software, or firmware, such as random-access memory, read-only memory, hard drives, optical drives, digital video disc (DVD) recorders, compact disc (CD) recorders, BLU-RAY disc (BD) recorders, BLU-RAY 3D disc recorders, digital video recorders (DVR, sometimes called a personal video recorder, or PVR), solid state devices, quantum storage devices, gaming consoles, gaming media, or any other suitable fixed or removable storage devices, and/or any combination of the same. Storage 208 may be used to store various types of content described herein as well as media guidance information, described above, and guidance application data, described above. Nonvolatile memory may also be used (e.g., to launch a boot-up routine and other instructions). Cloud-based storage, described in relation to
Control circuitry 204 may include video generating circuitry and tuning circuitry, such as one or more analog tuners, one or more MPEG-2 decoders or other digital decoding circuitry, high-definition tuners, or any other suitable tuning or video circuits or combinations of such circuits. Encoding circuitry (e.g., for converting over-the-air, analog, or digital signals to MPEG signals for storage) may also be provided.
Control circuitry 204 may also include scaler circuitry for upconverting and downconverting content into the preferred output format of the user equipment 200. Circuitry 204 may also include digital-to-analog converter circuitry and analog-to-digital converter circuitry for converting between digital and analog signals. The tuning and encoding circuitry may be used by the user equipment device to receive and to display, to play, or to record content. The tuning and encoding circuitry may also be used to receive guidance data. The circuitry described herein, including for example, the tuning, video generating, encoding, decoding, encrypting, decrypting, scaler, and analog/digital circuitry, may be implemented using software running on one or more general purpose or specialized processors. Multiple tuners may be provided to handle simultaneous tuning functions (e.g., watch and record functions, picture-in-picture (PIP) functions, multiple-tuner recording, etc.). If storage 208 is provided as a separate device from user equipment 200, the tuning and encoding circuitry (including multiple tuners) may be associated with storage 208.
A user may send instructions to control circuitry 204 using user input interface 210. User input interface 210 may be any suitable user interface, such as a remote control, mouse, trackball, keypad, keyboard, touch screen, touchpad, stylus input, joystick, voice recognition interface, or other user input interfaces. Display 212 may be provided as a stand-alone device or integrated with other elements of user equipment device 200. Display 212 may be one or more of a monitor, a television, a liquid crystal display (LCD) for a mobile device, or any other suitable equipment for displaying visual images. In some embodiments, display 212 may be HDTV-capable. In some embodiments, display 212 may be a 3D display, and the interactive interface application and any suitable content may be displayed in 3D. A video card or graphics card may generate the output to the display 212. The video card may offer various functions such as accelerated rendering of 3D scenes and 2D graphics, MPEG-2/MPEG-4 decoding, TV output, or the ability to connect multiple monitors. The video card may be any processing circuitry described above in relation to control circuitry 204. The video card may be integrated with the control circuitry 204. Speakers 214 may be provided as integrated with other elements of user equipment device 200 or may be stand-alone units. The audio component of videos and other content displayed on display 212 may be played through speakers 214. In some embodiments, the audio may be distributed to a receiver (not shown), which processes and outputs the audio via speakers 214.
The guidance application may be implemented using any suitable architecture. For example, it may be a stand-alone application wholly implemented on user equipment device 200. In such an approach, instructions of the application are stored locally, and data for use by the application is downloaded on a periodic basis (e.g., from an out-of-band feed, from an Internet resource, or using another suitable approach). In some embodiments, the interactive interface application is a client-server based application. Data for use by a thick or thin client implemented on user equipment device 200 is retrieved on-demand by issuing requests to a server remote to the user equipment device 200. In one example of a client-server based guidance application, control circuitry 204 runs a web browser that interprets web pages provided by a remote server.
In some embodiments, the interactive interface application is downloaded and interpreted or otherwise run by an interpreter or virtual machine (run by control circuitry 204). In some embodiments, the guidance application may be encoded in the ETV Binary Interchange Format (EBIF), received by control circuitry 204 as part of a suitable feed, and interpreted by a user agent running on control circuitry 204. For example, the guidance application may be an EBIF application. In some embodiments, the guidance application may be defined by a series of JAVA-based files that are received and run by a local virtual machine or other suitable middleware executed by control circuitry 204. In some of such embodiments (e.g., those employing MPEG-2 or other digital media encoding schemes), the guidance application may be, for example, encoded and transmitted in an MPEG-2 object carousel with the MPEG audio and video packets of a program.
A user equipment device utilizing at least some of the system features described above in connection with
In audience management system 300, there is typically more than one of each type of user equipment device but only one of each is shown in
In some embodiments, a user equipment device (e.g., user television equipment 302, user computer equipment 304, wireless user communications device 306) may be referred to as a “second screen device.” For example, a second screen device may supplement content presented on a first user equipment device. The content presented on the second screen device may be any suitable content that supplements the content presented on the first device. In some embodiments, the second screen device provides an interface for adjusting settings and display preferences of the first device. In some embodiments, the second screen device is configured for interacting with other second screen devices or for interacting with a social network. The second screen device can be located in the same room as the first device, a different room from the first device but in the same house or building, or in a different building from the first device.
The user may also set various settings to maintain consistent interactive interface application settings across in-home devices and remote devices. Settings include those described herein, as well as channel and program favorites, programming preferences that the guidance application utilizes to make programming recommendations, display preferences, and other desirable guidance settings. For example, if a user sets a channel as a favorite on, for example, the web site www.allrovi.com on their personal computer at their office, the same channel would appear as a favorite on the user's in-home devices (e.g., user television equipment and user computer equipment) as well as the user's mobile devices, if desired. Therefore, changes made on one user equipment device can change the guidance experience on another user equipment device, regardless of whether they are the same or a different type of user equipment device. In addition, the changes made may be based on settings input by a user, as well as user activity monitored by the guidance application.
The user equipment devices may be coupled to communications network 314. Namely, user television equipment 302, user computer equipment 304, and wireless user communications device 306 are coupled to communications network 314 via communications paths 308, 310, and 312, respectively. Communications network 314 may be one or more networks including the Internet, a mobile phone network, mobile voice or data network (e.g., a 4G or LTE network), cable network, public switched telephone network, or other types of communications network or combinations of communications networks. Paths 308, 310, and 312 may separately or together include one or more communications paths, such as, a satellite path, a fiber-optic path, a cable path, a path that supports Internet communications (e.g., IPTV), free-space connections (e.g., for broadcast or other wireless signals), or any other suitable wired or wireless communications path or combination of such paths.
Path 312 is drawn with dotted lines to indicate that in the exemplary embodiment shown in
Although communications paths are not drawn between user equipment devices, these devices may communicate directly with each other via communication paths, such as those described above in connection with paths 308, 310, and 312, as well as other short-range point-to-point communication paths, such as USB cables, IEEE 1394 cables, wireless paths (e.g., Bluetooth, infrared, IEEE 802-11x, etc.), or other short-range communication via wired or wireless paths. BLUETOOTH is a certification mark owned by Bluetooth SIG, INC. The user equipment devices may also communicate with each other directly through an indirect path via communications network 314.
Audience management system 300 includes content source 316 and media guidance data source 318 coupled to communications network 314 via communication paths 320 and 322, respectively. Paths 320 and 322 may include any of the communication paths described above in connection with paths 308, 310, and 312. Communications with the content source 316 and media guidance data source 318 may be exchanged over one or more communications paths, but are shown as a single path in
If desired, content source 316 and media guidance data source 318 may be integrated as one source device. Although communications between sources 316 and 318 with user equipment devices 302, 304, and 306 are shown as through communications network 314, in some embodiments, sources 316 and 318 may communicate directly with user equipment devices 302, 304, and 306 via communication paths (not shown) such as those described above in connection with paths 308, 310, and 312.
Content source 316 may include one or more types of content distribution equipment including a television distribution facility, cable system headend, satellite distribution facility, programming sources (e.g., television broadcasters, such as NBC, ABC, HBO, etc.), intermediate distribution facilities and/or servers, Internet providers, on-demand media servers, and other content providers. NBC is a trademark owned by the National Broadcasting Company, Inc., ABC is a trademark owned by the American Broadcasting Company, Inc., and HBO is a trademark owned by the Home Box Office, Inc. Content source 316 may be the originator of content (e.g., a television broadcaster, a Webcast provider, etc.) or may not be the originator of content (e.g., an on-demand content provider, an Internet provider of content of broadcast programs for downloading, etc.). Content source 316 may include cable sources, satellite providers, on-demand providers, Internet providers, over-the-top content providers, or other providers of content. Content source 316 may also include a remote media server used to store different types of content (including video content selected by a user), in a location remote from any of the user equipment devices. Systems and methods for remote storage of content, and providing remotely stored content to user equipment are discussed in greater detail in connection with Ellis et al., U.S. Pat. No. 7,761,892, issued Jul. 20, 2010, which is hereby incorporated by reference herein in its entirety.
Media guidance data source 418 may provide media guidance data, such as the media guidance data described above. Interactive interface application data may be provided to the user equipment devices using any suitable approach. In some embodiments, the guidance application may be a stand-alone interactive television program guide that receives program guide data via a data feed (e.g., a continuous feed or trickle feed). Program schedule data and other guidance data may be provided to the user equipment on a television channel sideband, using an in-band digital signal, using an out-of-band digital signal, or by any other suitable data transmission technique. Program schedule data and other media guidance data may be provided to user equipment on multiple analog or digital television channels.
In some embodiments, guidance data from media guidance data source 318 may be provided to users' equipment using a client-server approach. For example, a user equipment device may pull media guidance data from a server, or a server may push media guidance data to a user equipment device. In some embodiments, a guidance application client residing on the user's equipment may initiate sessions with source 318 to obtain guidance data when needed, e.g., when the guidance data is out of date or when the user equipment device receives a request from the user to receive data. Media guidance may be provided to the user equipment with any suitable frequency (e.g., continuously, daily, a user-specified period of time, a system-specified period of time, in response to a request from user equipment, etc.). Media guidance data source 318 may provide user equipment devices 302, 304, and 306 the interactive interface application itself or software updates for the interactive interface application.
User profile information including user settings, user personalization, user preference, and user media content information may be stored on user equipment devices and/or on user profile server 324. User profile server 324 may be in communication with user equipment devices 302, 304 and 306 through communications path 326 and communications network 314. User profile server 324 may include storage devices for storing user profile information associated with user media networks. User profile server 324 may also include storage devices for storing media content information associated with user media networks including recordings of media content and/or lists of selected media content. User profile server 324 may include processors and communications circuits for managing user profile information, remotely controlling and communicating with user equipment devices, and exchanging user profile information with user equipment devices. Media content source 316 may communicate with user profile service 324 to obtain information on a particular user to which media recommendations may be sent, or may have its own user profile server for maintaining user profile information.
Interactive interface applications may be, for example, stand-alone applications implemented on user equipment devices. For example, the interactive interface application may be implemented as software or a set of executable instructions which may be stored in storage 208, and executed by control circuitry 204 of user equipment device 200. In some embodiments, interactive interface applications may be client-server applications where only a client application resides on the user equipment device, and server application resides on a remote server. For example, interactive interface applications may be implemented partially as a client application on control circuitry 204 of user equipment device 200 and partially on a remote server as a server application (e.g., media guidance data source 318) running on control circuitry of the remote server. When executed by control circuitry of the remote server (such as media guidance data source 318), the interactive interface application may instruct the control circuitry to generate the guidance application displays and transmit the generated displays to the user equipment devices. The server application may instruct the control circuitry of the media guidance data source 318 to transmit data for storage on the user equipment. The client application may instruct control circuitry of the receiving user equipment to generate the guidance application displays.
Content and/or media guidance data delivered to user equipment devices 302, 304, and 306 may be over-the-top (OTT) content. OTT content delivery allows Internet-enabled user devices, including any user equipment device described above, to receive content that is transferred over the Internet, including any content described above, in addition to content received over cable or satellite connections. OTT content is delivered via an Internet connection provided by an Internet service provider (ISP), but a third party distributes the content. The ISP may not be responsible for the viewing abilities, copyrights, or redistribution of the content, and may only transfer IP packets provided by the OTT content provider. Examples of OTT content providers include YOUTUBE, NETFLIX, and HULU, which provide audio and video via IP packets. Youtube is a trademark owned by Google Inc., Netflix is a trademark owned by Netflix Inc., and Hulu is a trademark owned by Hulu, LLC. OTT content providers may additionally or alternatively provide media guidance data described above. In addition to content and/or media guidance data, providers of OTT content can distribute interactive interface applications (e.g., web-based applications or cloud-based applications), or the content can be displayed by interactive interface applications stored on the user equipment device.
Audience management system 300 is intended to illustrate a number of approaches, or network configurations, by which user equipment devices and sources of content and guidance data may communicate with each other for the purpose of accessing content and providing media guidance. The embodiments described herein may be applied in any one or a subset of these approaches, or in a system employing other approaches for delivering content and providing media guidance. The following four approaches provide specific illustrations of the generalized example of
In one approach, user equipment devices may communicate with each other within a home network. User equipment devices can communicate with each other directly via short-range point-to-point communication schemes described above, via indirect paths through a hub or other similar device provided on a home network, or via communications network 314. Each of the multiple individuals in a single home may operate different user equipment devices on the home network. As a result, it may be desirable for various media guidance information or settings to be communicated between the different user equipment devices. For example, it may be desirable for users to maintain consistent interactive interface application settings on different user equipment devices within a home network, as described in greater detail in Ellis et al., U.S. patent application Ser. No. 11/179,410, filed Jul. 11, 2005. Different types of user equipment devices in a home network may also communicate with each other to transmit content. For example, a user may transmit content from user computer equipment to a portable video player or portable music player.
In a second approach, users may have multiple types of user equipment by which they access content and obtain media guidance. For example, some users may have home networks that are accessed by in-home and mobile devices. Users may control in-home devices via a interactive interface application implemented on a remote device. For example, users may access an online interactive interface application on a website via a personal computer at their office, or a mobile device such as a PDA or web-enabled mobile telephone. The user may set various settings (e.g., recordings, reminders, or other settings) on the online guidance application to control the user's in-home equipment. The online guide may control the user's equipment directly, or by communicating with a interactive interface application on the user's in-home equipment. Various systems and methods for user equipment devices communicating, where the user equipment devices are in locations remote from each other, is discussed in, for example, Ellis et al., U.S. Pat. No. 8,046,801, issued Oct. 25, 2011, which is hereby incorporated by reference herein in its entirety.
In a third approach, users of user equipment devices inside and outside a home can use their interactive interface application to communicate directly with content source 316 to access content. Specifically, within a home, users of user television equipment 302 and user computer equipment 304 may access the interactive interface application to navigate among and locate desirable content. Users may also access the interactive interface application outside of the home using wireless user communications devices 306 to navigate among and locate desirable content.
In a fourth approach, user equipment devices may operate in a cloud computing environment to access cloud services. In a cloud computing environment, various types of computing services for content sharing, storage or distribution (e.g., video sharing sites or social networking sites) are provided by a collection of network-accessible computing and storage resources, referred to as “the cloud.” For example, the cloud can include a collection of server computing devices, which may be located centrally or at distributed locations, that provide cloud-based services to various types of users and devices connected via a network such as the Internet via communications network 314. These cloud resources may include one or more content sources 316 and one or more media guidance data sources 318. In addition or in the alternative, the remote computing sites may include other user equipment devices, such as user television equipment 302, user computer equipment 304, and wireless user communications device 306. For example, the other user equipment devices may provide access to a stored copy of a video or a streamed video. In such embodiments, user equipment devices may operate in a peer-to-peer manner without communicating with a central server.
The cloud provides access to services, such as content storage, content sharing, or social networking services, among other examples, as well as access to any content described above, for user equipment devices. Services can be provided in the cloud through cloud computing service providers, or through other providers of online services. For example, the cloud-based services can include a content storage service, a content sharing site, a social networking site, or other services via which user-sourced content is distributed for viewing by others on connected devices. These cloud-based services may allow a user equipment device to store content to the cloud and to receive content from the cloud rather than storing content locally and accessing locally-stored content.
A user may use various content capture devices, such as camcorders, digital cameras with video mode, audio recorders, mobile phones, and handheld computing devices, to record content. The user can upload content to a content storage service on the cloud either directly, for example, from user computer equipment 304 or wireless user communications device 306 having content capture feature. Alternatively, the user can first transfer the content to a user equipment device, such as user computer equipment 304. The user equipment device storing the content uploads the content to the cloud using a data transmission service on communications network 314. In some embodiments, the user equipment device itself is a cloud resource, and other user equipment devices can access the content directly from the user equipment device on which the user stored the content.
Cloud resources may be accessed by a user equipment device using, for example, a web browser, a interactive interface application, a desktop application, a mobile application, and/or any combination of access applications of the same. The user equipment device may be a cloud client that relies on cloud computing for application delivery, or the user equipment device may have some functionality without access to cloud resources. For example, some applications running on the user equipment device may be cloud applications, i.e., applications delivered as a service over the Internet, while other applications may be stored and run on the user equipment device. In some embodiments, a user device may receive content from multiple cloud resources simultaneously. For example, a user device can stream audio from one cloud resource while downloading content from a second cloud resource. Or a user device can download content from multiple cloud resources for more efficient downloading. In some embodiments, user equipment devices can use cloud resources for processing operations such as the processing operations performed by processing circuitry described in relation to
Once the account is created, the process proceeds to step 404. At step 404, the user identifies a target segment to be used for the media plan that identifies a group of viewers or households with certain characteristics to be targeted through the system. These may include specific target segments created by third parties available to audience management system 300 and matched with the viewership data or behavioral segments accessible through audience management system 300 or created by the user. For example, a media content source, such as NBC, may be able to provide a pre-defined target segment, such as “has viewed Saturday Night Live 3 times in the last 6 months”, to the user. In some embodiments, audience management module 328 may query media content source 316 to retrieve a list of pre-defined target segments based on viewership data. In some embodiments, audience management module 328 may query user profile server 324 to retrieve viewership data to enable the user to produce his/her own target segments. In addition, unions or intersections of existing targets may be defined as new targets using a target creation function of the audience management module 328.
Once the user has established one or more target segments that he/she would like to reach in the advertising campaign, the process may then proceed to step 406. In step 406, the user may utilize placement functions of audience management module 328 that enable the user to build an optimized media plan to reach the earlier established target segments established. The term “placement” should be understood to mean the adding or allocation of inventory, such as in the form of available advertising slots, to an advertising campaign of an advertiser, such that advertising media is made available to an audience within a scheduled time period upon execution of the advertising campaign. In some embodiments, placement functions may relate setting campaign goals and parameters, such as total impressions, budget constraints, inventory restrictions, reach, frequency, or any suitable combination thereof, as will be described in greater detail with respect to
Once a media plan is created by the placement function and approved by the user, the process then proceeds to step 408. Step 408 may be optionally performed in the scenario in which the user is not the advertiser, but is acting on behalf of the advertiser. At step 408, the user will be able to generate a proposal to share with the advertiser. Proposals are formatted reports that provide a summary of the goals and media being delivered for the campaign, and may be transferred to a device of the advertiser over communications network 314. If the advertiser requests changes to the proposal/campaign, the placement function will allow the user to make updates to the campaign parameters, save a new version and generate a new proposal. In some embodiments, the user may authorize access to the advertiser to edit the parameters of the media plan directly, for example, through a web interface. In some embodiments, the proposal may be in the form of an interactive interface application implemented on a user equipment device of the advertiser. For example, the advertiser may be able to view the parameters and proposed media plan in the interactive interface application. In some embodiments, the advertiser may propose changes to the parameters of the proposed media plan, and simulate the placement function in order to see how the advertiser's proposed changes affect the media plan.
If the advertiser and/or user are satisfied with the media plan projections made using the placement function, the user may then save the current state of the media plan and proposal, for example, by storing the media plan and proposal in storage 208 of audience management module 328. The process proceeds to step 410. At step 410, audience management module 328 generates a specific set of advertisement placements in accordance with available advertising slots, or spots, for particular content providers. These placements are based on the optimization parameters discussed in connection with the various embodiments disclosed herein. In some embodiments, the placement may require a specific time to run the advertisement. In some embodiments, the placement may designate a time period for running the advertisement, and a “fuzzy” schedule may be generated in which the advertisement is required to appear within the time period, but at a specific time designated by the content source that runs the advertisement. Concurrently with step 410, or alternatively, the order may be transferred to and ingested by a traffic/promotion scheduling system in step 412.
The process proceeds to step 414. At step 414, media placements for the advertiser are executed via the traffic system and ad inserters as the advertisement is placed. The process then proceeds to step 416, where the verified placements are fed back into the system via verification or as-run logs. Using this data and collected viewership data, audience management module 328 can update estimates of audience for the placements with actual verified impression delivery, and will update future placements based on performance to-date. Audience management module 328 then provides the user with the ability to generate reports on actual delivery metrics based on verified spot placements against impressions calculated from set-top impressions, as accessible through communications network 314.
In some embodiments, viewing data, which has been edited to remove viewing attributed to TV-off events or other boundary parameters, is aggregated by audience management module 328 into blocks bounded by the start and end times of the programming being aired. A set of data for training the model is extracted from a superset of all edited viewing data. This extracted data will include as much data as can be feasibly processed by the model. In some embodiments, this extracted data is at least a year's worth of data in order to include seasonal effects on viewership, although the system can operate effectively with less data. Using the extracted data, machine learning algorithms are applied to generate a predictive model which uses the various attributes associated with relevant programming (e.g., start time, day of week, genre, keyword, local interest, lead-in status of the program, etc.) to predict the average audience (average number of viewers) and total reach (total unique viewers for that program over a period of time) for each programming block. For example, in some embodiments, the audience management system may receive one or more inputs for use in estimating data associated with future audience inventory for media plans. In some embodiments, the received inputs may be used in conjunction with data retrieved from other various sources, such as databases 604, 606, 652, and 654, as described below with respect to
In some embodiments, currently available inventory blocks are evaluated by pulling data from various databases, including viewership database 602 (which is filtered through module 608 to generate a universe projection), third party metrics database 604, and sales database 606 feed data to module 610. In some embodiments, projected inventory blocks are evaluated by pulling data from third party database 652 (in which universe estimates may be generated by a third party) and inventory database 654 (in which projected estimates for inventory availability are maintained) feed data to module 656. Depending on the scope of the inventory, the audience estimates used for metric calculations may be different. For example, spot (unit) inventory from an individual zone will require universe projections, and future estimates based on the population of that zone. Spot (unit) inventory from an interconnect will require universe projections for the entire interconnect, while national inventory will require universe projections for the total carriage of the channel. In some embodiments, inventory analysis performed by audience management module 328. In some embodiments, the metrics are computed via a third part and transmitted to audience management module 328 over communications network 314.
Once the metrics are determined and audience information has been suitably processed, audience management system 300 may provide a visual interface (e.g. a media plan interface) to allow easily design and edit a media plan.
Grid arrangement 702 contains a plurality of cells representative of a proposed media plan for placement of advertisements. In display 700, each cell contains representative audience data, and each cell may correspond to a particular inventory unit, such as an advertising slot for a content source and a time period, as shown in
Television advertising is merely illustrative, and the media plan need not be limited to television or other electronic content sources. For example, audience management module 328 may be implemented in the context of advertising in general, such as newspaper, magazine, billboards, posters, or other suitable forms of advertising. In such embodiments, display 700 may display a plurality of cells arranged according to a particular advertising venue and a particular day of the week for which the advertisement is to be run. For example, content source axis 406 may be replaceable by an axis indicative of a printed publication, and time period axis 404 may be indicative of a particular publication month.
In some embodiments, each content source or time period may have an associated weight value. For example, weight options 708 and 714 appear beside a content source and time period, respectively. Processing circuitry 206 may receive user inputs to adjust a weight associated with the content source or time period. In some embodiments, the value of “100” may indicate a default weight. The user has the option of selecting different weights, which may affect a scoring algorithm, as will be discussed in greater detail with respect to
In some embodiments, processing circuitry 206 may receive user selections of options 710 and 716, which provide increased granularity for the content source or time period that each represents. In some embodiments, options 710 and 716 may appear in response to a user selection on a content source of content source axis 706 and a time period of time period axis 704, respectively. For example, a selection of option 710 may cause processing circuitry 206 to generate for display content source related information within the cells in the row corresponding to option 710, such as the programs that will be airing or the availability of advertising slots. In response to a user selection of option 716, for example, processing circuitry 206 may generate for display additional time period related information within the cells in the column corresponding to option 716. Additional time period related information may include additional columns corresponding to the hours within a particular daypart, such as columns representing each of “5 am”, “6 am”, and “lam” instead of a single column representing “Early Morning”.
If processing circuitry 206 receives a user selection of sort option 726, rows of grid arrangement 702 may be sorted according to a property of the content sources within content source axis 706. For example, content sources may be sorted in forward or reverse alphabetical order, by popularity, by average cost to advertise, by assigned weight values, or by any other suitable quantity.
If processing circuitry 206 receives a user selection of time period option 724, processing circuitry 206 may generate for display a suitable time period representation for time period axis 704. For example, display 700, as depicted in
Density indicator 720 provides an indication to a user of the magnitude or relative value of a visual indicator of an audience-related parameter. For example, density indicator 720, as depicted in
A user selection of zoom option 728 may result in a relative increase or decrease in size of elements appearing in display 700, or a relative increase or decrease in granularity of the information appearing in display 700. Zoom option 728 may be implemented in any suitable fashion, such as a slider, buttons of various sizes, a percentage indicator, or any suitable combination thereof. In some embodiments, if the user slides zoom option 728 to the right, this may cause processing circuitry 206 to increase the granularity of the information displayed by, for example, replacing existing time period columns with time period columns corresponding to shorter time periods. A display with increased granularity is discussed in greater detail with respect to
In some embodiments, processing circuitry 206 may receive a user selection of a cell of the plurality of cells in grid arrangement 700. Once the cell is selected, the user may take an action suggestive of a particular function to execute with the respective cell. For example, using user input interface 210, the user may select an available option through the interactive interface application implemented on user equipment device 200. The function may be executed locally or remotely. For example, if user equipment device 200 is located remotely from audience management module 328 and the function requires audience management module 328 to perform a placement function, the message may be transmitted, along with any additional required information, from user equipment device 200 to audience management module 328. After executing the function, audience management module 328 may then transmit updated information back to user equipment device 300 that reflects the results of the placement function, and this updated information may then be generated for display by processing circuitry 206. The function executed by processing circuitry 206 may be, for example, adding one or more advertising slots to a media plan, removing one or more advertising slots from media plan, displaying additional information for each cell in the form of pop-up overlay, generating for display media content from a corresponding content source, updating a weight value related to an associated advertising slot of each of the selected cells, updating an audience representation for each of the plurality of cells, transmitting an order to place advertisements, refreshing the display, assigning a fixed price value to an advertising slot, or any other suitable function in accordance with the embodiments described herein.
In some embodiments, functions may be performed locally on user equipment device 300. For example, a weight adjustment function, such as a user selection of option 708, may affect weight values stored locally at user equipment device 300. The weight value, among other parameters, may be transmitted to audience management module 328 as needed, for example, when a placement function is to be performed.
Advertising slots that have been added to or removed from the media plan may be visually distinguishable.
Similar to display 700 of
Cell 806 is representative of an advertising slot that has been added to an advertiser's media plan, or may be part of a proposed media plan for the advertiser. Cell 806 includes background indicator 808, which may be representative of an audience-related parameter, such as audience composition as in display 700. In addition to background indicator 808, bar 812 may also be indicative of the same audience-related parameter as background indicator 808, thereby providing the user with two types of visual indications. Bar 812 may scale the length of the cell 806, with a minimum and maximum bar length corresponding to a minimum and maximum value of the audience-related parameter. For example, the length of the bar may be indicative of a percentage of actual or projected viewers that fall within a target segment (e.g. “Seinfeld fans ages 25-35”). In some embodiments, bar 812 may be indicative of a different value than background indicator 808. For example, bar 812 may be representative of an audience size, in which zero width represents zero audience available, and a maximum width represents 1.65 standard deviations above a mean value of audience sizes represented. Beyond a particular audience size, bar 812 may max out at this value. This may provide an indication to the user that the advertising slot represented by the cell corresponds to a period in which a highly rated program was or will be aired.
Cell 806 also includes index indicator 810, which may be representative of an actual or projected audience-related parameter, such as audience index (which relates to average audience size and variance), impressions, or gross rating points. In general, index indicator 810 may represent any audience-related parameter that is not confined to a range (such as a percentage).
Cell 814 is representative of an advertising slot that has been not been added to, or has been removed from, an advertiser's media plan. When an available advertising slot is manually selected to be part of, or recommended by audience management system 300 to be part of, an advertising campaign, the advertising slot is referred to herein as being “part of the media plan”. Unlike cell 806, cell 814 is missing a background indicator and an index indicator. Displaying a cell such that audience-related parameters appear to be missing from the cell may serve as an indication to the user that the advertising slot corresponding to the cell is not part of the media plan. Cell 814 still contains at least a minimal amount of information, namely bar 816, which provides an indication of a relative audience size and/or composition. Any suitable method for displaying an indicator that a cell is part of or not part of the media plan may be used. For example, each of the plurality of cells in grid arrangement 802 may all show representations of audiences in the same way, but may contain an additional flag within each cell that indicates whether or not the associated advertising slot is part of the media plan, such as a border around the cell, a checkmark within the cell, a particular shading of the cell, or any suitable combination thereof.
In some embodiments, the user may manually select a particular cell to add or remove its associated advertising slot to the media plan. For example, processing circuitry 206 may receive a user selection of cell 814 from display 800, which causes processing circuitry 206 to generate for display a suitable indicator that cell 814 is selected. The user may then select an “add” function, which adds the advertising slot associated with cell 814 to the media plan. In response, cell 814 may then take on a similar appearance to cell 806, and display a background indicator and an index indicator. Once the advertising slot associated with cell 814 is added to the media plan, processing circuitry may generate a message to be communicated to audience management module 328 that the advertising slot is to be added to the plan. In some embodiments, the manual addition of an advertising slot may override a recommended media plan generated by audience management module 328.
If processing circuitry 206 receives a user selection of, for example, cell 806 from display 800, processing circuitry 206 may generate for display a suitable indicator that cell 806 is selected. Processing circuitry 206 may receive a user selection of a “remove” function, which removes the advertising slot associated with cell 814 to the media plan. In response, cell 806 may then take on a similar appearance to cell 814, in which information is removed from the cell to indicate that it is no longer part of the media plan. Once the advertising slot associated with cell 806 is removed from the media plan, processing circuitry may generate a message to be communicated to audience management module 328 that the advertising slot is to be removed to the plan. In some embodiments, the manual removal of an advertising slot may override a recommended media plan generated by audience management module 328.
In some embodiments, the user may select multiple cells by manually selecting cells in succession. In some embodiments, processing circuitry 206 may receive a user selection of a content source or a time period, which in turn causes processing circuitry 206 to select each cell associated with the content source or time period. For example, a user selection of “Early Fringe” from time period axis 804 may cause processing circuitry 206 to select all cells in that column for that time period, including cells 806 and 814. Processing circuitry 206 may also generate for display a suitable indicator for each of the selected cells indicating that each cell is selected. Processing circuitry 206 may then receive a user selection of a particular function to perform on each of the selected cells. Processing circuitry 206 may execute a function on each of the selected cells, such as adding all cells to the media plan (unless they have been added already), removing all cells from the media plan (unless they have been removed already), displaying additional information for each cell in the form of pop-up overlay, updating a weight value related to an associated advertising slot of each of the selected cells, updating an audience representation for each of the plurality of cells (for example, but receiving more current audience information from audience management module 328), assigning a fixed price value, or any other suitable function in accordance with the embodiments described herein. It is to be understood that each of these functions may also be executed on single cell in response to a user selection of a single cell.
In some embodiments, the user may desire to perform a placement function on less than all available advertising slots. For example, processing circuitry 206 may receive a user selection of a group of cells using any of the method described herein, and indicate that a placement function should be performed on the group of cells. The placement function is performed by audience management module 328, and will be described in greater detail with respect to
In some embodiments, only the highest ranked advertising slots will be added to the media plan. Prior to performing the placement function, the user may specify a weight value or budget limit such that cells are added to the subset in a way that avoid exceeding the weight value or budget limit. For example, audience management module 328 may automatically, without user input, add advertising slots to the subset in order of highest rank, until the budget limit is exceeded by any further additions. Each advertising slot may have an associated cost (e.g. CPM), which is used to determine a total budget for all associated cells added to the subset. Processing circuitry 206 may then indicate to the user, using any suitable indicator, which cells have been automatically selected by the placement function. The user may then confirm the selection of these cells for adding to the media plan, and processing circuitry 206 may then transmit this information back to audience management module 328.
The media plan interface provides the user with additional viewing options to see information that is not shown in the default view.
Display 900 shows additional information related to cell 902 displayed in the form of pop-up overlay 904. Pop-up overlay 904 contains source/time indicator 906, which indicates to the user the content source and time period to which cell 902 corresponds. Pop-up overlay 904 contains information indicators 908, which may provide information relating to the media plan and audience-related parameters pertaining the advertising slot associated with cell 902, the corresponding source, the corresponding time period, or any suitable combination thereof. Pop-up overlay 904 displays an indication of the audience composition for the associated advertising slot, an audience index related to a relative audience size, and a plan weight percentage for the content source “BRAVO” (indicating a total a relative amount of plan weight or budget allocated to advertising slots in of that content source). In general, pop-up overlay 904 provides the user with information about the advertising slot that is otherwise not shown in cell 902.
The media plan interface may provide additional options for adjusting parameters and viewing detailed information related to a media plan.
If processing circuitry 206 receives a user selection of a weight value for a content source other than the default value, element 1004 may be replaced with a value reflecting the weight value. For example, weight values 1008 and 1014 appear instead of the default element. In some embodiments, display 1000 may also display an in-plan weight for a particular content source, such as indicator 1010. For example, indicator 1010 may represent the recommended plan weight for channel 1006, as determined by audience management module 328, and may be displayed in response to a user adding or removing advertising manually.
In some embodiments, a combination of different time periods may be used. For example, daypart indicator 1022 shows cells/advertising slots for “Early Morning”. Hour indicator 1026 shows an hourly breakdown for daypart indicator 1024. For example, in response to a user selection of daypart indicator 1024, processing circuitry 206 may generate for display columns corresponding to hours during “Morning” as an alternative to selecting all cells for that time period. In some embodiments, the user may select advertising slots for individual hours to add to or remove from the plan. Depending on the granularity of the display, a user selection may add all or remove all advertising slots. In other words, a selection of a daypart indicator or a cell corresponding to a daypart/content source combination may be treated as a selection of all time periods within the daypart. Any function executed with respect to the time period (daypart) will affect all shorter time periods (hours) within. In some embodiments, the user may lock a particular advertising slot to prevent a group function from affecting the status of the advertising slot.
The media plan interface may also allow a user view pricing information with respect to available inventory for a media plan.
In some embodiments, the user may select options 1108 and 1112, which provide increased granularity for the content source or time period that each represents. In some embodiments, options 1108 and 1112 may appear in response to a user selection on a content source of content source axis 1106 and a time period of time period axis 1104, respectively. For example, a selection of option 1112 may cause processing circuitry 206 to generate for display an hour view corresponding to “Early Morning”, as described above with respect to
In some embodiments, the user may select display option 1118 to display a particular type of price (e.g. premium rate card, based on standard rates for underlying units in a particular pricing tier, clearance CPM, based on a rate required to clear remaining units to be cleared by a publisher, and fixed CPM, based on a fixed CPM for all impressions in the tier).
A user selection of zoom option 1124 may result in a relative increase or decrease in size of elements appearing in display 1100, or a relative increase or decrease in granularity of the information appearing in display 1100. Zoom option 1124 may be implemented in any suitable fashion, such as a slider, buttons of various sizes, a percentage indicator, or any suitable combination thereof. In some embodiments, if the user selects a “zoom-in” option, this may cause processing circuitry 206 to increase the granularity of the information displayed by, for example, replacing existing time period columns with time period columns corresponding to shorter time periods, as discussed with respect to
To navigate to information that is not currently visible, the user may select scroll options 1128 and 1130 to scroll the display along content source axis 1106 and time period axis 1104, respectively. If the user selects refresh option 1126, processing circuitry may retrieve updated information from audience management module 328, and update the display 1100 with this information as necessary. In some embodiments, the user may select display range option 1122 to show time periods within a particular time range. This may have a similar effect to selecting zoom option 1124 by adjusting the granularity of the plurality of cells in display 1100.
In some embodiments, the user may directly select a cell of the plurality of cells in display 1100. Once the cell is selected, the user may take an action suggestive of a particular function to execute with the respective cell, as discussed above with respect to
At step 1202, the audience management system initiates process 1200. For example, in some embodiments, the audience management system may initiate process 1200 in response to a user request (e.g., received via user input interface 210 (
In some embodiments, the audience management system may be located remotely from a user equipment device (e.g., user equipment devices 302, 304, and/or 306 (
In some embodiments, the audience management system may be located locally. For example, the audience management module may be implemented on a user equipment device (e.g., user equipment device 200 (
In some embodiments, the local audience management system may receive (e.g., via communications network 314) data (e.g., values associated with one or more cells featured in the media plan interface, graphical elements for visual indicators of an audience-related parameter, and/or any other data necessary for generating/performing the embodiments described herein) from one or more remote sources (e.g., media content source 316, media guidance data source 318, user profile server 324, audience management module 328, and/or any location accessible via communications network 314 (
At step 1206, the audience management system identifies a first cell of the plurality of cells. In some embodiments, identifying a first cell may include receiving a user selection of a first cell. For example, the audience management system may detect that a user (e.g., via user input interface 210 (
In some embodiments, as discussed above, the audience management system may be located locally. In such cases, the user input parameter received (e.g., via user input interface 210 (
At step 1208, the audience management system executes a function with respect to a first advertising slot associated with the cell. For example, in response to receiving a user selection (e.g., via user input interface 210 (
For example, in some embodiments, the function may add or remove an advertising slot from an advertiser's media plan and/or otherwise modify a characteristic of the advertising slot associated with the selected cell. As discussed above, in some embodiments, a user may manually select (e.g., via user input interface 210 (
In some embodiments, based on the function executed with respect to the select cell, the audience management system may modify the visual or graphical properties, such as the background indicator and/or index indicator discussed in relation to
In some embodiments, the function may be executed locally (e.g., at user equipment devices 302, 304, and/or 306 (
At step 1210, the audience management system ends process 1200. In some embodiments, the audience management system may return to step 1204 and generate for display a plurality of cells in a grid arrangement in which each cell is associated with an advertising slot as updated by the executed function in step 1208.
In some embodiments, the audience management system may update an audience representation for each of the plurality of cells based on selections associated with different advertising campaigns. Multiple media plans/advertising campaigns may created by the user or generated by the audience management system and stored (e.g., at audience management module 328 (
It is contemplated that the steps or descriptions of
It should also be noted that process 1300 may also be adapted to allocate budget values in numerous ways. For example, in some embodiments, the audience management system may allocate the budget value to various groups such as time periods, content providers, programming types, and/or selected advertising universes. Moreover, in some embodiments, groups may be defined using Boolean expressions (e.g., allocating a portion of a budget value to only a particular time period and a particular content provider).
At step 1302, the audience management system initiates process 1300. For example, in some embodiments, audience management system may initiate process 1300 in response to a user request (e.g., received via user input interface 210 (
At step 1304, the audience management system receives a user selection of a budget value. For example, the user selection may indicate a numerical value (e.g., in monetary units and/or any other suitable measurement standard) that indicate a maximum value for which advertising slots in a media plan must correspond. In some embodiments, the value may be manually entered by a user (e.g., via user input interface 210 (
In some embodiments, the user selection may be received automatically. For example, the advertisement management system may retrieve (e.g., from user profile server 324 (
At step 1306, the media guidance application stores the budget value in memory. For example, the advertisement management system may store the budget value in memory (e.g., located locally at storage 208 (
At step 1308, the media guidance application partitions the budget value into a first partition value and a second partition value, in which each of the first and second partition values is stored in the memory. For example, the audience management system may receive (e.g., via user input interface 210 (
The ratio, percentage, and/or other numerical relationship between the partitions may be based on numerous criteria. For example, the audience management system may receive (e.g., via user input interface 210 (
In some embodiments, the audience management module may retrieve (e.g., via control circuitry 204 (
At step 1310, the audience management system stores a plurality of data structures in the memory. In some embodiments, the audience management system may store (e.g., in storage 204 (
At step 1312, the audience management module defines a plurality of groups, in which each of the plurality of data structures is associated with one or the plurality of groups. For example, the audience management system defines (e.g., via processing circuitry 306 (
At step 1314, the audience management system allocates a portion of the first portion value to each of the plurality of groups. The audience management system allocates (e.g., via processing circuitry 304 (
At step 1316, the audience management system flags, for each of the plurality of groups, at least one data structure associated with the group based on the portion of the first partition value allocated to the group. Flagging may be achieved by storing a particular value in the data structure that indicates to processing circuitry 204 that the data structure is flagged. For example, the audience management system may determine (e.g., via processing circuitry 204 (
In some embodiments, the audience management systems ranks each data structure associated with a particular group based on audience-related criteria, including audience composition, audience size, audience index, impressions, user-specified weight, or any suitable combination thereof. In some embodiments, the audience-related criteria may be included in the data structure associated with each advertising slot. For example, the audience management system may (e.g., via processing circuitry 204 (
At step 1318, the audience management system identifies a subset of unflagged data structures within the plurality of data structures. In some embodiments, the audience management system (e.g., via processing circuitry 204 (
At step 1320, the audience management system flags at least on data structure within the subset based on the second partition value. For example, in some embodiments, the audience management system may search (e.g., via processing circuitry 204 (
In some embodiments, the audience management system may perform (e.g., via processing circuitry 204 (
At step 1322, the audience management system ends process 1300. In some embodiments, the audience management system may return to step 1304 and receive a new budget value associated with a different advertiser (or user, if the advertiser is the user). For example, the audience management system may perform multiple iterations of process 1300 until each budget value for a plurality of advertisers is partitioned and allocated.
It is contemplated that the steps or descriptions of
At step 1402, the audience management system initiates process 1400. For example, in some embodiments, audience management system may initiate process 1400 in response to a user request (e.g., received via user input interface 210 (
At step 1404, the audience management system receives a user selection of a budget value. For example, in some embodiments, step 1404 may correspond to step 1304 (
At step 1406, the media guidance application partitions the budget value into a first budget portion and a second portion. For example, in some embodiments, step 1406 may correspond to step 1308 (
At step 1408, the audience management system allocates the first budget portion across each day in an advertising campaign. In some embodiments, step 1408 may correspond to step 1314 (
At step 1410, the audience management system selects a day in the advertising campaign. For example, the number of days in the advertising campaign and an identification of the individual days in the advertising campaign may be retrieved from a profile associated with the user or with the advertising campaign. For example, the audience management system may cross-reference an identifier (e.g., a serial number, order number, etc.) associated with a user or an advertising campaign in a database (e.g., storage 208 (
The audience management system may input (e.g., via processing circuitry 206 (
At step 1412, the audience management system ranks available advertising slots for the selected day. For example, the audience management system may retrieve (e.g., via processing circuitry 206 (
At step 1414, the audience management system selects the top ranked advertising slot for the selected day. For example, the audience management system may compare each advertising slot available on the selected day to each other to determine (e.g., via processing circuitry 204 (
In some embodiments, the system optimizes the use of inventory across all of the active media plans, enabling the system to optimize selections of advertising slots for multiple advertisers concurrently. In such cases in which a user is preparing media plans for more than one advertiser, the system may rank advertising slots for each media plan based on parameters associated with each media plan (e.g., via processing circuitry 204 (
In some embodiments, the system may generate a single ranked list of advertising slots (e.g., via processing circuitry 204 (FIG. 2)), in which each advertising slot in the list is associated with a particular advertiser. The audience management system may proceed to add advertising slots to a respective media plan of the associated advertiser in order from highest ranking advertising slots to lowest ranking advertising slots.
At step 1416, the audience management system determines whether or not purchasing the selected advertising slot exceeds the allocated budget for the selected day. For example, the audience management system may determine (e.g., via processing circuitry 204 (
In some embodiments, the costs associated with each advertising slot may be continuously monitored and updated. For example, the audience management system may receive a real-time feed indicating the current cost associated with each advertising slot. Additionally or alternatively, the audience management may have access to an algorithm that determines the current cost of the advertising slot based on one or more criteria. For example, an algorithm may indicate that as fewer advertising slots for a particular day remain, the cost to purchase an advertising slot on that day may increase. In such cases, the audience management system (e.g., via processing circuitry 204 (
If the audience management system determines that the cost to purchase the selected advertising slot does not exceed the allocated budget for the selected day, the audience management system proceeds to step 1418. At step 1418, the audience management system purchases (or flags for potential purchasing, depending on user preferences) the selected advertising slot and selects the next highest ranking advertising slot (e.g., as determined in step 1412) before returning to step 1416. If the audience management system determines to that the cost to purchase the selected advertising slot exceeds the allocated budget for the selected day, the audience management system proceeds to step 1420.
At step 1420, the audience management system determines whether or not every day in the advertising campaign has been selected. If not, the audience management system proceeds to step 1422, selects a different day, and returns to step 1412. For example, the audience management system may ensure that the allocation of the first budget portion for each day is used. The audience management system may ensure this by performing multiple iterations of one or more steps of process 1400 (e.g., corresponding to each day of the advertising campaign). If the audience management system determines that every day in the advertising campaign has been selected, the audience management system proceeds to step 1424.
At step 1424, the audience management system ranks all available advertising slots remaining regardless of the day. For example, after the audience management system has allocated the first budget portion to each day, week, or user-specified period of the campaign (e.g., ensuring that at least one advertising slot has been purchased (or flagged for potential purchasing) for each day of the campaign). The audience management system ranks (e.g., via processing circuitry 204 (
At step 1426, the audience management system selects the top ranked advertising slot of any available advertising slot. For example, the audience management system may compare each advertising slot available to all other available advertising slots to determine (e.g., via processing circuitry 204 (
At step 1428, the audience management system determines whether or not purchasing the selected advertising slot exceeds the second budget portion. For example, the audience management system may determine (e.g., via processing circuitry 204 (
At step 1432, the audience management system ends process 1400. In some embodiments, the audience management system may return to step 1404 and receive a new budget value associated with a different user. For example, the audience management system may perform multiple iterations of process 1400 until each budget value for a plurality of users is partitioned and allocated.
It is contemplated that the steps or descriptions of
At step 1502, the audience management system initiates process 1500. For example, in some embodiments, audience management system may initiate process 1500 in response to a user request (e.g., received via user input interface 210 (
At step 1504, the audience management system stores, in a memory, a plurality of data structures, each data structure representing one a plurality of advertising slots. As discussed above in relation to
At step 1506, the audience management system stores, in each of the plurality of data structures a price value associated with a respective advertising slot. For example, as discussed in relation to
At step 1508, the audience management system receives a user selection of a fixed price value. For example, the audience management system may receive (e.g., via user input interface 210 (
At step 1510, the audience management system stores the fixed price value as the price value of a first data structure of the plurality of data structures. For example, the fixed price value associated with the data structure may be stored (e.g., in storage 204 (
At step 1512, the audience management system automatically updates the price value of each of the plurality of data structures without changing the price value of the first data structure. For example, a user (e.g., via user input interface 210 (
For example, once the price is fixed for a first advertising slot, the audience management system may update (e.g., via processing circuitry 204 (
In some embodiments, the projected demand and/or the historical inventory data, projected inventory data, current demand, audience estimates, or any suitable combination thereof may be retrieve from local storage (e.g., storage 208 (
At step 1514, the audience management system ends process 1500. In some embodiments, the audience management system may return to step 1504 and perform another iteration of process 1500 (e.g., associated with another user selection of a fixed price value).
It is contemplated that the steps or descriptions of
At step 1602, the audience management system initiates process 1600. For example, in some embodiments, audience management system may initiate process 1600 in response to a user request (e.g., received via user input interface 210 (
At step 1604, the audience management system associates (e.g., via processing circuitry 204 (
At step 1606, the audience management system receives a user selection of a fixed price value of a first pricing tier. For example, the audience management system may receive (e.g., via user input interface 210 (
At step 1608, the audience management system update a price value for each of the plurality of pricing tiers without changing the price value of the first pricing tier. For example, once the user sets the fixed price for the pricing tier, the audience management system may update a price value for each of the plurality of pricing tiers without changing the price value of the fixed pricing tier.
At step 1610, the audience management system updates each price of the plurality of advertising slots based on an updated price value of an associated pricing tier. The audience management system then updates (e.g., via control circuitry 204 (
At step 1612, the audience management system ends process 1600. In some embodiments, the audience management system may return to step 1604 and perform another iteration of process 1600 (e.g., associated with another user selection of a fixed price value of a first pricing tier).
It is contemplated that the steps or descriptions of
The above-described embodiments of the present disclosure are presented for purposes of illustration and not of limitation, and the present disclosure is limited only by the claims which follow. Furthermore, it should be noted that the features and limitations described in any one embodiment may be applied to any other embodiment herein, and flowcharts or examples relating to one embodiment may be combined with any other embodiment in a suitable manner, done in different orders, or done in parallel. In addition, the systems and methods described herein may be performed in real-time. It should also be noted, the systems and/or methods described above may be applied to, or used in accordance with, other systems and/or methods.
It should be understood that the above steps of the flow diagrams of
The above-described embodiments of the present disclosure are presented for purposes of illustration and not of limitation, and the present disclosure is limited only by the claims which follow.
Claims
1. A method for selecting advertising slots in an advertising campaign, the method comprising:
- receiving a user selection of a budget value;
- storing the budget value in a memory;
- partitioning the budget value into a first partition value and a second partition value, wherein each of the first and second partition values is stored in the memory;
- storing a plurality of data structures in the memory;
- defining a plurality of groups, wherein each of the plurality of data structures is associated with one of the plurality of groups;
- allocating a portion of the first partition value to each of the plurality of groups;
- flagging, for each of the plurality of groups, at least one data structure associated with the group based on the portion of the first partition value allocated to the group;
- identifying a subset of unflagged data structures within the plurality of data structures; and
- flagging at least one data structure within the subset based on the second partition value.
2. The method of claim 1, wherein flagging, for each of the plurality of groups, at least one data structure associated with the group based on the portion of the first partition value allocated to the group comprises:
- ranking, based on an audience-related criterion, each data structure associated with the group;
- identifying a plurality of ranked data structures having the highest rankings of each data structure associated with the group; and
- flagging each of the identified plurality of ranked data structures, wherein a sum of budget weights associated with each of the identified plurality of ranked data structures is less than or equal to the portion of the first partition value allocated to the group.
3. The method of claim 1, wherein flagging at least one data structure within the subset based on the second partition value comprises:
- ranking, based on an audience-related criterion, each unflagged data structure of the plurality of data structures;
- identifying a plurality of ranked data structures having the highest rankings of each data structure of the plurality of data structures; and
- flagging each of the identified plurality of ranked data structures, wherein a sum of budget weights associated with each of the identified plurality of ranked data structures is less than or equal to the second partition value.
4. The method of claim 1, wherein allocating a portion of the first partition value to each of the plurality of groups comprises allocating a portion of the first partition value equally to each of the plurality of groups.
5. The method of claim 1, wherein each of the plurality of groups is representative of a time period.
6. The method of claim 1, wherein each of the plurality of data structures is representative of an available advertising slot.
7. The method of claim 1, wherein flagging a data structure is indicative of adding an available advertising slot to an advertising campaign plan.
8. The method of claim 1, wherein the first partition value and the second partition value are user-designated.
9. The method of claim 1, further comprising generating for display a plurality of cells in a grid arrangement, wherein:
- each of the plurality of cells is representative of one of the plurality of data structures, and
- each of the plurality of cells is arranged according to a content source and a time period of the data structure represented by the cell.
10. The method of claim 1, wherein each of the plurality of data structures is associated with a budget weight, and wherein each budget weight is determined based on a pricing tier.
11. A system for selecting advertising slots in an advertising campaign, the system comprising:
- processing circuitry, wherein the processing circuitry is configured to: receive a user selection of a budget value; store the budget value in a memory; partition the budget value into a first partition value and a second partition value, wherein each of the first and second partition values is stored in the memory; store a plurality of data structures in the memory; define a plurality of groups, wherein each of the plurality of data structures is associated with one of the plurality of groups; allocate a portion of the first partition value to each of the plurality of groups; flag, for each of the plurality of groups, at least one data structure associated with the group based on the portion of the first partition value allocated to the group; identify a subset of unflagged data structures within the plurality of data structures; and flag at least one data structure within the subset based on the second partition value.
12. The system of claim 11, wherein the processing circuitry is further configured to:
- rank, based on an audience-related criterion, each data structure associated with the group;
- identify a plurality of ranked data structures having the highest rankings of each data structure associated with the group; and
- flag each of the identified plurality of ranked data structures, wherein a sum of budget weights associated with each of the identified plurality of ranked data structures is less than or equal to the portion of the first partition value allocated to the group.
13. The system of claim 11, wherein the processing circuitry is further configured to:
- rank, based on an audience-related criterion, each unflagged data structure of the plurality of data structures;
- identify a plurality of ranked data structures having the highest rankings of each data structure of the plurality of data structures; and
- flag each of the identified plurality of ranked data structures, wherein a sum of budget weights associated with each of the identified plurality of ranked data structures is less than or equal to the second partition value.
14. The system of claim 11, wherein the processing circuitry is further configured to allocate a portion of the first partition value equally to each of the plurality of groups.
15. The system of claim 11, wherein each of the plurality of groups is representative of a time period.
16. The system of claim 11, wherein each of the plurality of data structures is representative of an available advertising slot.
17. The system of claim 11, wherein flagging a data structure is indicative of adding an available advertising slot to an advertising campaign plan.
18. The system of claim 11, wherein the first partition value and the second partition value are user-designated.
19. The system of claim 11, wherein the processing circuitry is further configured to generate for display a plurality of cells in a grid arrangement, wherein:
- each of the plurality of cells is representative of one of the plurality of data structures, and
- each of the plurality of cells is arranged according to a content source and a time period of the data structure represented by the cell.
20. The system of claim 11, wherein each of the plurality of data structures is associated with a budget weight, and wherein each budget weight is determined based on a pricing tier.
21-60. (canceled)
Type: Application
Filed: Dec 27, 2013
Publication Date: Jul 10, 2014
Applicant: United Video Properties, Inc. (Santa Clara, CA)
Inventors: Matthew Emans (Boston, MA), John Hoctor (Newton, MA), Jonathan Turner (Nashua, NH)
Application Number: 14/142,226