diff --git a/defaults/docs-defaults.yaml b/defaults/docs-defaults.yaml index 365e3057..e2995b8f 100644 --- a/defaults/docs-defaults.yaml +++ b/defaults/docs-defaults.yaml @@ -60,11 +60,14 @@ defaults: app: 1000 audio: 1000 ctv-bvod: 0 - dooh: 0 + dooh: 1000 search: 150 social: 1000 streaming-video: 1000 web: 1500 + default_count_ad_platform: + dooh: 6 + search: 1 default_device_by_channel: app: phone audio: phone @@ -120,6 +123,7 @@ defaults: fixed: 0.030000000 mobile: 1.530000000 default_emissions_ad_selection_gco2_per_imp_by_channel: + dooh: 0.003840000 search: 0.001229300 default_emissions_generic_ad_server_gco2_per_imp: 0.000016000 default_emissions_generic_ad_server_gco2_per_imp_by_channel: diff --git a/docs/calculations.mdx b/docs/calculations.mdx index 5b8b3e8d..684e7b2d 100644 --- a/docs/calculations.mdx +++ b/docs/calculations.mdx @@ -557,20 +557,24 @@ get_platform_emissions(ad_platform): ad_selection_platform_emissions_gco2_per_imp = 0 data_transfer_bytes = 0 -for platform in placement.ad_platforms: - ad_selection_platform_emissions_gco2_per_imp += get_platform_emissions(platform) - platform_bytes = - platform.average_bid_request_size ?? - default_consumer_device_request_size_bytes[channel] - data_transfer_bytes += default_consumer_device_request_size_bytes[channel] - if platform.sends_client_side_requests: - for bidder in platform.bidders: - bidder_bytes = - bidder.average_bid_request_size ?? - default_consumer_device_request_size_bytes[channel] - data_transfer_bytes += - bidder_bytes x - platform.distribution_rate_by_bidder_by_country[country, bidder] ?? 1 +if channel in ['search', 'dooh']: + data_transfer_bytes = default_count_ad_platform[channel] * default_consumer_device_request_size_bytes[channel] + ad_selection_platform_emissions_gco2_per_imp = default_emissions_ad_selection_gco2_per_imp_by_channel[channel] +else: + for platform in placement.ad_platforms: + ad_selection_platform_emissions_gco2_per_imp += get_platform_emissions(platform) + platform_bytes = + platform.average_bid_request_size ?? + default_consumer_device_request_size_bytes[channel] + data_transfer_bytes += default_consumer_device_request_size_bytes[channel] + if platform.sends_client_side_requests: + for bidder in platform.bidders: + bidder_bytes = + bidder.average_bid_request_size ?? + default_consumer_device_request_size_bytes[channel] + data_transfer_bytes += + bidder_bytes x + platform.distribution_rate_by_bidder_by_country[country, bidder] ?? 1 ``` ### Ad Selection - Data Transfer diff --git a/docs/channel_considerations.mdx b/docs/channel_considerations.mdx index ec22e3b5..dbed5ebb 100644 --- a/docs/channel_considerations.mdx +++ b/docs/channel_considerations.mdx @@ -204,8 +204,8 @@ See [Corporate Emissions](./corporate_model) ### Ad Selection Emissions -On the contrary to other digital channels, in DOOH no standard like ads.txt exist to allow DOOH media owners' to disclose the vendors used in their monetization waterfall, making [mapping the ad tech graph](./publisher_model#mapping-the-ad-tech-graph) more difficult. -We are currently developping alternative ways for DOOH media owners to share this information with us. Until then, ad selection emissions will be considered 0. +Unlike other digital channels, DOOH lacks a standard such as ads.txt that enables media owners to disclose the vendors involved in their monetization waterfall. This makes [mapping the ad tech graph](./publisher_model#mapping-the-ad-tech-graph) more challenging. +We encourage DOOH media owners to share this information with us via [Ad Stack Declaration](https://docs.scope3.com/docs/ad-stack-declaration). Where no declared data is available, and after consultation with the media owner, we assume the presence of one ad server and five SSPs called by that ad server for each ad request. ### Creative Data Transfer Emissions diff --git a/docs/snippets/defaults_ad_platform.mdx b/docs/snippets/defaults_ad_platform.mdx index e0bc243a..bf8dbfa6 100644 --- a/docs/snippets/defaults_ad_platform.mdx +++ b/docs/snippets/defaults_ad_platform.mdx @@ -3,7 +3,7 @@ default_consumer_device_request_size_bytes: web: 1500 app: 1000 ctv-bvod: 0 - dooh: 0 + dooh: 1000 audio: 1000 social: 1000 streaming-video: 1000 @@ -17,6 +17,10 @@ default_emissions_generic_ad_server_gco2_per_imp_by_channel: social: 0.0043 default_emissions_ad_selection_gco2_per_imp_by_channel: search: 0.0012293 + dooh: 0.00384 +default_count_ad_platform: + search: 1 + dooh: 6 generic_creative_ad_server: emissions_per_creative_request_per_geo_gco2_per_imp: diff --git a/scope3_methodology/test/test_api.py b/scope3_methodology/test/test_api.py index e1c25f3d..5e74d5dc 100644 --- a/scope3_methodology/test/test_api.py +++ b/scope3_methodology/test/test_api.py @@ -240,7 +240,7 @@ def test_startup(self): ) docs_defs = docs_defaults - self.assertEqual(len(docs_defs), 45) + self.assertEqual(len(docs_defs), 46) def test_get_all_con_networking_connection_device_fixed_defaults(self): """Test get_all_networking_connection_device_defaults returns expected output"""