Proofseal

Methodology

Proofseal 怎麼檢查

這一頁說明 Proofseal 怎麼檢查一份量測結果、門檻怎麼訂出來、判定怎麼產生,以及判定什麼時候需要重做。方法公開,你和你的主管都可以自己核對。

一個量測問題走過的路

每個問題都走同一套流程。每一步做了什麼、根據什麼,都會留下紀錄。

  1. 1資料每週的花費和成效進來,存成一份有版本號的資料
  2. 2健檢建模之前,先確認資料足夠回答這個問題
  3. 3量測估算每個渠道的效果,每個數字都附上可能的範圍
  4. 4驗證用答案已知的模擬資料測試模型,看它的估計準不準
  5. 5判定事先寫好的判定規則把證據對應到判定,並附上理由與限制

四類檢查

檢查分成四類,每一類都是可以逐項看的具體問題,最後不會被壓成一個分數。

資料健檢

累積了幾週、缺了哪幾週、花費有沒有高低變化、哪些渠道總是一起增減、哪些渠道長期沒有花費。如果資料不夠回答某個問題,後面的步驟會直接標出來。

  • 資料長度與缺週
  • 各渠道花費變異
  • 渠道是否一起增減
  • 零花費期間

模型診斷

模型跑完後,先檢查幾個基本指標:沒拿來訓練的那段期間能解釋多少、渠道之間分不分得開、範圍重算了幾次、有沒有排除季節起伏。每個數字都附上單位、門檻和門檻的出處。

  • 沒用來訓練的期間能解釋多少
  • 渠道之間的效果分不分得開
  • 範圍算得夠不夠穩
  • 有沒有扣掉季節起伏

模擬驗證

用和你的資料條件相似的模擬資料重跑模型。模擬裡每個渠道的答案由我們設定,所以是已知的。看三件事:模型說有 90% 把握時,範圍實際有幾成包含已知答案;每個渠道的估計和已知答案差多少;渠道的排名準不準。哪些設定來自你的資料、哪些是假設,列在下一節。

  • 說的把握和實際命中率
  • 每個渠道估得偏多少
  • 渠道排名準不準
  • 模擬條件比照你的資料

判定規則

判定由事先寫好的規則產生,不由人當下決定。每條規則都寫明門檻的出處,同一份證據套用同一版規則,一定得到同樣的判定。判定產生後不會被修改,資料或規則更新時會產生新的判定。

  • 規則有版本號(目前 v0.1.0)
  • 每條門檻標出處
  • 判定不可修改
  • 重跑可對照前後差異

模擬驗證的設定

模擬驗證用的資料,一部分照你的資料條件設定,一部分是我們的假設。兩者分開列出,判定區也會列出每一次實際用到的數值。

照你的資料設定

  • · 資料長度(週數)與渠道數
  • · 各渠道的平均花費與花費起伏
  • · 業績的平均水準
  • · 預算跟著需求起伏的程度(由花費和業績的關係推估,推估方式是暫定的)

我們設定的假設

  • · 各渠道的「已知答案」:依花費高低指派 3.0、2.0、1.5、1.0、0.8、0.5
  • · 廣告效果和花費成正比,沒有延遲效果和飽和
  • · 看不見的需求每週大約延續前一週的八成;業績和花費各有約 5% 和 15% 的隨機波動
  • · 產品裡的 Meridian 驗證使用縮短的抽樣設定和較少的模擬次數,以便在幾分鐘內完成

所以這項測試不能說明

  • · 你的廣告實際帶來多少業績:真實資料沒有已知答案
  • · 在上述假設以外的情況(例如延遲效果、飽和、促銷),模型表現如何

目前的判定門檻(v0.1.0)

下列門檻除了資料週數(參考 Meridian 的資料建議)和渠道相關(產品政策),都是暫定的,還沒經過研究驗證。研究的模擬結果出來後會更新並標上新版本,不會為了讓判定比較好看而調整。

  • · 資料至少 26 週,建議 52 週以上
  • · 模擬中範圍包含已知答案的比例:70% 以上才可能「目前有支持」,低於 45% 為「目前未獲支持」
  • · 平均偏離已知答案:15% 以內才可能「目前有支持」,超過 40% 為「目前未獲支持」
  • · 比較渠道:排名一致程度 0.7 以上,且挑對最佳渠道的比例 75% 以上;調整方向:挑對比例 60% 以上
  • · 兩個渠道花費的相關達 0.8 以上,列為限制

門檻從哪裡來

像「需高於 0.9」這樣的門檻,每一條都標了出處。出處分成七類:

文獻
已發表研究的建議值
標準
產業或方法標準
模型作者建議
模型開發者自己寫的使用建議
模擬測試
在答案已知的模擬資料上測出來的值
實證
實際資料上的經驗值
產品政策
產品明訂的保守取捨
暫定
還沒有足夠依據,先標為暫定

判定的詞彙是固定的

每個量測問題最後會得到一個判定。判定只用下面這幾個詞,意思固定:

  • 目前有支持在現在的資料、方法與假設下,證據支持這個結論
  • 有條件支持證據有支持,但有幾件事要一起注意,判定會逐項列出
  • 目前未獲支持現有證據不支持這個結論,判定會說明原因
  • 還需要更多證據證據還不夠下結論,判定會指出缺什麼、補哪一塊最有幫助
  • 判定已過期資料或條件已經更新,原本的判定不再適用,需要重新驗證

分區實驗怎麼判定

除了模型,也可以用分區實驗另外估計廣告效果。Proofseal 用合成控制法分析,判定規則目前是暫定的 v0.1.0:

  1. 1實驗開始前至少要有 8 週資料,而且至少有 3 個沒變動的地區可以比較,否則判定為「還需要更多證據」。
  2. 2實驗開始前,對照組和測試地區的平均差距要在 10% 以內,結果才採用;5% 以內算對得準。
  3. 3測試地區的差距要大過每一個沒變動地區的自然起伏,而且至少有 9 個地區可以比較,才判定「目前有支持」。地區較少時,最多是「有條件支持」。

和原論文不同的地方:我們先把每個地區除以它在實驗前的平均值,再組合對照組,讓大小差很多的地區也能互相比較。原論文直接用原始數字組合。這個調整會讓結果看的是「變化了幾 %」,而不是金額。

什麼時候需要重新判定

判定會記下當時用的資料版本、方法版本和檢查條件。資料更新、市場變化,或判定規則改版之後,原本的判定就可能不再適用。

資料更新之後,判定區會提醒你這組判定以舊資料為準;按「重新判定」會產生新的判定,舊的保留下來,可以前後對照。自動把舊判定標成「判定已過期」的功能還在開發中。

方法出處與參考文獻

Proofseal 的方法來自已經發表的研究;判定門檻和部分調整是我們自己訂的,目前標為暫定。下面列出主要文獻,以及每一篇在 Proofseal 裡用在哪裡。

  1. Abadie, A., Diamond, A., & Hainmueller, J. (2010). Synthetic Control Methods for Comparative Case Studies: Estimating the Effect of California's Tobacco Control Program. Journal of the American Statistical Association, 105(490).

    用在:分區實驗的分析方法(合成控制法)與安慰劑檢定

  2. Abadie, A. (2021). Using Synthetic Controls: Feasibility, Data Requirements, and Methodological Aspects. Journal of Economic Literature, 59(2).

    用在:使用合成控制法的條件與資料要求

  3. Vaver, J., & Koehler, J. (2011). Measuring Ad Effectiveness Using Geo Experiments. Google Inc.

    用在:廣告地區實驗的設計與分析

  4. Ben-Michael, E., Feller, A., & Rothstein, J. (2021). The Augmented Synthetic Control Method. Journal of the American Statistical Association, 116(536).

    用在:合成控制法的延伸,GeoLift 採用的做法

  5. Meta Open Source. GeoLift: an end-to-end solution for geo experiments (R package).

    用在:地區實驗的規劃(挑選地區、估算測得出的效果)

  6. Jin, Y., Wang, Y., Sun, Y., Chan, D., & Koehler, J. (2017). Bayesian Methods for Media Mix Modeling with Carryover and Shape Effects. Google Inc.

    用在:行銷組合模型的貝氏方法,Meridian 的基礎

  7. Google. Meridian: an open-source marketing mix modeling framework.

    用在:我們用來量測的模型之一

  8. Morris, T. P., White, I. R., & Crowther, M. J. (2019). Using simulation studies to evaluate statistical methods. Statistics in Medicine, 38(11).

    用在:用答案已知的模擬資料檢驗統計方法(ADEMP 架構),模型驗證的依據

連結都指向期刊或機構的官方頁面,部分期刊需要訂閱才能看全文,學校或公司的圖書館通常可以免費取得。列出這些文獻,是為了說明方法的來源,不代表作者、Google 或 Meta 為 Proofseal 背書。

感謝開源專案

Proofseal 用到許多公開的研究和開源專案。量測用的是 Google 的 Meridian,分區實驗的規劃參考了 Meta 的 GeoLift;系統本身建立在 Next.js、NestJS、FastAPI、NumPy、PostgreSQL 等開源專案上。謝謝這些團隊公開他們的成果。

想先看實際的判定

示範專案用合成資料跑完整個流程,可以直接看到每一步的檢查結果和最後的判定。