From b3d60c4082a8cf334e51044730b8283c79e418c2 Mon Sep 17 00:00:00 2001 From: Bryan Szekely Date: Fri, 4 Dec 2020 15:49:37 -0800 Subject: [PATCH 1/3] floors: modelTimestamp --- dev-docs/modules/floors.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dev-docs/modules/floors.md b/dev-docs/modules/floors.md index 44db14da5c..cc6dda86e9 100644 --- a/dev-docs/modules/floors.md +++ b/dev-docs/modules/floors.md @@ -294,6 +294,7 @@ Schema 1 restricts floors providers or publishers to applying only one data grou | data.skipRate | integer | skipRate is a random function whose input value is any integer 0 through 100 to determine when to skip all floor logic, where 0 is always use floor data and 100 is always skip floor data. The use case is for publishers or floor providers to learn bid behavior when floors are applied or skipped. Analytics adapters will have access to model version (if defined) when skipped is true to signal the Floors Module is in floors mode. If skipRate is supplied in both the root level of the floors object and within the data object, the skipRate configuration within the data object shall prevail. | 0 | | data.floorsSchemaVersion | string | The Floors Module supports two versions of the data schema. Version 1 allows for only one model to be applied in a given data set, whereas Version 2 allows you to sample multiple models selected by supplied weights. If no schema version is provided, the Floors Module will assume version 1 for the sake of backwards compatiblity. For schema version 2 see the next section. | 1 | | data.modelVersion | string | Used by floor providers to train on model version performance. The expectation is a floor provider’s analytics adapter will pass the model verson back for algorithm training. | - | +| data.modelTimestamp | int | Epoch timestamp associated with modelVersion. Can be used to track model creation of floor file for post auction analysis.| - | | data.schema | object |allows for flexible definition of how floor data is formatted. | - | | data.schema.delimiter | string | Character separating the floor keys. | '\|' | | data.schema.fields | array of strings | Supported values are: gptSlot, adUnitCode, mediaType, size | - | @@ -340,6 +341,7 @@ While some attributes are common in both schema versions, for completeness, all | data.currency | string | Currency of floor data. Floors Module will convert currency where necessary. See Currency section for more details. | 'USD' | | data.skipRate | integer | skipRate is a random function whose input value is any integer 0 through 100 to determine when to skip all floor logic, where 0 is always use floor data and 100 is always skip floor data. The use case is for publishers or floor providers to learn bid behavior when floors are applied or skipped. Analytics adapters will have access to model version (if defined) when skipped is true to signal the Floors Module is in floors mode. If skipRate is supplied in both the root level of the floors object and within the data object, the skipRate configuration within the data object shall prevail.| 0 | | data.floorsSchemaVersion | string | The Floors Module supports two version of the data schema. Version 1 allows for only one model to be applied in a given data set, whereas Version 2 allows you to sample multiple models selected by supplied weights. If no schema version is provided, the Floors Module will assume version 1 for the sake of backwards compatiblity.| 1 | +| data.modelTimestamp | int | Epoch timestamp associated with modelVersion. Can be used to track model creation of floor file for post auction analysis.| - | | data.modelGroups | array of objects | Array of model objects to be used for A/B sampling multiple models. This field is only used when data.floorsSchemaVersion = 2 | - | | data.modelGroups[].currency | string | Currency of floor data. Floor Module will convert currency where necessary. See Currency section for more details. | 'USD' | | data.modelGroups[].skipRate | integer | skipRate is a random function whose input value is any integer 0 through 100 to determine when to skip all floor logic, where 0 is always use floor data and 100 is always skip floor data. The use case is for publishers or floor providers to learn bid behavior when floors are applied or skipped. Analytics adapters will have access to model version (if defined) when skipped is true to signal the Floors Module is in floors mode. | 0 | From 8c4f0315f5b627c0d562881eb23baf10304dbf47 Mon Sep 17 00:00:00 2001 From: Bryan Szekely Date: Fri, 4 Dec 2020 16:09:42 -0800 Subject: [PATCH 2/3] floors: modelTimestamp for analytics adapter interface --- dev-docs/modules/floors.md | 1 + 1 file changed, 1 insertion(+) diff --git a/dev-docs/modules/floors.md b/dev-docs/modules/floors.md index cc6dda86e9..0e2959c90e 100644 --- a/dev-docs/modules/floors.md +++ b/dev-docs/modules/floors.md @@ -1039,6 +1039,7 @@ The price floors module will do this by leveraging the already existing implemen | floorProvider | string | Optional atribute (as of prebid version 4.1) used to signal to the Floor Provider's Analytics adapter their floors are being applied. They can opt to log only floors that are applied when they are the provider. If floorProvider is supplied in both the top level of the floors object and within the data object, the data object's configuration shall prevail.| "rubicon" | | location | String | Where the Floors Module derived the rule set. Values are one of 'adUnit', 'setConfig', 'fetch' or 'noData'. If the Floors Module code is invoked and no floors object is able to be found (either by error or other condition) the floorsModule will set location to 'noData'. When on data is found, it is up to the analtyics adapter to decide what to log. All available values will be provided in teh bidRequest object. | ‘fetch’ | | modelVersion | String | The name of the model| ‘floor-model-4.3’ | +| modelTimestamp | int | Epoch timestamp associated with the modelVersion to be used for post auction analysis.| 1607126814 | | skipRate | integer | skipRate will be populated when a skip rate is configured in the Prebid Floors Module, even if the skipRate is evaluated to false. Skip Rate is used to determine when to skip all floors logic. | 15 | | skipped | Boolean | Whether the skipRate resolved to be true or false| true | From ba4ea2e46a961f121cff282227aa412ae10a03a0 Mon Sep 17 00:00:00 2001 From: Bryan Szekely Date: Fri, 11 Dec 2020 13:26:04 -0800 Subject: [PATCH 3/3] floors: Add floorWeight to analytics interface --- dev-docs/modules/floors.md | 1 + 1 file changed, 1 insertion(+) diff --git a/dev-docs/modules/floors.md b/dev-docs/modules/floors.md index 0e2959c90e..2758f32553 100644 --- a/dev-docs/modules/floors.md +++ b/dev-docs/modules/floors.md @@ -1039,6 +1039,7 @@ The price floors module will do this by leveraging the already existing implemen | floorProvider | string | Optional atribute (as of prebid version 4.1) used to signal to the Floor Provider's Analytics adapter their floors are being applied. They can opt to log only floors that are applied when they are the provider. If floorProvider is supplied in both the top level of the floors object and within the data object, the data object's configuration shall prevail.| "rubicon" | | location | String | Where the Floors Module derived the rule set. Values are one of 'adUnit', 'setConfig', 'fetch' or 'noData'. If the Floors Module code is invoked and no floors object is able to be found (either by error or other condition) the floorsModule will set location to 'noData'. When on data is found, it is up to the analtyics adapter to decide what to log. All available values will be provided in teh bidRequest object. | ‘fetch’ | | modelVersion | String | The name of the model| ‘floor-model-4.3’ | +| modelWeight | int | The weight of the model selected (for schema 2 version only)| 50 | | modelTimestamp | int | Epoch timestamp associated with the modelVersion to be used for post auction analysis.| 1607126814 | | skipRate | integer | skipRate will be populated when a skip rate is configured in the Prebid Floors Module, even if the skipRate is evaluated to false. Skip Rate is used to determine when to skip all floors logic. | 15 | | skipped | Boolean | Whether the skipRate resolved to be true or false| true |