Part 1. 指標選擇

黃郁傑
9 min readAug 26, 2019

--

What kind of metrics we need ?

指標的選擇是整個實驗設計中,至關重要的一步。選擇錯誤的指標,不僅可能讓你的實驗得到無效的結果,更可能導致錯誤的決策。在指標選擇裡,我們會選擇兩類指標,分別是:

  • Invariant metrics:主要是用來做實驗正確性檢驗(sanity check)。 它們不應該在實驗組和控制組之間發生變化。否則代表實驗不正確。例如:實驗組和控制組的population和其distribution應該是不變的(compatible);或者我們衡量某個按鈕的點擊率變化時,不應該對會員登入率造成影響,則會員登入率也可以當作invariant metrics。
  • Evaluation metrics:真正衡量此次實驗所造成的影響,包含了High level concept metrics和Detailed metrics。High level concept metrics通常是一些大家直觀理解的,且對業務至關重要的,如:DAU、GMV、Total Engagement,通常是跟公司目標做直接掛鉤的;Detailed metrics則是為了完成總目標下面的過程指標,例如:CTR、CVR…等。我們可以透過Funnel Analysis去幫助我們產生指標。

除了指標選擇之外,還包含了一些細節部分,例如:要把spam/crawler算進來嗎? 曝光後多久時間內的點擊算該次曝光的點擊,5分鐘、10分鐘? 指標要用什麼統計量描述,平均數、中位數、80分位數? 計算點擊率的口徑,同個user_id算嗎? 還是同個cookie id? 統計量選擇(Summary metrics)和口徑選擇(Unit of analysis)尤其重要因為會影響variability(Standard Error),後面我們會再詳細說。

Summary metrics

有了指標之後我們就要選擇適當的統計量去描述他,以下是4種常見的統計量:

  • Sums and counts
  • Distribution (mean, median, percentiles)
  • Probability and rates (e.g. Click-through probability, Click-through rate), here probability is either 1/0, however rate may have more than 1(i.g. 1 page view, 3 total click)
  • Ratios: any two numbers divide by each other

選擇指標類別時需要先對指標的distribution有所了解,並應該考慮靈敏度(sensitivity)穩健性(robustness)。你希望你的指標在對你關心的更改時可以有效地顯現出變動(sensitivity)。同時你也希望指標日常不要有太大的波動(robustness),或者用統計語言說就是Standard Error不要太大。如果度量標準過於敏感,那麼它就不夠穩健,因此在這兩者之間存在平衡,您需要查看數據以找出要使用的度量標準。

Poisson distribution

假設我們已經選擇了Latency當作我們的衡量指標,我們應該選擇什麼統計量呢? 首先我們要看Latency的distribution。如上圖的Video Latency,我們查看分布後發現是Poisson distribution,我們來看看以下的統計量:Median/80th percentile/85th percentile/90th percentile/99th percentile在sensitivity和robustness上的表現。

Same type of video

上圖中我們找了5個非常類似的video,理論上這5個影片的統計量要是一樣的,我們以此來檢查robustness。我們發現Median/80th percentile/85th percentile基本上沒有太大的變動,但是90th percentile/99th percentile波動較大,因此這兩個指標可能不具備robustness。

Videos with different resolutions

我們另外找了5個非常類似,但解析度不同的video(影片1的解析度最高,因此理論上Latency最高;影片5的解析度最高,因此理論上Latency最低),我們以此來檢查sensitivity。我們發現Median/80th percentile基本上沒有太大的變動,因此這兩個指標可能不夠sensitive。

綜上,最終我們可能會選擇85th percentile'當作我們最終的統計量。

如何衡量靈敏度和穩健性?

  • 跑完A/B test回頭看
  • 使用A/A test來查看指標是否有差異(如果是,則指標不穩健)
  • 回顧性分析(retrospective analysis),用過去類似實驗做確認

Get more understanding of your metrics

上面我們是透過圖來幫助我們了解,接下來我們要進行比較嚴謹的統計,幫助我們了解我們選定指標的variability (i.e. Standard Error)。為什麼我們要知道指標的variability呢? 有三個主要理由:

  • 幫助我們了解指標是否robust。假設variability很大,代表該指標日常波動就很大,可能不適合做為衡量指標。
  • 幫助我們設定合理的practical significance。之前我們提到實驗的目的是幫助我們達到統計顯著性和實務顯著性,假設一個指標的日常波動在3左右,結果你把practical significance設定在+30,那這可能就不太feasible。
  • 計算樣本量需要。樣本量的平方根與SE成反比,因此要知道實驗所需的樣本量,必須知道SE。

綜上,其實我們就是要知道該指標的置信區間。要計算置信區間,我們需要兩個東西:

  • Variability (SE)
  • Distribution

舉例來說,今天我們要計算click-through-probability,他是一個二項分布,由於二項分布的特性,我們可以得知SE為:

Binomial distribution mean ad se

又當樣本量大時,二項分布會接近常態分佈,因此我們可以得知兩個標準差下的z值為1.96,置信區間也就可以得到了。

有些數據分布下由於有良好的統計量可以描述variability,我們便可以直接用公式來計算他(但有時候即使有良好的統計量可以描述,variability仍然會失真,後面會提到),這樣透過公式計算出來的,我們稱為Analytical variability。

但有些指標就不能這樣做,如:median、percentile,他們沒有公式可以幫我們計算出variability,此時我們就只能計算Empirical variability,下面的章節會重點描述Empirical variability。

(一般情況下Analytical variability和Empirical variability會是一樣的,但有一些特殊情況會不同,之後會再討論。)

下圖是常見統計量的distribution以及其Analytical variability:

Empirical Variability

Empirical Variability其實就是一種hacked statistic,也就是透過直接跑數據獲取我們想要的統計量。怎麼做呢? 透過A/A test,我們在實驗開始前跑數十組A/A test,然後透過A/A test算出SE以及置信區間。

(這裡的A/A test可以選擇做很多組A/A test,或者做兩大組A/A test,再透過bootstrap的方法取得很多小組,端看你有多少流量能做實驗)

A/A test

上圖中,我們跑了數十組的A/A test,並算出diff的SE為:0.059。有了SE我們就可以來計算置信區間,如果我們檢驗diff的分布,發現是常態分佈的話,95%的置信區間就是1.96*SE;但如果diff不是常態分佈怎麼辦? 我們只要把diff的頭尾各2.5%的值去掉,中間的就是95%的置信區間了。

(一般來說,至少要有40組A/A test,才比較可信)

Empirical Variability不僅可以幫助我們計算非典型指標的variability,也可以幫助我們檢驗Analytical variability的準確性,因此非常建議在做任何實驗前,尤其是要用之前沒用過的指標時,都要有這樣的double check機制。

Some Rule of Thumb

在選擇指標時,有以下的建議,但這並不是絕對,還是要按實際情況而定:

  • 在滿足實驗訴求的前提下,核心指標越少越好。通常我們在一次實驗中會關注多個方面指標數據,這樣可以全面的描述實驗效果,但是同時選擇多個核心指標,可能會導致False positive,後面我們也會討論如何處理這種情況。
  • 比率類指標是比絕對指標更好的選擇。比率類指標較絕對指標的天然優勢是方差較小,並且分佈更容易描述,這一點對於實驗效果的敏感性以及最小樣本量的計算中都是更優的性質。但是比例類指標可能會忽略一些訊息,例如:CTR下降,可能是因為用戶曝光PV上升導致的,其點擊count數其實也是增加的。因此絕對值和比率都要同時看。
  • 穩定的指標有利於更好的實驗效果。在樣本量一定的條件下,指標本身的波動越小,則variability越小,我們能夠有效統計出的最小實驗效果單位就越低,換句話說,穩定的指標能夠提昇實驗精度。
  • 選擇指標時,要過濾掉雜訊,例如: spam or fraud…等。

--

--