當前位置:首頁 > 測試測量 > 測試測量
[導讀]A/B測試是大多數(shù)公司用來測試其產(chǎn)品特性的在線實驗的黃金標準。雖然A/B測試試驗在大多數(shù)情況下效果良好,但特別容易受到干擾,特別是在在線市場或社交網(wǎng)絡中。在本文中,我們旨在研究帶有干擾偏差的情況,以及一些減輕其對評價影響的潛在方法。

A/B測試是大多數(shù)公司用來測試其產(chǎn)品特性的在線實驗的黃金標準。雖然A/B測試試驗在大多數(shù)情況下效果良好,但特別容易受到干擾,特別是在在線市場或社交網(wǎng)絡中。在本文中,我們旨在研究帶有干擾偏差的情況,以及一些減輕其對評價影響的潛在方法。

A/B測試的基本假設及其違反情況

A/B測試的基本假設之一是Sutva--穩(wěn)定的單位處理值假設。隨機化單元治療的潛在結(jié)果只取決于他們所接受的治療,而不是分配給其他受試者的治療。

在市場和社會網(wǎng)絡上的實驗中,這種情況經(jīng)常遭到侵犯??赡艿那謾?quán)行為包括:

· a/b在社交網(wǎng)絡上測試實驗。比如說,我們想了解在"信碼"上添加"故事"功能的效果。一個增加治療部門人員參與度的功能會影響到與他們有聯(lián)系的控制部門人員??刂撇块T的人回應他們的故事,這可以增加他們的參與。這是一個實際治療效果比我們在實驗中看到的要小的例子。

· A/B在里茲野兔市場的測試實驗:假設一個里茲野兔市場引入了對騎馬者的折扣,并希望在無折扣控制下對其進行測試。另外,利息的度量是乘坐的次數(shù)。然而,如果治療者開始要求更多的乘坐,那么控制者可以使用的駕駛就會減少。這種情況下的治療效果被夸大了。

· 一個類似的例子是一個廣告市場,在這個市場中,多個活動都在競爭一個廣告。然而,假設有固定的廣告商預算。該預算由治療和控制部門分攤。想象一下,我們提出的功能增加了點擊率。在治療中,如果預算開始花費更多,控制組的可用預算就會減少。在這種情況下,治療效果再次膨脹。

減緩干擾效應

通過修改實驗設置和因果推理技術(shù),我們可以減輕A/B測試中干擾的影響。我探究了技術(shù)背后的直覺,而不是技術(shù)細節(jié)。我將分享推薦信,這樣你也可以稍后再做。

預算分割測試

這通常是在處理和控制之間共享廣告商預算等公共資源時使用的。在這方面,預算是按實驗流量的比例來分配的,這樣處理和控制就有了自己的預算,并且沒有拆食。這種方法費用高昂,因為可能導致預算利用不足。有關(guān)這方面的更多細節(jié),可在民劉等人的論文中找到。,2021年。我給出了一個基本代碼來創(chuàng)建一個預算劃分實驗系統(tǒng)。

import random

class BudgetSplitTest:

def __init__(self, total_budget, control_traffic_ratio):

self.total_budget = total_budget

self.control_traffic_ratio = control_traffic_ratio

self.treatment_traffic_ratio = 1 - control_traffic_ratio

# Split budget based on traffic ratio

self.control_budget = total_budget * control_traffic_ratio

self.treatment_budget = total_budget * self.treatment_traffic_ratio

# Track spent budget and conversions

self.control_spent = 0

self.treatment_spent = 0

self.control_conversions = 0

self.treatment_conversions = 0

def run_experiment(self, total_impressions):

for _ in range(total_impressions):

if random.random() < self.control_traffic_ratio:

self._serve_control_ad()

else:

self._serve_treatment_ad()

def _serve_control_ad(self):

if self.control_spent < self.control_budget:

spend = min(random.uniform(0.1, 1.0), self.control_budget - self.control_spent)

self.control_spent += spend

if random.random() < 0.1: # 10% conversion rate for control

self.control_conversions += 1

def _serve_treatment_ad(self):

if self.treatment_spent < self.treatment_budget:

spend = min(random.uniform(0.1, 1.0), self.treatment_budget - self.treatment_spent)

self.treatment_spent += spend

if random.random() < 0.15: # 15% conversion rate for treatment

self.treatment_conversions += 1

def get_results(self):

return {

"Control": {

"Budget": round(self.control_budget, 2),

"Spent": round(self.control_spent, 2),

"Conversions": self.control_conversions,

"CPA": round(self.control_spent / self.control_conversions, 2) if self.control_conversions else 0

},

"Treatment": {

"Budget": round(self.treatment_budget, 2),

"Spent": round(self.treatment_spent, 2),

"Conversions": self.treatment_conversions,

"CPA": round(self.treatment_spent / self.treatment_conversions, 2) if self.treatment_conversions else 0

}

}

# Run the experiment

total_budget = 10000

control_traffic_ratio = 0.5 # 50% traffic to control, 50% to treatment

total_impressions = 100000

experiment = BudgetSplitTest(total_budget, control_traffic_ratio)

experiment.run_experiment(total_impressions)

results = experiment.get_results()

轉(zhuǎn)換實驗

開關(guān)回用在兩面市場更常見,比如來夫特,Uber,多達什,所有的用戶都在處理和控制之間切換。這里的隨機化單元不是用戶而是時間單位。如果時間間隔短,這種方法可以從處理到控制產(chǎn)生溢出效應,否則會導致實驗能力不足。我們可以使用回歸分析等方法來增加功率。

import random

from datetime import datetime, timedelta

class SwitchbackExperiment:

def __init__(self, experiment_name, start_time, end_time, interval_hours=1):

self.name = experiment_name

self.start_time = start_time

self.end_time = end_time

self.interval_hours = interval_hours

self.schedule = self._create_schedule()

self.data = []

def _create_schedule(self):

schedule = []

current_time = self.start_time

while current_time < self.end_time:

schedule.append({

'start': current_time,

'end': current_time + timedelta(hours=self.interval_hours),

'variant': random.choice(['control', 'treatment'])

})

current_time += timedelta(hours=self.interval_hours)

return schedule

def get_active_variant(self, timestamp):

for interval in self.schedule:

if interval['start'] <= timestamp < interval['end']:

return interval['variant']

return None # Outside experiment time range

def record_event(self, timestamp, metric_value):

variant = self.get_active_variant(timestamp)

if variant:

self.data.append({

'timestamp': timestamp,

'variant': variant,

'metric_value': metric_value

})

def get_results(self):

control_data = [event['metric_value'] for event in self.data if event['variant'] == 'control']

treatment_data = [event['metric_value'] for event in self.data if event['variant'] == 'treatment']

return {

'control': {

'count': len(control_data),

'total': sum(control_data),

'average': sum(control_data) / len(control_data) if control_data else 0

},

'treatment': {

'count': len(treatment_data),

'total': sum(treatment_data),

'average': sum(treatment_data) / len(treatment_data) if treatment_data else 0

}

}

# Example usage

if __name__ == "__main__":

# Set up the experiment

start = datetime(2023, 5, 1, 0, 0)

end = datetime(2023, 5, 8, 0, 0) # One week experiment

exp = SwitchbackExperiment("New Pricing Algorithm", start, end, interval_hours=4)

# Simulate events (e.g., rides in a rideshare app)

current_time = start

while current_time < end:

# Simulate more rides during peak hours

num_rides = random.randint(5, 20)

if 7 <= current_time.hour <= 9 or 16 <= current_time.hour <= 18:

num_rides *= 2

for _ in range(num_rides):

# Simulate a ride

ride_time = current_time + timedelta(minutes=random.randint(0, 59))

ride_value = random.uniform(10, 50) # Ride value between $10 and $50

exp.record_event(ride_time, ride_value)

current_time += timedelta(hours=1)

# Analyze results

results = exp.get_results()

圖組隨機化(GCR)

在社會網(wǎng)絡實驗中,圖形集群隨機化是一種進一步減少干擾偏差的技術(shù)。 . 該方法在形成集群時考慮到網(wǎng)絡結(jié)構(gòu),有助于在網(wǎng)絡社區(qū)中隔離處理效果。然后將集群隨機分配給處理和控制。由于集群的孤立,干擾會自動減小.

資源調(diào)整指標

我們可以使用解釋資源分配的衡量標準,而不僅僅側(cè)重于絕對結(jié)果。例如,在廣告活動中,我們可能不僅僅是衡量點擊率,而是跟蹤每次點擊的成本或廣告支出的返回,這使不同預算水平的結(jié)果正常化。

合成控制

在出現(xiàn)干擾的情況下,可以構(gòu)建綜合控制組,根據(jù)其他單位的指標來模擬處理對某一單位的指標的影響。例如,假設我們把這個國家作為一個整體,在一個預先測試的時期,一個國家的度量標準是根據(jù)其他國家的度量標準建模的。當我們在一個國家推廣這一特征后,我們可以通過比較這一模型所預測的指標來模擬推廣干預的效果。結(jié)果的差異可能很大,足以衡量小影響。

信息技術(shù)服務

中斷時間序列模型。定義干預點,如特征推廣,然后使用干預前時間序列預測觀測結(jié)果。將其與實際觀察結(jié)果進行比較,以確定干預是否對時間序列產(chǎn)生影響。

亂滾

逐步引入對一小部分用戶的更改,并在擴展展開之前監(jiān)控結(jié)果。這使您能夠及早發(fā)現(xiàn)潛在的問題并減輕干擾的影響。

實際上,所有這些方法都應該與AB測試方法結(jié)合使用。例如,可以定義一些指標,以查看是否檢測到廣告市場的干擾。如果沒有問題,AB測試結(jié)果是可以信任的,否則,我們可以進行預算分割測試。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉