You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The intent of this ticket is to provide a method for Floor Providers to apply and A/B test different models when implemented in the Prebid Floors Module. Today Floor Providors are limited to applying one model per URL fetch. To apply more than one model per user session today, a Floor Provider would need to reload new fetch URLs for each model, controling the sampling rate and which file to load outside of prebid logic.
Goals
Define a flexible method for Floor Providers to A/B test different models using the Prebid Floors Module
Mitigate any additional latency on the existing fetch model of the Floors Module
General requirements
The new floor solution should be backwards compatible with exiting Floor Providers, and ad unit or setConfig floors
Floors Provider should be able to supply one or more models with their own set of schema fields and values in the new floors schema
Floor Providers should be able to specificy the frequency of each model should be applied by a sampling weight
Sampling weights are applied at the auction level to all ad slots after skipRate
The sampling weights should be recalculated (i.e. decide which model to select if there is more than one model) once the fetch or setConfig is applied to the current auction
The application of floors (signaling and enforcement) should remain the same using the original floors schema or new one
Weights of model selection should be normalized to 1 to allow Floor Providers to supply their own weights without having to calculate to 100%
When using schema version 2, a weight should be provided for each model, otherwise the floors module will not utilize the floors data set (i.e. other floors can potentially be used if valid)
Schema 2 can be applied run-time in either fetch or setConfig, not within adUnits
The following attributes should be applied at the root level and model level where the model level attribute overrides the root level one:
skipRate
currency
Proposed Design
New Attributes
Field Name
Type
Description
floorsSchemaVersion
int
Describes the version of the schema to allow for backwards and future proofing for multiple schemas
modelGroups
object
Object to store the different models to apply per auction
modelGroups.modelWeight
int
The sampling factor determing when the model should be applied. Weights are normalized to 1.
Schema Validation Tool
The goal here is to provide a tool for Floor Providers to validate rules against a particular schema. The validation schema tool should be an HTML page to signal if a supplied rules file is valid. If the file is invalid, it should indicate where the error is.
Weights Normalization Algorithm
Model weights are supplied by the Floors Providers to determine what percentage of auctions (after skipRate has selected the Floors Module select a floor) each model should be applied at. To aide in ease of implementation, the Floors Module will normalize the weights using the following algorithm:
Type of issue
Intent to implement
Description
The intent of this ticket is to provide a method for Floor Providers to apply and A/B test different models when implemented in the Prebid Floors Module. Today Floor Providors are limited to applying one model per URL fetch. To apply more than one model per user session today, a Floor Provider would need to reload new fetch URLs for each model, controling the sampling rate and which file to load outside of prebid logic.
Goals
General requirements
Proposed Design
New Attributes
Schema Validation Tool
The goal here is to provide a tool for Floor Providers to validate rules against a particular schema. The validation schema tool should be an HTML page to signal if a supplied rules file is valid. If the file is invalid, it should indicate where the error is.
Weights Normalization Algorithm
Model weights are supplied by the Floors Providers to determine what percentage of auctions (after skipRate has selected the Floors Module select a floor) each model should be applied at. To aide in ease of implementation, the Floors Module will normalize the weights using the following algorithm:
ModelWeight / (sum of all modelWeights)
Example weights:
normalized weights in a three model mode:
Raw weights
Model1: 25
Model2: 25
Model3: 30
Normalized weights
Model1: 0.3125 dervied by: 25/(25+25+30)
Model2: 0.3125 dervied by: 25/(25+25+30)
Model3: 0.375 derived by: 30/(25+25+30)
Total weight: 1 derived by: 0.3125 + 0.3125 + 0.375
Example JSON Floors File:
Schema Version 2, multiple model mode with different schema.fields for each model
Out of Scope
Other information
This ticket is related to the Floors Module:
The text was updated successfully, but these errors were encountered: