{"_id":"5c4a3999c3fb970014d5e1d3","project":"56c35c56c0c4630d004e864c","version":{"_id":"56c35c56c0c4630d004e864f","project":"56c35c56c0c4630d004e864c","__v":8,"createdAt":"2016-02-16T17:28:54.864Z","releaseDate":"2016-02-16T17:28:54.864Z","categories":["56c35c57c0c4630d004e8650","56c7b9e5379b311700ed8fe3","56c7bab4606ee717003c4766","56c7bb3613e5400d001e8cbd","56cf3f5a5267d70b00494c4b","56cf3f866c5d7a13005ee894","56fd3956caad892200847bce","599da256e7742b002588bb02"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"","version_clean":"0.5.0","version":"0.5"},"category":{"_id":"56c7bab4606ee717003c4766","project":"56c35c56c0c4630d004e864c","__v":18,"pages":["56c7c193f9aa3b0d00c8458f","56cb80a4c675f50b00a4b826","56cb83859f4ae20b00644f1f","56cb853a245b841300806f82","56cb863c32011d2500681925","56cb88a4245b841300806f8b","56cb9915245b841300806fa7","56cb9a079f4ae20b00644f48","56cb9b5bc675f50b00a4b859","56cba5929f4ae20b00644f5d","56cba5c5d5c6241d00ef5e93","56cbab9c9f4ae20b00644f76","56cbad69c675f50b00a4b881","56cbb060d5c6241d00ef5ebb","56cf3c4d6c5d7a13005ee88c","56cf3d0e287eb20b009f9ec7","56cf3d7c5267d70b00494c42","56cf3ee0287eb20b009f9ecd"],"version":"56c35c56c0c4630d004e864f","sync":{"url":"","isSync":false},"reference":false,"createdAt":"2016-02-20T01:00:36.607Z","from_sync":false,"order":0,"slug":"buzz-concepts","title":"Buzz Concepts"},"user":"56c39c05bc41330d009f25d7","__v":1,"parentDoc":null,"metadata":{"title":"","description":"","image":[]},"updates":["5c9e4e6b86050a0063002d51"],"next":{"pages":[],"description":""},"createdAt":"2019-01-24T22:18:01.977Z","link_external":false,"link_url":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":9,"body":"[block:api-header]\n{\n  \"title\": \"Overview of Bidding Options\"\n}\n[/block]\nBeeswax gives you enormous flexibility in shaping how to bid on auctions for any given [Line Item](doc:line-items). This article explains the options and the components necessary for implementing the right bidding strategy for your business.\n\nAt a high level, there are four options supported, ranked from simplest to most powerful:\n[block:parameters]\n{\n  \"data\": {\n    \"h-0\": \"Bidding option\",\n    \"h-1\": \"What is it?\",\n    \"h-2\": \"Pros\",\n    \"h-3\": \"Cons\",\n    \"0-0\": \"Hexbid\",\n    \"0-1\": \"Beeswax-created algorithms you can use out of the box. See list of supported strategies [here](doc:list-of-bidding-strategy-modules-and-keys)\",\n    \"0-2\": \"No work required\",\n    \"0-3\": \"Not custom to your needs, doesn't support CPA/CPI.\",\n    \"1-0\": \"[Bid Modifier: Terms](doc:bid-modifier-overview)\",\n    \"1-1\": \"API- and UI-supported way to multiple the bid based on common RTB parameters.\",\n    \"1-2\": \"* Powerful\\n* Easy to understand and use\\n* Supports user- and list-lever scoring\",\n    \"1-3\": \"* Each term is evaluated in isolation, permutations are not supported\\n* Limit of 1,000 variables per modifier\",\n    \"2-0\": \"[Bid Modifier: Bid Models](doc:bid-models-overview)\",\n    \"2-1\": \"Offline models uploaded with up to millions of permutations of RTB parameters determining the bid amounts or multipliers.\",\n    \"2-2\": \"* Supports complex permutations\\n* No need to host infrastructure\",\n    \"2-3\": \"* Asynchronous upload may delay model going live immediately\\n* Model features limited to fields available on bid request\",\n    \"3-0\": \"[Bidding Agent](doc:bidding-agent)\",\n    \"3-1\": \"Custom code to determine bids in real-time\",\n    \"3-2\": \"No limits to what you can do\",\n    \"3-3\": \"Engineering resources required to build, test, and maintain\"\n  },\n  \"cols\": 4,\n  \"rows\": 4\n}\n[/block]\n\n[block:api-header]\n{\n  \"title\": \"Using Bidding Strategies and Line Items\"\n}\n[/block]\nThe bidding strategy to use is determined at the Line Item level through the interaction of the `bidding_strategy`, `bid_modifier_id`, and `max_bid` field. \n\nThe `bidding_strategy` field is always required for every Line Item and determines which strategy to use, what parameters to send to the strategy, and whether to apply pacing on top of the bidding (learn mode about [Bidding Strategies](doc:bidding-strategies)).\n\nBidding Strategies interact with Bid Modifiers, Bid Models, and Pacing as shown below:\n[block:parameters]\n{\n  \"data\": {\n    \"h-0\": \"Bidding Strategy\",\n    \"h-1\": \"Pacing\",\n    \"h-2\": \"Bid Modifier/Bid Models\",\n    \"0-0\": \"Hexbid: CPM-based strategies\",\n    \"0-1\": \"Yes\",\n    \"0-2\": \"Yes\",\n    \"1-0\": \"Hexbid: VCR strategy\",\n    \"1-1\": \"Yes\",\n    \"1-2\": \"Yes\",\n    \"2-0\": \"Hexbid: CPC strategy\",\n    \"2-1\": \"No\",\n    \"2-2\": \"No\",\n    \"3-0\": \"Bidding Agent\",\n    \"3-1\": \"Yes\",\n    \"3-2\": \"No\"\n  },\n  \"cols\": 3,\n  \"rows\": 4\n}\n[/block]\n\n[block:api-header]\n{\n  \"title\": \"Hexbid: Pre-Built Optimization for Simple KPIs\"\n}\n[/block]\nBeeswax offers a number of common optimization and pacing strategies out of the box, under the product name `Hexbid`. Hexbid strategies can be used without any engineering work, and are available in the Buzz UI as well as the API. The list of available strategies can be found [here](doc:list-of-bidding-strategy-modules-and-keys).\n[block:api-header]\n{\n  \"title\": \"Bid Modifier \\\"Terms\\\": Powerful Yet Simple Controls Over Bidding\"\n}\n[/block]\nBid Modifier (sometimes called \"Bid Multipliers\" or \"Bid Factors\") are a common technique in bidding systems to allow you to increase or decrease the bid given the presence of a value in the RTB auction. For a simple example, you could multiply the bid by 2x when the user is on the Safari browser and reduce the bid by 0.5x when on the Crome browser.\n\nFor further information on Bid Modifiers see:\n* [Bid Modifier Terms](doc:bid-modifier-terms) \n* [bid_modifier POST API](doc:bid_modifier) \n[block:api-header]\n{\n  \"title\": \"Bid Modifier \\\"Bid Models\\\": Bring Your Data Science Directly to Bidding\"\n}\n[/block]\nWhile Bid Modifier Terms are a powerful tool, they are limited in their ability to express relationships between variables on the bid request. Bid Models lets you determine the bid when any specific combination of variables is present on the bid request, such as when the user is on the Chrome browser and it is 2PM in the afternoon, to give a random example.\n\nIn general Bid Models are meant to be flexible, allowing you to use any modeling tools/workflow and express the model in a straight forward format.  A typical workflow might look like the following:\n\n* Create a model using Beeswax logs (wins, conversions, etc).  Model features are bid request keys, and the prediction is either a bid or a bid multiplier.\n* Create a [Bid Model](doc:bid-models-overview) via API or UI, then upload an associated Bid Model Version to S3.  Upload includes a manifest file and set of data files.\n* Attach the Bid Model to a [Bid Modifier](doc:bid-modifier-overview) and traffic a [Campaign](doc:campaigns).\n* Beeswax does a lookup against the Bid Model for each matching bid request. If there is a match, the value from the model is used as the bid or multiplier.  If there is no match, the default bid is used.\n* As more performance data is collected, the model can be re-trained and uploaded as a new [Bid Model Version](doc:bid-model-versions-overview).\n\nFor more information see [Bid Models](doc:bid-models-overview).\n[block:api-header]\n{\n  \"title\": \"Bidding Agents\"\n}\n[/block]\nBidding Agents are the most powerful custom bidding integration available from Beeswax. With Bidding Agents you can respond to each auction request with your own proprietary logic and algorithms, written in whatever programming language you desire. Read more about Bidding Agents in our [Stinger Documentation](doc:about-the-stinger-bidder).","excerpt":"","slug":"hexbid-bidding-agents-bid-modifiers-and-bid-models","type":"basic","title":"Hexbid, Bidding Agents, Bid Modifiers, and Bid Models"}

Hexbid, Bidding Agents, Bid Modifiers, and Bid Models


[block:api-header] { "title": "Overview of Bidding Options" } [/block] Beeswax gives you enormous flexibility in shaping how to bid on auctions for any given [Line Item](doc:line-items). This article explains the options and the components necessary for implementing the right bidding strategy for your business. At a high level, there are four options supported, ranked from simplest to most powerful: [block:parameters] { "data": { "h-0": "Bidding option", "h-1": "What is it?", "h-2": "Pros", "h-3": "Cons", "0-0": "Hexbid", "0-1": "Beeswax-created algorithms you can use out of the box. See list of supported strategies [here](doc:list-of-bidding-strategy-modules-and-keys)", "0-2": "No work required", "0-3": "Not custom to your needs, doesn't support CPA/CPI.", "1-0": "[Bid Modifier: Terms](doc:bid-modifier-overview)", "1-1": "API- and UI-supported way to multiple the bid based on common RTB parameters.", "1-2": "* Powerful\n* Easy to understand and use\n* Supports user- and list-lever scoring", "1-3": "* Each term is evaluated in isolation, permutations are not supported\n* Limit of 1,000 variables per modifier", "2-0": "[Bid Modifier: Bid Models](doc:bid-models-overview)", "2-1": "Offline models uploaded with up to millions of permutations of RTB parameters determining the bid amounts or multipliers.", "2-2": "* Supports complex permutations\n* No need to host infrastructure", "2-3": "* Asynchronous upload may delay model going live immediately\n* Model features limited to fields available on bid request", "3-0": "[Bidding Agent](doc:bidding-agent)", "3-1": "Custom code to determine bids in real-time", "3-2": "No limits to what you can do", "3-3": "Engineering resources required to build, test, and maintain" }, "cols": 4, "rows": 4 } [/block] [block:api-header] { "title": "Using Bidding Strategies and Line Items" } [/block] The bidding strategy to use is determined at the Line Item level through the interaction of the `bidding_strategy`, `bid_modifier_id`, and `max_bid` field. The `bidding_strategy` field is always required for every Line Item and determines which strategy to use, what parameters to send to the strategy, and whether to apply pacing on top of the bidding (learn mode about [Bidding Strategies](doc:bidding-strategies)). Bidding Strategies interact with Bid Modifiers, Bid Models, and Pacing as shown below: [block:parameters] { "data": { "h-0": "Bidding Strategy", "h-1": "Pacing", "h-2": "Bid Modifier/Bid Models", "0-0": "Hexbid: CPM-based strategies", "0-1": "Yes", "0-2": "Yes", "1-0": "Hexbid: VCR strategy", "1-1": "Yes", "1-2": "Yes", "2-0": "Hexbid: CPC strategy", "2-1": "No", "2-2": "No", "3-0": "Bidding Agent", "3-1": "Yes", "3-2": "No" }, "cols": 3, "rows": 4 } [/block] [block:api-header] { "title": "Hexbid: Pre-Built Optimization for Simple KPIs" } [/block] Beeswax offers a number of common optimization and pacing strategies out of the box, under the product name `Hexbid`. Hexbid strategies can be used without any engineering work, and are available in the Buzz UI as well as the API. The list of available strategies can be found [here](doc:list-of-bidding-strategy-modules-and-keys). [block:api-header] { "title": "Bid Modifier \"Terms\": Powerful Yet Simple Controls Over Bidding" } [/block] Bid Modifier (sometimes called "Bid Multipliers" or "Bid Factors") are a common technique in bidding systems to allow you to increase or decrease the bid given the presence of a value in the RTB auction. For a simple example, you could multiply the bid by 2x when the user is on the Safari browser and reduce the bid by 0.5x when on the Crome browser. For further information on Bid Modifiers see: * [Bid Modifier Terms](doc:bid-modifier-terms) * [bid_modifier POST API](doc:bid_modifier) [block:api-header] { "title": "Bid Modifier \"Bid Models\": Bring Your Data Science Directly to Bidding" } [/block] While Bid Modifier Terms are a powerful tool, they are limited in their ability to express relationships between variables on the bid request. Bid Models lets you determine the bid when any specific combination of variables is present on the bid request, such as when the user is on the Chrome browser and it is 2PM in the afternoon, to give a random example. In general Bid Models are meant to be flexible, allowing you to use any modeling tools/workflow and express the model in a straight forward format. A typical workflow might look like the following: * Create a model using Beeswax logs (wins, conversions, etc). Model features are bid request keys, and the prediction is either a bid or a bid multiplier. * Create a [Bid Model](doc:bid-models-overview) via API or UI, then upload an associated Bid Model Version to S3. Upload includes a manifest file and set of data files. * Attach the Bid Model to a [Bid Modifier](doc:bid-modifier-overview) and traffic a [Campaign](doc:campaigns). * Beeswax does a lookup against the Bid Model for each matching bid request. If there is a match, the value from the model is used as the bid or multiplier. If there is no match, the default bid is used. * As more performance data is collected, the model can be re-trained and uploaded as a new [Bid Model Version](doc:bid-model-versions-overview). For more information see [Bid Models](doc:bid-models-overview). [block:api-header] { "title": "Bidding Agents" } [/block] Bidding Agents are the most powerful custom bidding integration available from Beeswax. With Bidding Agents you can respond to each auction request with your own proprietary logic and algorithms, written in whatever programming language you desire. Read more about Bidding Agents in our [Stinger Documentation](doc:about-the-stinger-bidder).