譯 | BBC Studios團隊:貝葉斯合成控制方法SCM的應用案例

來自上傳文件中的文章《Using Causal Inference for Measuring Marketing Impact: How BBC Studios Utilises Geo Holdouts and CausalPy》
本篇介紹了在傳統A/B測試不適用時,如何利用貝葉斯合成控制方法和地理區域保留來評估營銷活動效果。其亮點在于通過構建“反事實”對照組,有效衡量戶外廣告和多渠道營銷的真實因果影響,并利用貝葉斯方法提升了估計的穩健性和不確定性量化。
該方法適用于難以進行隨機對照實驗的商業場景,如評估大范圍的品牌推廣、公共政策效果或跨平臺整合營銷活動的影響。
例如,衡量某城市投放的戶外廣告牌對當地銷售額的實際提升,或評估某地區實施的整體市場活動對用戶增長的貢獻,從而優化資源配置。


文章目錄

    • 1. 引言
    • 2. RCTs 在多渠道營銷中的局限性
    • 3. 用于地理區域保留的貝葉斯合成控制
    • 4. 貝葉斯合成控制方法如何改進傳統合成控制方法 (SCM)
    • 5. 基于地理區域保留的貝葉斯合成控制工作原理
      • 5.1. 創建地理區域對照組
      • 5.2. 構建合成控制
      • 5.3. 估計增量影響
    • 6. BBC Studios 使用 CausalPy 的實施
      • 6.1. 預處理數據收集
      • 6.2. 對照區域選擇
      • 6.3. 貝葉斯權重分配
      • 6.4. 模型驗證
      • 6.5. 因果影響估計
    • 7. 挑戰與考量
    • 8. 結論


1. 引言

在這里插入圖片描述

營銷團隊一直在努力準確衡量其營銷活動的效果。傳統的 A/B 測試 被廣泛認為是因果推斷的黃金標準,它允許營銷人員以受控的方式比較受曝光和未受曝光的受眾。然而,A/B 測試并非總是可行——特別是對于 戶外 (OOH) 廣告、多渠道營銷 和受眾曝光無法嚴格控制的廣泛數字營銷活動。

為了應對這一挑戰,因果推斷技術 提供了一套穩健的方法,用于在受控實驗不切實際時評估營銷影響。其中,使用 CausalPy 實現的 貝葉斯合成控制方法 提供了一種統計學上嚴謹的方法來進行 準實驗。在 BBC Studios,我們利用這些方法來評估戶外營銷工作的有效性,在 隨機對照試驗 (RCTs) 不可行 時提供數據驅動的洞察。

2. RCTs 在多渠道營銷中的局限性

RCTs 在數字營銷中被廣泛使用,用戶可以根據其 Cookie設備 ID 被隨機分配到治療組和對照組。然而,在 戶外廣告 以及在營銷工作中同時使用多個營銷渠道 (Google、Meta、YouTube 等) 的背景下,實施 RCTs 會帶來多重挑戰:

  • 缺乏曝光隔離:與數字營銷活動不同,數字營銷活動可以通過明確排除某些用戶來避免其看到廣告,而戶外營銷活動將消費者暴露在 同一地理區域 中,使得隔離變得困難。
  • 跨平臺污染:消費者同時與多個營銷渠道互動,例如在線廣告、電視和社交媒體。這使得難以確保當用戶本應處于對照組時,他們不會接觸到干預措施。
  • 物流復雜性:與數字廣告不同,數字廣告可以針對特定受眾開啟或關閉,戶外營銷活動涉及 實體投放(廣告牌、交通廣告),使得選擇性曝光不可行。

鑒于這些挑戰,準實驗方法——例如 結合貝葉斯合成控制的地理區域保留——為在缺乏理想 RCT 設置的情況下估計 因果效應 提供了一種替代解決方案。

3. 用于地理區域保留的貝葉斯合成控制

為了克服傳統 A/B 測試在多渠道營銷中的局限性,我們使用 CausalPy 實施了 貝葉斯合成控制方法。這種方法允許我們構建一個 可信的反事實——即,在沒有營銷干預的情況下會發生什么——通過利用來自 未經處理的地理區域(地理區域保留) 的數據。

4. 貝葉斯合成控制方法如何改進傳統合成控制方法 (SCM)

傳統的 合成控制方法 (SCM) 通過從未經處理的單元(例如,未開展營銷活動的區域)構建 合成對照組 來估計治療效果。然而,這些方法依賴于 確定性的、基于頻率論的方法,這些方法可能對 數據限制假設違反 敏感。

相比之下,貝葉斯 SCM 引入了 概率分布 來模擬以下方面的不確定性:

  • 合成控制權重(每個對照區域對估計反事實的貢獻程度)。
  • 結果預測(允許置信區間而非單一的確定性點估計)。

這種方法提高了 因果影響估計 的穩健性和可解釋性,尤其是在處理 小樣本量 或高度可變的市場條件時。

5. 基于地理區域保留的貝葉斯合成控制工作原理

5.1. 創建地理區域對照組

為了進行有效的準實驗,我們 選擇特定的地理區域,在這些區域中將 開展營銷活動。這些區域充當 對照組

  • 對照區域的選擇基于其與治療區域的 歷史相似性(例如,人口統計、過去的用戶參與度和銷售模式)。我們選擇的地理位置可能受相同局部新聞模式和季節性影響,同時又不會過于局部以至于人們可能接觸到治療。
  • 這些未經處理的區域共同形成一個 合成對照組,其權重基于它們對整體市場動態的相對貢獻。

5.2. 構建合成控制

使用 歷史數據,我們 識別未經處理區域的加權組合,這些組合能最好地模擬治療區域在營銷活動前的趨勢。

  • 這一步確保在干預之前,合成控制的行為與治療市場 相似
  • 貝葉斯框架 調整噪聲和外部市場條件,使得反事實估計比確定性方法更具 穩健性

5.3. 估計增量影響

一旦建立合成控制,我們測量 干預后表現 在以下兩者之間的差異:

  • 治療區域(開展營銷活動的區域)。
  • 合成控制(代表沒有營銷活動的反事實情景)。

通過比較這兩者,我們估計了戶外營銷活動的 真實因果影響,確保結果不會因 季節性或宏觀經濟變化 而混淆。

6. BBC Studios 使用 CausalPy 的實施

BBC Studios,我們利用開源 Python 庫 CausalPy 來對戶外營銷活動進行貝葉斯因果推斷。實施過程包括:

6.1. 預處理數據收集

  • 收集來自治療區域和對照區域的 歷史流量、參與趨勢和銷售數據
  • 識別可能影響結果的宏觀經濟因素,例如 季節性、競爭對手活動或重大事件

6.2. 對照區域選擇

  • 選擇在營銷活動開始 之前 與治療區域表現出 高度相關性 的地理區域保留。
  • 確保治療區域和對照區域之間的 人口統計、購買行為和媒體消費模式 保持一致。

6.3. 貝葉斯權重分配

  • 使用 貝葉斯推斷 來確定每個控制區域對合成控制的貢獻程度。
  • 與傳統 SCM 不同,貝葉斯方法允許根據 不確定性和外部影響 進行 自適應加權

6.4. 模型驗證

  • 評估模型預測 營銷活動前結果 的能力,確保合成控制是有效的反事實。
  • 調整 季節性趨勢、競爭對手干預和宏觀經濟因素

6.5. 因果影響估計

  • 營銷活動啟動后,比較 治療區域和貝葉斯合成控制 之間的治療后結果。
  • 生成圍繞因果估計的 可信區間量化不確定性

下面是一個代碼片段示例,我們以國家作為自變量,每用戶收入 (RPU) 作為因變量,實現地理區域保留:

import numpy as np  
import pandas as pd  
import causalpy as cp  
import matplotlib.pyplot as pltnp.random.seed(42)date_range = pd.date_range(start="2023-01-01", periods=100, freq="D")intervention_date = pd.Timestamp("2023-04-10")def generate_control_rpu(base_value, trend=0.01, noise=0.1):  return base_value + trend * np.arange(len(date_range)) + np.random.normal(0, noise, len(date_range))control_countries = ["Germany", "Spain", "Italy", "UK", "Netherlands"]  
control_data = {country: generate_control_rpu(1.5 + i * 0.05) for i, country in enumerate(control_countries)}usa_rpu = generate_control_rpu(1.6)  
intervention_index = np.where(date_range == intervention_date)[0][0]usa_rpu[intervention_index:] += 0.3  df = pd.DataFrame(control_data)  
df["USA"] = usa_rpu  
df["date"] = date_rangedf_long = df.melt(id_vars=["date"], var_name="country", value_name="rpu")df_wide = df.pivot(index="date", columns="country", values="rpu")pre_period = (df_wide.index.min(), intervention_date - pd.Timedelta(days=1))  
post_period = (intervention_date, df_wide.index.max())model = cp.pymc_experiments.BayesianCausalImpact(  df_wide,   treatment_column="USA",    pre_period=pre_period,  post_period=post_period  
)model.fit()model.plot()  
plt.show()

7. 挑戰與考量

雖然貝葉斯合成控制方法為估計營銷中的因果效應提供了一個強大的框架,但它們也伴隨著 實際挑戰

  • 數據要求:穩健的 歷史數據 對于創建準確的反事實至關重要。
  • 計算復雜性:貝葉斯方法需要 大量的計算能力,尤其是在處理高維數據時。
  • 歸因復雜性:將 戶外廣告與其他營銷渠道(例如,電視、數字、社交媒體)的影響隔離開來仍然是一個持續的挑戰。
  • 營銷團隊的協調:與內部團隊協調保留區域會增加業務規劃和協調方面的開銷。
  • 對季節性的敏感性:需要仔細建模以調整可能扭曲因果估計的 季節性變化

8. 結論

當傳統 A/B 測試 在衡量營銷影響力方面不切實際時——尤其是在 戶外廣告 中——貝葉斯合成控制方法 提供了一種嚴謹的替代方案。通過利用 地理區域保留和 CausalPy,我們可以構建可靠的反事實,估計 增量營銷活動提升,并量化 因果估計中的不確定性

BBC Studios,這些方法使我們能夠做出 數據驅動的營銷決策,確保我們在戶外廣告方面的投資既可衡量又 經過科學驗證

BBC Studios Limited 是 BBC 的商業子公司,于 2018 年 4 月通過合并其制作和全球發行部門而成立。作為一家英國內容公司,我們獨立于 BBC 的公共服務運營,為全球觀眾提供原創內容和體驗。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/917755.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/917755.shtml
英文地址,請注明出處:http://en.pswp.cn/news/917755.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Web開發-PHP應用TP框架MVC模型路由訪問模版渲染安全寫法版本漏洞

我們先使用/index.php/index/index/test,就是圖中的test()方法 /index.php/index/index/index,這個回顯就是111 http://127.0.0.1:83/index.php/index/index/test2?x123456 public function test2() {$x$_GET[x];return $x; } 這里再做一個案例更詳細一…

FreeRTOS列表系統深度解析

FreeRTOS列表系統深度解析 一、核心數據結構 1. 列表控制塊 (List_t) typedef struct xLIST {volatile UBaseType_t uxNumberOfItems; // 當前列表項數量ListItem_t * pxIndex; // 遍歷指針(用于輪詢調度)MiniListItem_t xListEnd; …

《Linux編譯器:gcc/g++食用指南》

堅持用 清晰易懂的圖解 代碼語言,讓每個知識點變得簡單! 🚀呆頭個人主頁詳情 🌱 呆頭個人Gitee代碼倉庫 📌 呆頭詳細專欄系列 座右銘: “不患無位,患所以立。” 《Linux編譯器:GCC…

SparkKV轉換算子實戰解析

目錄 KV算子 parallelizePairs mapToPair mapValues groupByKey reduceByKey sortByKey 算子應用理解 reduceByKey和groupByKey的區別 groupByKeymapValues實現KV數據的V的操作 改進用reduceByKey groupby通過K和通過V分組的模板代碼 問題集錦 寶貴的經驗 這里會…

深度解析 TCP 三次握手與四次揮手:從原理到 HTTP/HTTPS 的應用

TCP 的三次握手和四次揮手是網絡通信的基石,無論是 HTTP 還是 HTTPS,它們都依賴 TCP 提供可靠的傳輸層服務。本文將用萬字篇幅,結合 Mermaid 圖表和代碼示例,深入講解 TCP 三次握手、四次揮手的原理、過程、狀態變化,以…

Hyper-V + Centos stream 9 搭建K8s集群(一)

一、創建虛擬機一臺32G內存,16核心的Win11,已經安裝了Hyper-V 管理器。然后也下載了CentOS-Stream-9-latest-x86_64-dvd1.iso的鏡像文件。這里Hyper-V創建虛擬機的過程就不贅述了,如果出現虛擬機加載不到鏡像的問題,先把這個使用安…

Pygame如何制作小游戲

以下是 Pygame 的詳細使用指南,從安裝到開發完整游戲的步驟說明,包含代碼示例和最佳實踐: 一、安裝與環境配置 1. 安裝 Pygame pip install pygame2. 驗證安裝 import pygame pygame.init() print(pygame.version.ver) # 應輸出版本號&am…

@【JCIDS】【需求論證】聯合能力集成與開發系統知識圖譜

JCIDS(聯合能力集成與開發系統)知識圖譜 1. JCIDS概述 2. JCIDS的提出背景 3. JCIDS核心流程 4. JCIDS分析方法 5. JCIDS優勢 6. JCIDS與采辦系統的關系 7. JCIDS知識圖譜結構 8. 對我的啟示 9.JCIDS(聯合能力集成與開發系統)相關術語列表 10. 參考文獻 1. JCIDS概述 定義:…

每天學一個Linux命令(38):vi/vim

每天學一個 Linux 命令(38):vi/vim vi 和 vim(Vi IMproved)是 Linux 和 Unix 系統中功能強大的文本編輯器。vim 是 vi 的增強版,提供語法高亮、多級撤銷、插件支持等更多功能。掌握 vi/vim 是 Linux 系統管理員的必備技能之一。 1. 命令簡介 vi:經典的文本編輯器,幾乎…

【PZ-ZU49DR-KFB】:璞致電子 UltraScale+ RFSoC 架構下的軟件無線電旗艦開發平臺

璞致電子 PZ-ZU49DR-KFB 開發板基于 Xilinx ZYNQ UltraScale RFSoC XCZU49DR 主控制器,以 "ARMFPGA 異構架構" 為核心,融合高帶寬信號采集、高速數據處理與靈活擴展能力,專為專業工程師打造的軟件無線電(SDR&#xff09…

力扣106:從中序與后序遍歷序列構造二叉樹

力扣106:從中序與后序遍歷序列構造二叉樹題目思路代碼題目 給定兩個整數數組 inorder 和 postorder ,其中 inorder 是二叉樹的中序遍歷, postorder 是同一棵樹的后序遍歷,請你構造并返回這顆 二叉樹 。 思路 我們首先要知道中序遍歷和后序…

IDEA JAVA工程入門

Maven配置: IDEA -> settings -> Build, Execution, Deployment -> Build Tools -> MavenMaven home pathUser setting file : 特定倉庫下載依賴包,自動下載(界面右邊M圖標點開,)local repository (本地倉庫&#xff…

Spring依賴注入:從原理到實踐的自學指南

Spring依賴注入:從原理到實踐的自學指南 一、什么是依賴注入? 依賴注入(Dependency Injection, DI)是Spring框架實現控制反轉(IoC)的核心手段。其核心思想是:對象不再自己創建依賴項&#xff…

3_軟件重構_組件化開發實例方法論

1、上期回顧上次內容核心的地方有兩個,①是C多態基類的指針指向派生類,用于初始化各個插件。②是使用C語言的dlopen函數“動態加載”各個插件,實現用戶根據契約接口自定義開發插件,極大程度地實現了軟件上的解耦。③再進一步&…

C#接口的定義與使用

第1章 接口(interface)是什么1.1 定義? 接口是一組“能力”或“契約”的抽象描述,只規定“能做什么”,不規定“怎么做”。? 在 C# 中,接口是一種完全抽象的類型(fully abstract type)。 ? 關…

【STM32】HAL庫中的實現(三):PWM(脈沖寬度調制)

🔧 HAL庫中的實現:PWM(脈沖寬度調制) PWM(Pulse Width Modulation)是基于定時器(TIM)產生的周期性脈沖信號,廣泛應用于:① 電機調速;② LED 亮度控…

GitHub 趨勢日報 (2025年08月03日)

🚀 GitHub 趨勢日報 (2025年08月03日) 📊 由 TrendForge 系統生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日報中的項目描述已自動翻譯為中文 📈 今日獲星趨勢圖 今日獲星趨勢圖751dyad362LLMs-from-scratch291…

Java后端高頻面試題

Java后端高頻面試題 目錄 Java集合框架Java并發編程JVM相關MySQL數據庫Redis緩存Spring框架 Java集合框架 HashMap的數據結構是什么,為什么在JDK8要引入紅黑樹? HashMap數據結構: JDK7:數組 鏈表JDK8:數組 鏈表…

37. line-height: 1.2 與 line-height: 120% 的區別

概述 line-height 是 CSS 中用于控制文本行間距的重要屬性。雖然 line-height: 1.2 和 line-height: 120% 看似相同,但它們在計算方式上存在關鍵區別,尤其是在繼承和計算值方面。1. 計算方式不同寫法類型計算方式說明line-height: 1.2無單位(…

藍橋杯----DS1302實時時鐘

(六)、DS1302實時時鐘1、原理(圖 二十六)DS1302通過三線串行接口與單片機進行通信。微控制器可以通過設置RST引腳為高電平來使能DS1302,并通過SCK引腳提供串行時鐘信號,然后通過I/O引腳進行數據的讀寫操作。…