A computer-implemented method for generating a proposed bid includes receiving an input generated by a first content provider as part of a bidding process where content providers bid for opportunities to provide content for publication. The input indicates (i) a resource for publishing first content from the first content provider and (ii) a campaign characteristic associated with the first content. The method includes determining a proposed bid for the first content provider based on the input and on historical data from the bidding process associated with the resource. The method includes presenting the proposed bid to the first content provider.
1. A computer-implemented method comprising:
generating, by one or more processors, a user interface that includes controls for controlling distribution of content items; receiving, by the one or more processors and through the user interface, input specifying (i) a future date range for the publication of the first content item on the desired website, and (ii) a campaign distribution goal from among a plurality of content item distribution goals, wherein the plurality of content item distribution goals includes having users take a specific action during the future date range; determining, by the one or more processors and using a model generated (a) using machine learning and (b) based at least on (i) history data that indicates one or more prior outcomes of processes through which other content items were distributed, and (ii) the campaign distribution goal, an estimated audience size specifying a number of unique users predicted to be delivered the content item during the future date range as a result of distributing the content item according to the content item distribution goals; and updating, by the one or more processors, the user interface to present data indicating the estimated audience size during the future date range as a result of distributing the content item according to the distribution goals. 2. The method of in response to interaction with controls within the user interface, updating the user interface to present updated data indicating an updated estimated audience size as a result of distributing the content item according to changes corresponding to the interaction with the controls. 3. The method of receiving, through the user interface, a budget for distribution of the content item; and generating a proposed bid for publishing the content item over the future date range based on a target budget for distribution of the content item. 4. The method of 5. The method of 6. The method of 7. The method of 8. A system comprising:
one or more computers and one or more storage devices storing instructions that, when executed by the one or more computers, cause the one or more computers to perform operations comprising:
generating a user interface that includes controls for controlling distribution of content items; receiving, through the user interface, input specifying (i) a future date range for the publication of the first content item on the desired website, and (ii) a campaign distribution goal from among a plurality of content item distribution goals, wherein the plurality of content item distribution goals includes having users take a specific action during the future date range; determining, and using a model generated (a) using machine learning and (b) based at least on (i) history data that indicates one or more prior outcomes of processes through which other content items were distributed, and (ii) the campaign distribution goal, an estimated audience size specifying a number of unique users predicted to be delivered the content item during the future date range as a result of distributing the content item according to the content item distribution goals; and updating the user interface to present data indicating the estimated audience size during the future date range as a result of distributing the content item according to the distribution goals. 9. The system of in response to interaction with controls within the user interface, updating the user interface to present updated data indicating an updated estimated audience size as a result of distributing the content item according to changes corresponding to the interaction with the controls. 10. The system of receiving, through the user interface, a budget for distribution of the content item; and generating a proposed bid for publishing the content item over the future date range based on a target budget for distribution of the content item. 11. The system of 12. The system of 13. The system of 14. The system of 15. A non-transitory computer-readable medium storing software comprising instructions executable by one or more computers which, upon such execution, cause the one or more computers to perform operations comprising:
generating a user interface that includes controls for controlling distribution of content items; receiving, through the user interface, input specifying (i) a future date range for the publication of the first content item on the desired website, and (ii) a campaign distribution goal from among a plurality of content item distribution goals, wherein the plurality of content item distribution goals includes having users take a specific action during the future date range; determining, and using a model generated (a) using machine learning and (b) based at least on (i) history data that indicates one or more prior outcomes of processes through which other content items were distributed, and (ii) the campaign distribution goal, an estimated audience size specifying a number of users predicted to be delivered the content item during the future date range as a result of distributing the content item according to the content item distribution goals; and updating the user interface to present data indicating the estimated audience size during the future date range as a result of distributing the content item according to the distribution goals. 16. The non-transitory computer-readable medium of in response to interaction with controls within the user interface, updating the user interface to present updated data indicating an updated estimated audience size as a result of distributing the content item according to changes corresponding to the interaction with the controls. 17. The non-transitory computer-readable medium of receiving, through the user interface, a budget for distribution of the content item; and generating a proposed bid for publishing the content item over the future date range based on a target budget for distribution of the content item. 18. The non-transitory computer-readable medium of 19. The non-transitory computer-readable medium of 20. The non-transitory computer-readable medium of
This application is a continuation of U.S. application Ser. No. 16/052,841, filed on Aug. 2, 2018, which is a continuation of U.S. application Ser. No. 14/753,164, now U.S. Pat. No. 10,068,260, filed on Jun. 29, 2015, which is a continuation of U.S. application Ser. No. 13/620,580, now U.S. Pat. No. 9,076,166, filed on Sep. 14, 2012, which is a continuation of U.S. application Ser. No. 12/394,249, now U.S. Pat. No. 8,315,908, filed on Feb. 27, 2009, which are hereby incorporated by reference in their entirety. This document relates to information processing. Advertisers can run advertisement campaigns in any of multiple different platforms, including the Internet, television, radio, printed media and billboards. Advertisements used in advertising campaigns can cover a range of products and services and can be directed toward specific audiences or more generally toward the greater population. For example, publishers operating websites can provide space to advertisers for presenting advertisements. Advertisements presented on a website are sometimes selected based on the content of the website. In a first aspect, a computer-implemented method for generating a proposed bid includes receiving an input generated by a first content provider as part of a bidding process where content providers bid for opportunities to provide content for publication. The input indicates (i) a resource for publishing first content from the first content provider and (ii) a campaign characteristic associated with the first content. The method includes determining a proposed bid for the first content provider based on the input and on historical data from the bidding process associated with the resource. The method includes presenting the proposed bid to the first content provider. Implementations can include any, all or none of the following features. The proposed bid can be presented in a bidding screen generated on a display device, the bidding screen configured for the first content provider to submit a bid in the bidding process for publishing the first content. The campaign characteristic can include a goal selected by the first content provider for a campaign that includes the first content. The goal can include a budget for the campaign. The campaign can include electronic publishing of the first content, and the goal can include a number of impressions that the first content is to receive in the campaign. Determining the proposed bid can include maximizing a value of the campaign for the first content provider within the goal. The proposed bid can indicate a bid amount that based on the historical data is required to win the bidding process for the resource. Determining the proposed bid can include generating a model of the bidding process based on the historical data; projecting a bidding condition at a future date specified for the first content, the bidding condition projected using the model; and selecting the proposed bid based on the bidding condition. The first content can be an advertisement, the first content provider can be an advertiser seeking to publish the advertisement, the resource can be at least one page available for receiving advertising, and the proposed bid can include at least a bid amount. In a second aspect, a computer-implemented method for generating a proposed bid includes generating a graphical user interface (GUI) to be used by advertisers in an advertisement bidding process, the GUI configured for the advertisers to choose between a plurality of pages and to submit bids in a bidding process for rights to electronically display advertisements on at least one selected page. The method includes receiving an input generated by a first advertiser as part of the bidding process. The input indicates (i) a selection of at least a first page among the plurality of pages for publishing a first advertisement from the first advertiser; (ii) a campaign goal for an advertising campaign associated with the first advertisement, the campaign goal including at least one of a budget and a number of impressions that the first advertisement is to receive in the advertising campaign; and (iii) a future date for conducting the advertising campaign. The method includes identifying historical data gathered in the bidding process relating to the first page, the historical data indicating outcomes of previous auctions for placing advertisements on the first page. The method includes generating a model of the bidding process based on the historical data. The method includes projecting a bidding condition at the future date using the model, the bidding condition indicating at least a bid amount that based on the historical data is required to win the bidding process for the first page. The method includes determining a proposed bid for the first advertiser based on the input and on the bidding condition. The method includes presenting the proposed bid to the first advertiser in the GUI, wherein the GUI is configured so that the first advertiser can choose between accepting the proposed bid and submitting another bid for the advertising campaign. In a third aspect, a graphical user interface for generating a proposed bid includes a first input control for a first content provider to generate an input as part of a bidding process where content providers bid for opportunities to provide content for publication. The input control configures the input to indicate (i) a resource for publishing first content from the first content provider and (ii) a campaign characteristic associated with the first content. The graphical user interface includes a bid proposal area presenting a proposed bid to the first content provider, the proposed bid determined for the first content provider based on the input and on historical data from the bidding process associated with the resource. Implementations can include any, all or none of the following features. The bid proposal area can include a bid entry area for entering a bid for the advertising campaign. The graphical user interface can be configured so that the first advertiser can choose between accepting the proposed bid and submitting the other bid for the advertising campaign. The campaign characteristic can include a goal selected by the first content provider for a campaign that includes the first content. The goal can include a budget for the campaign. The campaign can include electronic publishing of the first content, and the goal can include a number of impressions that the first content is to receive in the campaign. The proposed bid can indicate a bid amount that based on the historical data is required to win the bidding process for the resource. Implementations can provide any, all or none of the following advantages. Content distribution such as advertising can be improved. A more efficient approach for matching content distributors with content publishers can be provided. Content distribution can be improved by providing a suggested bid for content distribution based on past data. More accurate bids can be provided to distributors, for example in order to reduce bids that are too low and result in under-delivery of content, and bids that are too high and result in inefficient use of money. The details of one or more implementations are set forth in the accompanying drawings and the description below. Other features and advantages will be apparent from the description and drawings, and from the claims. Like reference symbols in the various drawings indicate like elements. In some implementations, content, such as an advertisement, can include any form of communication in which one or more products, services, ideas, messages, people, organizations or other items are identified and promoted, or otherwise communicated. Advertisements are not limited to commercial promotions or other communications. An advertisement may be a public service announcement or any other type of notice, such as a public notice published in printed or electronic press or a broadcast. An advertisement may be referred to or include sponsored content. Contents, such as advertisements, can be communicated via any of various mediums and in various forms. In some examples, advertisements may be communicated through an interactive medium, such as the Internet, and may include graphical advertisements (e.g., banner advertisements), textual advertisements, image advertisements, audio advertisements, video advertisements, advertisements combining one of more of any of such components, or any form of electronically delivered advertisement, to name a few examples. Contents can include embedded information, such as embedded media, links, meta-information, and/or machine executable instructions. Contents can be communicated through RSS (Really Simple Syndication) feeds, radio channels, television channels, print media, and other media, for example. Here, the system 100 includes an advertisement distributor system 102, publisher systems 104 The advertisement distributor system 102 can be used for distribution of any kind of content, such as advertisements. Here, the advertisement distributor system 102 is associated with a bidding process 110, data 112, and a user interface 114. For example, the bidding process 110 can facilitate bid submission by advertisers or other content providers; collect and evaluate submitted bids; and award content distribution rights to one or more bidders according to one or more rules. Rules can include awarding rights to the highest bidder, or in recognition of services performed (e.g., because of the community commitment of the content provider), to name a few examples. In some implementations, the advertisement distributor system 102 and/or the bidding process 110 can generate one or more advertisement campaign proposals and present the proposals to a prospective bidder. For example, a proposal can help a prospective bidder to avoid over- or underbidding in a particular bidding process. In some implementations, the proposals are submitted to the advertisement distributor system 102, publisher system 104 An advertisement campaign proposal can relate to any kind of contents such as one or more advertisements. When an advertisement campaign includes multiple advertisements, the advertisements can be for related goods or services, or for unrelated goods or services. In some implementations, the advertisements are of a similar creative type or of a variety of creative types. Creative types can, for example, include text advertisements, video advertisements, image advertisements, audio advertisements, or gadgets, to name a few examples. The advertisement distributor system 102 can, for example, use historical data, such as data 112, for the generation of a model of the advertisement bidding process. The advertisement bidding process model can be used to create an advertisement campaign proposal. The data 112 can include historical information on previous advertisement campaigns including the website(s) used, the goals of previous campaigns, the cost per thousand impressions (CPM), the daily pageviews, or the number of unique viewers of the campaigns, among others. Historical data can include region information, such as information on the cost of advertising campaigns or the number of daily impression views in certain countries, states, provinces, or cities, to name a few examples. Historical data can, for example, include information related to any other type of content campaign. In some implementations, the advertisement distributor system 102 can generate a model of the advertisement bidding process in real time. This can, for example, provide more accurate bidding process models. In other implementations, the generation of model of the content bidding process can be run on a schedule, such as weekly, monthly, or at any other time interval. For example, a schedule can be selected based on the performance or accuracy of a campaign proposals created from the bidding process model, time and/or cost considerations for the generation of the bidding process model (e.g., computation time), or any other criteria. For example, the advertisement distributor system 102 can take into account the date of the data 112 and the date for the desired advertising campaign in the generation of the proposal. The advertisement distributor system 102 can determine patterns based on time of year, season, holidays, or other date related trends, that may influence an advertising campaign. In some implementations, more recent historical data will have more of an influence on the advertisement distributor system 102 compared to historical data that is a few years old. In other implementations, historical data that is a year or two old will have more weight in the generation of a bid proposal than historical data for an advertising campaign that occurred a week before the generation of the proposal. In certain implementations, the advertisement distributor system 102 can generate one or more advertisement campaign proposals. For example, the advertisement distributor system 102 can generate a bid proposal for the advertisement campaign if the campaign started the day after the proposal is presented to the user, and generate another proposal for a week later, or any other combination of number of proposals and campaign start dates. The one or more advertisement campaign proposals can be presented to the user in an overview with navigation to more specific data for each of the different proposals (e.g., on a computer display). The advertisement distributor system 102 can, for example, analyze the data 112 using one or more of logistic regression, Poisson regression, linear regression, or nonparametric regression, to name a few examples. The advertisement distributor system 102 can use artificial intelligence, such as machine learning, to update the algorithm that generates the model for the advertising campaign bid proposal. Examples of machine learning algorithm types can include supervised learning, unsupervised learning (e.g., neural networks), reinforcement learning, or any other algorithm type. In some implementations, the advertisement distributor system 102 can receive submitted bid proposals and track information relating to the bid proposal. Tracked information can include acceptance rate of the bid proposal, success of the content campaign (e.g., how accurate the information provided in the bid proposal was in light of the campaign results), CPM value(s) included in the bid proposal, or forecasted number of impression, to name a few examples. Tracked information, or any other information relating to the submitted bid proposals, can, for example, be used to update the algorithm used to analyze the data 112, such as historical data, or the algorithm used to make projections of future bidding conditions. In some implementations, the data 112 is collected by the advertisement distributor system 102. In other implementations, advertiser systems 106 The proposed bid can represent an effort to inform the content provider about the level of bid that is likely to be necessary to win the bidding process. In some implementations, past bidding activities are taken into account, such as from the data 112, to estimate the bid amount for a successful submission. For example, the advertisement distributor system 102 can attempt to optimize the advertiser's bid by determining a lowest bid level that is statistically consistent with a predetermined likelihood of prevailing in the bidding process. The user interface 114 can, for example, present the generated advertising campaign bid proposal to a user, such as an operator of the advertiser system 106 Publisher systems 104 In some implementations, publisher systems 104 The advertiser systems 106 For example, the advertiser system 106 In some implementations, a user, such as an operator of the advertiser system 106 Here, when the daily budget radio button 234 is selected, the user has three options for the campaign goal distribution control 204. In other implementations, alternate campaign distribution options can be provided, such as selection of the highest cost content space, purchase of content space with the most views (e.g., television, radio, billboards, mailings), or random distribution of costs, to name a few examples. The campaign goal distribution control 204 includes a balanced radio button 240, a distribute evenly radio button 242, and a minimize cost radio button 244. In some implementations, the balanced radio button 240 can be used to select as a high level goal the best value and impact possible for a campaign. For example, the proposed bid selected by the advertisement distributor system 102 based on selection of the balanced radio button 240 can present the user with a media content campaign that maximizes the size of the target audience with the lowest cost impression possible to meet the goal. User selection of the distribute evenly radio button 242 can select a goal for a media content campaign that distributes the budget evenly between content space, such as publisher system websites. For example, if a user entered a budget of $100 in the daily budget field 236 and selected four publisher websites, such as those in the site list content 214, then the advertisement distributor system 102 would generate a proposed bid with a budget of $25 for each website for presentation to the user. Selection of the minimize cost radio button 244 can, for example, present the user with a proposed bid that distributes the budget between the cheapest impressions. In some implementations, when the daily impressions radio button 238 is selected a daily impressions field (not shown), similar to the daily budget field 236, can be displayed in the GUI 200. The daily impressions radio button 238 can, for example, have one or more impression related goals displayed in the GUI 200 (e.g., contained within the campaign goal distribution control 204). Impression related goals can include minimizing cost of the desired daily impressions, distributing the impressions evenly between content space, distributing the daily impressions between the widest variety of content space types (e.g., websites, television, radio, newspaper) for the lowest cost, or distributing the impressions to the widest audience (e.g., the largest number of unique viewers), to name a few examples. With selection of the daily impressions radio button 238 and an appropriate distribution goal, the advertisement distributor system 102 can, for example, present the user with a proposed bid for a content campaign based on a daily impression count of the content. In some implementations, the user can be an operator of the advertiser system 106 The geo-targeting control 206 can, for example, allow the user to select the desired geographical regions for the content campaign. Some types of regions can include countries, states, provinces, cities, time zones, climates, or any other type of region. Some countries can include the United States, the United Kingdom, France, or Germany, to name a few examples. The creative types control 208 can, for example, allow the user to select the campaign content type. Content types can include text, images, video, audio, graphics, media, gadgets, holograms, or any other type of information. In some implementations, the user can enter a date or date range for the content campaign into a field in the GUI 200 for use in the generation of the bid proposal. For example, if the content campaign is going to be during a specific future date range, the user can input that date or date range in order to receive a bid proposal for that date range. In other implementations, the bid proposal can be for a single day, a week, a month, or any other amount of time. In some implementations, the date for the bid proposal is predetermined, such as the following day, five days from the bid proposal, or a week from the date of the bid proposal, to name a few examples. For example, a user, such as an operator of the advertiser system 106 In some implementations, the user can enter a maximum CPM bid amount in a field in the bid control 210 associated with a content space in the site list content 214. The association between the field and the content space can, for example, be presentation in a similar location in the GUI 200, such as the same row of the GUI 200. The user can add one or more content spaces, such as page 116, to the site list content 214 by entering content space into the add to site list control 212 and selecting the load sites button 226, for example. Alternatively, the user can select either of the add site buttons 228 Selection of either of the build proposal buttons 230 The overall site stats content 216 includes daily pageviews content 246 and an average site CPM content 248. Historical data, such as data 112, can be used by the advertisement distributor system 102 to create a model of the bidding process. The advertisement distributor system 102 can, for example, use the historical data and/or the model of the bidding process to provide data to populate the overall site stats content 216. In some implementations, for each content space in the site list content 214 there can be associated daily pageview and average site CPM information, such information can be displayed in the daily pageviews content 246 and the average site CPM content 248. The daily pageview information can, for example, be the average number of views of the content space over the past week, month, or year, to name a few examples. The average site CPM information can be the average CPM for the past week, month, or any other period of time. In some implementations, the daily pageview information and the average site CPM information can be based on the same period of time, or in others they can be based on different time periods. The time period can, for example, be continuous (e.g., the last year), based on season (e.g., fall of the last four years, not counting the current year), holiday based, or any other period or combination of periods of time. In another implementation, the time period can be based on statistics of the content space or other content spaces. If the content space, such as page 116, for example, has only existed for two and a half months, the daily page view and the average site CPM information can be determined over that two and a half month period. Related or unrelated content space can, for example, determine the time period for the daily pageview and average site CPM information based on trends or other information about the content spaces. The forecasted delivery content 218 includes CPM content 250, impressions content 252, and cost content 254. The advertisement distributor system 102 can populate the forecasted delivery content 218 with future content campaign projections (e.g., for campaigns at the date/date range specified by the user) based on the model of the bidding process and user input. For example, the forecasted delivery content 218 can be estimated values based on the future projection determined by the advertisement distributor system 102. The CPM content 250 can, for example, be the average CPM of the impressions presented on the associated content space as estimated in the proposed bid for the current campaign. The advertisement distributor system 102 can populate the fields in the bid control 210 with the proposed content distribution bid. The proposed content distribution bid can, for example, be the maximum CPM value(s) that the user would pay in order to display content on the content space. For example, the advertisement distributor system 102 can present a proposed bid to an operator of the advertiser system 106 The chart (raw histogram) control 220 can, for example, allow the user to view historical bidding data relating to content space. In some implementations, selection of the chart (raw histogram) control 220 can present a histogram, or any other type of chart, graph, or graphical presentation, for a content space to the user. The chart (raw histogram) control 220 can present data from the bidding process model created by the advertisement distributor system 102. For example, the chart (raw histogram) control 220 can present data related to the overall site stats content 216. In some implementations, the chart applying suggested bid control 222 can present information used in the projection of future bidding conditions to the user. For example, the advertisement distributor system 102 can make a projection of future bidding conditions of a content space based on historical data and determine a bid proposal to present to the user. Selection of the chart applying suggested bid control 222 associated with the content space can present the projection of future bidding conditions of the content space to a user. While viewing the presented chart the user can, for example, see the current bid proposal and/or change the bid proposal by interacting with the chart, thereby updating a field in the bid control 210. Selection of the chart applying suggested bid control 222 can present the user with a chart, a graph, or any other type of graphical presentation of the information. In some implementations, the chart applying suggested bid control 222 can present the user with additional information, such as information relating to the likelihood that a bid proposal will win the bidding process. The user can, for example, select a different bid and see the probability of that bid winning the bidding process. The bid proposal summary content 224 includes a total cost content 256, a total impressions content 258, and an average CPM content 260. The bid proposal summary content 224 can, for example, present the user with a proposed bid generated by the advertisement distributor system 102. The proposed bid can be based on input entered by the user into the GUI 200, a bidding condition projected by the advertisement distributor system 102, any combination thereof, or some other information or data. The total cost content 256 can display the total cost for the proposed bid. In some implementations, the total cost can be a daily cost, a weekly cost, a monthly cost, or the cost for the entire content campaign based on the date range entered by the user, to name a few examples. Here, the total daily cost is $99.99, just under the desired daily budget of $100. The cost content 254 can be used to determine the total cost of the proposed bid. For example, the sum of all the fields in the cost content 254 can add up or be near to the total cost of the proposed bid. The advertisement distributor system 102 can, for example, select the proposed bid based on the likelihood that the proposed bid will win the bidding process given the total cost of the bid and historical data. In some implementations, the advertisement distributor system 102 can present the user with an estimate of the chance or confidence that the user will win the bidding process. For example, if the user selects the balanced radio button 240, or some other optimized campaign goal distribution control 204, the advertisement distributor system 102 can attempt to optimize the content campaign by determining the lowest bid with a given probability of winning the bidding process. The total impressions content 258 can be the total number of content impressions for the content campaign. For example, the advertisement distributor system 102 can present a user, such as an operator of the advertiser system 106 The average CPM content 260 can contain information from the advertisement distributor system 102 on the average CPM cost over the entire content campaign. The average CPM cost can be an un-scaled average of the values in the CPM content 250, a scaled average CPM (e.g., total cost/total impressions*one thousand), or an average CPM over a date range for a content campaign, to name a few examples. Here, the average CPM is $1.14 (e.g., $99.99/87,575*1,000) and the un-scaled average CPM is $1.74 (e.g., [$1.30+$3.92+$1.25+$0.50]/4). In some implementations, a user can change any of content space, budget information, goal information, geo-targeting information, creative types, date range, and/or any other campaign related information after receiving a proposed bid. The user can, for example, request a new bid proposal by changing one or more input values and selecting the build proposal button 230 Step 302 receives input generated by a first content provider as part of a bidding process where content providers bid for opportunities to provide content for publication. The input indicates a resource for publishing first content from the first content provider and a campaign characteristic associated with the first content. For example, the advertisement distributor system 102 and/or bidding process 110 can receive input generated by a content provider, such as the advertiser system 106 In some implementations, the campaign characteristic associated with the first content includes a goal selected by the first content provider for a campaign that includes the first content. The goal can include a budget for the advertising campaign, publishing a number of impressions of the first content, or maximizing a value of the campaign (e.g., the number of unique viewers of the first content), to name a few examples. Some other goals can include demographic information on the desired audience of the campaign, minimizing cost of the campaign, distribution of a value evenly across the campaign, or some combination thereof. The campaign characteristic can, for example, include one or more campaign characteristics. In some implementations, the first content can include text, images, video, data, audio, or any other kind of media. The first content can, for example, include an advertisement, such as the advertisement 118 Step 304 determines a proposed bid for the first content provider based on the input and on historical data from the bidding process associated with the resource. For example, the determination of a bid proposal can include generation of a model of the bidding process based on the historical data. The bid proposal can be based on a projection of a bidding condition at a future date specified for the first content, where the bidding condition is projected using the model of the bidding process. For example, the data 112 can contain historical data on media campaigns associated with the page 116. The bidding process 110 can analyze the data 112 and generate a model of the historical bidding process for the page 112. The advertisement distributor system 102 can create a projection of a bidding condition at a future date for the advertisement 118 Step 306 presents the proposed bid to the first content provider. For example, the proposed bid can be presented in a bidding screen generated on a display device. The display device can, for example, be a part of or connected to a server, a personal computer, or any other type of electronic device, such as a device running the user interface 114. The bidding screen can be configured for the first content provider, such as the advertiser system 106 The memory 420 stores information within the system 400. In one implementation, the memory 420 is a computer-readable medium. In one implementation, the memory 420 is a volatile memory unit. In another implementation, the memory 420 is a non-volatile memory unit. The storage device 430 is capable of providing mass storage for the system 400. In one implementation, the storage device 430 is a computer-readable medium. In various different implementations, the storage device 430 may be a floppy disk device, a hard disk device, an optical disk device, or a tape device. The input/output device 440 provides input/output operations for the system 400. In one implementation, the input/output device 440 includes a keyboard and/or pointing device. In another implementation, the input/output device 440 includes a display unit for displaying graphical user interfaces. The features described can be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. The apparatus can be implemented in a computer program product tangibly embodied in an information carrier, e.g., in a machine-readable storage device or in a propagated signal, for execution by a programmable processor; and method steps can be performed by a programmable processor executing a program of instructions to perform functions of the described implementations by operating on input data and generating output. The described features can be implemented advantageously in one or more computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and at least one output device. A computer program is a set of instructions that can be used, directly or indirectly, in a computer to perform a certain activity or bring about a certain result. A computer program can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. Suitable processors for the execution of a program of instructions include, by way of example, both general and special purpose microprocessors, and the sole processor or one of multiple processors of any kind of computer. Generally, a processor will receive instructions and data from a read-only memory or a random access memory or both. The essential elements of a computer are a processor for executing instructions and one or more memories for storing instructions and data. Generally, a computer will also include, or be operatively coupled to communicate with, one or more mass storage devices for storing data files; such devices include magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and optical disks. Storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in, ASICs (application-specific integrated circuits). To provide for interaction with a user, the features can be implemented on a computer having a display device such as a CRT (cathode ray tube) or LCD (liquid crystal display) monitor for displaying information to the user and a keyboard and a pointing device such as a mouse or a trackball by which the user can provide input to the computer. The features can be implemented in a computer system that includes a back-end component, such as a data server, or that includes a middleware component, such as an application server or an Internet server, or that includes a front-end component, such as a client computer having a graphical user interface or an Internet browser, or any combination of them. The components of the system can be connected by any form or medium of digital data communication such as a communication network. Examples of communication networks include, e.g., a LAN, a WAN, and the computers and networks forming the Internet. The computer system can include clients and servers. A client and server are generally remote from each other and typically interact through a network, such as the described one. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. A number of embodiments have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of this disclosure. Accordingly, other embodiments are within the scope of the following claims.CROSS-REFERENCE TO RELATED APPLICATIONS
TECHNICAL FIELD
BACKGROUND
SUMMARY
DESCRIPTION OF DRAWINGS
DETAILED DESCRIPTION