책 <A/B 테스트(론 코하비.다이앤 탕.야 쉬 지음)>의 22장을 요약정리한 내용입니다.
주목해야 하는 이유
대부분의 실험 분석에서는 실험에서의 각 실험단위의 행동은 다른 실험 단위들에게 실험을 적용하는 것에 영향을 받지 않는다고 가정한다. 대부분의 실제 적용에서 그럴듯한 가정이지만, 이 가정이 실패하는 경우도 많이 있기에 22장에서는 실패하는 경우에 대해 살펴본다.
이 책에서의 대부분의 종합 대조 실험을 분석하기 위해 프레임워크인 루빈 인과 모델을 가정하여 실험하였다. 우리는 이 가정과 실패 시나리오 및 해결하기 위한 접근 방식을 학습한다.
루빈 인과 모델에서 만들어진 주요 가정은 SUTVA로(Stable Unit Treatment Value Assumption), 실험에서 각 실험 단위의 행동은 다른 실험단위에 대한 변형군 할당에 의해 영향을 받지 않는다는 것이다.
z = (z1, …, zn)는 n개의 실험단위에 대한 변형군 할당 벡터다. 이것은 대부분의 실용적인 애플리케이션에서 그럴듯한 가정이다. 예를 들어 새 결제 흐름을 좋아하는 사용자는 구매할 가능성이 더 높으며, 해당 행동은 동일한 전자 상거래 사이트를 사용하는 다른 사용자와는 독립이다 (2장 참고).
그러나 SUTVA 가정이 유효하지 않은 경우에(이 장 뒷부분의 예 참조) 분석 결과는 잠재적으로 잘못된 결론을 내릴 수도 있다. 여기서는 SUTVA 가정을 위반한 것을 '간섭'으로 정의하며, 때로는 실험 간의 유출 또는 누출 또는 파급효과라고 한다.
간섭이 발생할 수 있는 방법에는 직접 또는 간접 연결의 두 가지가 방식이 있다. 예를 들어, 소셜 네트워크 상에서 친구이거나 또는 동시에 동일한 물리적 공간을 방문한 경우 두 단위를 직접 연결할 수 있다. 간접 연결은 동일한 광고 캠페인 예산을 공유하는 실험군 및 대조군 집단과 같은 어떠한 잠재 변수 또는 공유 리소스로 인해 생기는 연결이다. 이 두 방식은 모두 실험군과 대조군을 연결하고 상호작용하는 중간 매개체가 있다는 점에서 유사하다.
중간 매개체는 소셜 네트워크 상의 친구관계거나 실험군 및 대조군 사용자의 클릭에 대해 비용이 청구되는 공유 광고 예산일 수 있다. 이를 해결하기 위한 최상의 해결책은 다를 수 있으므로 간섭이 나타날 수 있는 메커니즘을 이해하는 것이 중요하다. 문제를 더 구체적으로 설명하기 위해 여기에 더 자세한 논의가 포함된 사례를 살펴보자.
예시 - 직접 연결된 경우
소셜 네트워크에서 친구이거나 동시에 동일한 물리적 공간을 방문한 경우 두 단위를 직접 연결할 수 있다. 직접 연결된 두 단위는 실험군과 대조군으로 분리돼 실험 간의 간섭을 유발할 수 있다.
페이스북 또는 링크드인과 같은 소셜 네트워크에서 사용자 행동은 해당 사이트 내 이웃의 행동에 영향을 받을 가능성이 있다. 더 많은 이웃이 특정 기능을 사용할수록 사용자는 그 기능을 사용하려 한다.
예를 들어, 사용자 관점에서
• 친구가 페이스북에서 화상 채팅을 사용할 경우 나도 사용할 가능성이 더 높다.
• 친구가 링크드인에서 메시지를 보내면 나도 친구에게 메시지를 보낼 가능성이 더 크다.
• 내 네트워크의 친구가 링크드인에 게시물을 올리면 나도 링크드인에 게시물을 올릴 가 능성이 더 크다.
A/B 실험에서 이것은 실험군이 사용자에게 상당한 영향을 미치는 경우 이웃이 실험군 또는 대조군에 있는지 여부에 관계없이 그 효과가 점진적으로 퍼질 수 있음을 의미한다. 예를 들어 링크드인에서 실험군의 더 우수한 "어쩌면 아는 사람" 추천 알고리즘 성능은 사용자에게 더 많은 연결 초대를 보내게 만든다. 그러나 이러한 초대를 받은 사용자는 대조군에 속할 수 있으며, 초대를 수락하기 위해 링크드인을 방문하면 더 많은 사람과 연결될 수 있다. 주요 관심 지표가 총 전송된 초대 수인 경우, 실험군 및 대조군 초대가 모두 증가할 가능성이 있으므로 델타가 아래쪽으로 편향돼 새 알고리즘의 이점을 완전히 포착하지 못할 수 있다. 마찬가지로, 실험군 사용자가 더 많은 메시지를 보내도록 권장하는 경우에 대조군 사용자가 응답하며 전송하는 메시지가 증가한다. 아래 그림을 참조하라
스카이프 통화. 커뮤니케이션 도구로서 스카이프의 모든 통화에는 적어도 두 사람이 참여한다. 분명히 사용자가 스카이프에서 친구에게 전화하기로 결정하면 친구는 적어도 이 전화에 응답하기 위해 스카이프를 더 많이 사용하게 된다. 친구는 스카이프를 사용해서 또 다른 친구에게 전화를 걸 수도 있다. A/B 환경에서 스카이프가 실험군에 대한 통화 품질을 개선해서 실험군으로부터의 통화 수를 늘렸다고 가정한다. 이러한 통화는 실험군 또는 대조군의 사용자 모두에게 갈 수 있다. 그 결과 대조군 사용자의 스카이프 사용 빈도도 증가하므로 실험군와 대조군 간의 차이가 과소 평가된다.
예시 - 간접 연결된 경우
특정 잠재 변수 또는 공유 리소스로 인해 두 단위가 간접 연결을 가질 수 있다. 직접 연결과 마찬가지로 이러한 간접 연결은 간섭을 유발하거나 변수 적용 효과의 편향된 결론을 야기할 수 있다.
- 에어비앤비 - 임대용 주택의 에어비앤비 마켓플레이스 사이트가 실험군 사용자의 구매 흐름을 개선해서 더 많은 예약을 유도할 경우 자연스럽게 대조군 사용자의 재고가 감소할 것이다. => 이것은 대조군에서 발생하는 수익이 실험이 없었을 경우의 수익보다 적다는 것을 의미한다. 실험군과 대조군을 비교하면 실험효과가 과대 평가된다.
- 우버/리프트 - 우버가 다른 '할증 요금' 알고리즘을 테스트한다고 가정해보자. 이 알고리즘이 너무 좋아서 실험군의 고객들이 이를 이용할 가능성이 더 높아졌다고 하자. 따라서 남아있는 운전자가 적어지며, 대조군의 가격이 올라가며 운전자 수는 더욱 줄어든다. 그 결과 실험군과 대조군을 비교하는 델타가 과대 평가된다.
- 이베이 - 실험군에서 구매자의 할인 또는 판촉과 같은 입찰을 장려한다고 가정한다. 실험군 및 대조군 사용자가 동일한 아이템에 대해 경쟁하기 때문에 실험군의 입찰 가격이 높을수록 대조군 사용자가 경매에서 이길 가능성이 낮아진다. 관심 지표가 총 거래 수인 경우 실험군과 대조군 간의 델타는 과대 평가된다.
- 광고 캠페인 사용자에게 동일한 광고에 대해 다른 순위를 보여주는 실험을 고려해보라.
실험군이 광고 클릭을 더 많이 유도하면 캠페인 예산이 더 빨리 소모된다. 주어진 캠페인의 예산이 실험군과 대조군 간에 공유되기 때문에 대조군은 더 작은 예산을 사용하게 된다. 결과적으로 실험군과 대조군 사이의 델타가 과대 평가된다. 또한 예산 제약으로 인해 광고 수익에 영향을 미치는 실험은 월초(또는 분기)와 월말(또는 분기)이 다른 결과를 도출하는 경향이 있다. - 관련성 모델 훈련 관련성 모델은 무엇이 관련성이 있는지 아닌지를 학습하기 위해 사용자 참여 데이터에 크게 의존한다. 개념을 설명하기 위해. 간단한 클릭 기반의 관련성 모델을 순위를 매길 목적으로 사용하는 검색 엔진을 상상해 보자. 이 경우 신발을 검색할 때 보다 많은 사용자가 (신발을 온라인 판매하는) target.com을 클릭한다.
이때 검색엔진의 학습이 이뤄져 신발이라는 키워드에 대해 target.com은 순위를 더 높게 매기게 된다. 이런 학습 프로세스는 모델 훈련(model trainng)이라 하며, 이는 새로운 데이터가 유입되며 연속적으로 일어난다. 사용자가 무엇을 클릭하는지를 더 잘 예측할 수 있는 관련성 모델에 대해 실험하는 경우를 고려하자 모든 사용자로부터 수집된 데이터를 사용해서 대조군 및 실험군 모두 훈련하는 경우, 실험기간이 길어지면 길어질수록 실험군으로부터 클릭은 대조군의 예측력을 높이게 된다. - CPU. 사용자가 장바구니에 아이템을 추가하거나 검색 결과를 클릭하는 등 웹사이트에서 작업을 수행하면 일반적으로 웹사이트 서버에 대한 리퀘스트가 발생한다. 쉽게 말해서 리퀘스트가 서버 시스템에서 처리되고 정보가 사용자에게 반환된다. A/B 환경에서 실험군 및 대조군의 리퀘스트는 일반적으로 동일한 머신에 의해 처리된다. 과거에 실험의 버그가 예기치 않게 시스템의 CPU와 메모리에 부하를 줘서 실험군과 대조군 모두의 리퀘스트를 처리하는 시간이 지연된 적이 있었는데, 통상적인 방법으로 대조군과 실험군을 비교하면, 이러한 부정적인 실험 효과는 과소 평가된다.
- 사용자보다 더 세분화된 실험 단위. 14장에서 논의했듯이 사용자가 더 일반적으로 사용되는 실험 단위이지만 실험이 페이지 방문 또는 세션과 같은 다른 단위로 랜덤화 되는 경우가 있다. 사용자보다 더 작은 실험 단위(예: 페이지 뷰)는 동일한 사용자의 실험군으로부터 학습효과로 인해 잠재적인 유출을 일으킬 수 있다. 이 경우 '사용자'가 잠재적 연결이다.
예를 들어, 지연시간을 크게 개선하는 실험이 있고, 페이지 뷰로 랜덤화한다고 가정하면, 동일한 사용자가 실험군과 대조군 양 쪽에서 각각 페이지 뷰를 경험하게 된다. 페이지 로드 시간이 빨라지면 일반적으로 더 많은 클릭과 수익으로 이어진다. 그러나 사용자는 혼합된 경험을 하기 때문에 빠른 페이지에서의 행동은 느린 페이지의 행동에 의해 영향을 받을 수 있으며 그 반대의 경우도 마찬가지이다. 이 경우에도 실험 효과는 과소 평가된다.
몇 가지 실용적인 해결책
이러한 예시에서의 간섭은 서로 다른 이유로 인해 발생하지만 모두 편향된 결과로 이어질 수 있다. 예를 들어 광고 캠페인에서 실험 중 수익에 대한 긍정적인 델타를 볼 수 있지만, 실험이 모든 사용자에게 시작되면 예산 제약으로 인해 영향이 중립적일 수 있다. 실험을 실행할 때 두 평행 우주, 즉 모든 실험단위가 실험군이거나 모든 실험단위가 대조군인 우주 사이의 델타를 추 정하고 싶어 하지만, 실험군과 대조군 실험단위 사이의 누출은 추정치를 편향시킨다. 종합 대조 실험에서 간섭을 해결하기 위한 몇 가지 범주의 실용적인 접근법들을 학습하며 예방 및 해결책을 학습해 보자.
경험법칙: 행동의 생태계 가치
모든 사용자 행동이 실험군에서 대조군으로 유출되는 것은 아니다. 분석가는 잠재적으로 유출될 수 있는 행동을 식별할 수 있으며 이러한 행동이 실험에서 중대한 영향을 받는 경우에만 간섭에 대해 고려하면 된다. 이것은 일반적으로 1차적인 행동뿐만 아니라 행동에 대한 잠재적인 반응을 의미한다. 예를 들어 소셜 네트워크 실험에 대한 다음 지표를 고려하라.
• 총 전송된 메시지 및 응답한 메시지의 수
• 작성된 총 게시물 수 및 받은 총 좋아요/댓글 수
• 총 좋아요 및 댓글의 수, 이러한 좋아요와 댓글을 받은 투고자의 총 수
이러한 지표는 다운스트림 영향을 나타낼 수 있다. 반응을 측정하면 1차 행동으로 인한 잠재적으로 생태계 내에 미치는 영향의 깊이와 폭을 추정할 수 있다(Parleaux, Vang 2018). 1차 행동에 긍정적인 영향을 미치고 다운스트림 지표에 영향을 미치지 않는 실험은 측정 가능한 유출효과를 갖는다고 간주되지 않는다.
다운스트림 영향을 나타내는 지표를 식별하면 각 행동이 전체 생태계에 대한 가치 또는 참여로 어떻게 변환되는지에 대한 일반적인 지침을 설정할 수 있다. 예를 들어, 사용자 A의 메시지가 A와 이웃 모두의 세션 방문으로 변환되는 양은 얼마인가? 이 경험 법칙을 설정하는 한 가지 접근법은 다운스트림 영향이 있다고 입증된 과거의 실험을 사용하고, 이들의 영향을 도구 변수 방법을 사용해 행동 X/ Y/ Z의 다운스트림 영향에 외삽하는 것이다(Tutlerow, Saint-Jacsucs 2019).
이 경험 법칙 방법은 생태계 가치를 한 번만 구축하면 되고 어떤 베르누이 무작위 실험에도 적용할 수 있기 때문에 비교적 구현하기 쉬우며, 다운스트림 지표에 대한 중요한 영향을 측정하기 위해 베르누이 랜덤화에 의존하기에 다른 방법보다 더 민감하다는 특징이 있다. 그러나 이 경험 법칙 방법에도 한계는 있다. 기본적으로 경험 법칙 방법은 근사일 뿐이며 모든 시나리오에서 작동하지 않을 수 있다.
격리
간섭은 실험군과 대조군을 연결하는 매개체를 통해 발생한다. 매개체를 식별하고 각 변형군을 격리시켜 잠재적인 간섭을 제거할 수 있다. 경험 법칙은 베르누이 랜덤화 설계를 사용해서 분석 중 생태계 효과를 추정할 수 있도록 한다. 격리를 위해서는 실험군 및 대조군 단위가 잘 나눠지도록 다른 실험 설계들을 고려해야만 한다. 다음은 몇 가지 실용적인 격리에 관한 접근 방법이다.
- 공유 리소스 분할 - 공유 리소스가 간섭을 유발하는 경우 실험군과 대조군을 분리하는 것이 가장 확실한 첫 번째 선택이다. 예를 들어, 실험군 및 대조군 할당에 따라 광고 예산을 분할하고 트래픽의 20%가 할당된 실험군 또는 대조군에서 20% 예산만 사용하도록 허용할 수 있다. 마찬가지로 관련성 알고리즘 훈련 사례에서는 실험군 및 대조군별로 훈련 데이터를 분할할 수 있다. 이 방법을 적용할 때 주의해야 할 두 가지 사항이 있다.
1. 간접 리소스를 실험군 및 대조군에 대한 트래픽 할당에 따라 정확하게 분할할 수 있는가?
2. 트래픽 할당(자원 분할 크기)이 편향을 유발하는가? 훈련 데이터의 경우 더 많은 훈련 데이터를 얻을수록 모델 성능이 향상된다. 실험군 모델이 학습할 데이터를 5%만 얻고 대조군 모델이 95% 데이터를 얻는 경우, 이는 대조군 모델에 대한 편향을 유발한다. 이것이 트래픽 할당에 대해 50/50 분할을 권장하는 이유 중 하나이다. - 지리 기반 랜덤화. 두 단위가 지리적으로 가까울 때 간섭이 발생하는 많은 사례가 있다. 예를 들어, 동일한 관광객들을 위해 경쟁하는 두 개의 호텔이나 동일한 승객들을 위해 경쟁하는 두 대의 택시가 있다. 다른 지역의 단위(호텔, 택시, 배달원 등)가 서로 격리돼 있다고 가정하는 것이 합리적이다. 이를 통해 실험군와 대조군 간의 간섭을 분리하기 위해 지역 수준에서 랜덤화할 수 있다(Vaver, Koehler 2011, 2012). 한 가지 주의사항은 지리적 수준에서 랜덤화하면 사용 가능한 지리적 위치 수에 따라 표본 크기가 제한된다. 이로 인해 A/B 테스트에 대한 분산이 커지고 검정력이 낮아진다.
- 시간 기반 랜덤화. 시간을 사용해서 격리를 만들 수 있다. 임의의 시간 t에서 동전을 던져서 모든 사용자에 대해서 실험을 할지 아니면 모든 사용자를 대조군으로 할당할지를 결정할 수 있다(Bojinov, Shephard 2017, Hohnhold. OBrien, Tang 2015). 물론 이것이 작동하려면, 시간이 지남에 따라 동일한 사용자에 의해 발생할 수 있는 간섭이 중요하지 않은 문제여야 한다.
- 네트워크 클러스터 랜덤화. 지리적 기반 랜덤화와 유사하게 소설 네트워크에서 간섭 가능성에 따라 서로 가까운 노드의 '클러스터'를 구성한다. 이 클러스터들을 "커다란" 랜덤화 단위로 사용하고 독립적으로 실험군 또는 대조군으로 랜덤화 한다. 이 접근법에는 두 가지 제한 사항이 있다.
1. 실제로 완벽하게 격리되는 것은 드물다. 대부분의 소셜 네트워크에서 연결 그래프는 일반적으로 너무 조밀해서 완벽하게 격리된 클러스터로 잘라낼 수 없다. 예를 들어 전체 링크드인 그래프에서 격리되고 균형 잡힌 클러스터 10,000개를 만들려고 할 때, 80% 이상의 클러스터 간 연결이 여전히 존재했다(Saint-Jacques el al, 2018)
2. 다른 큰 단위의 랜덤화 접근법과 마찬가지로 유효 표본 크기(클러스터 수)는 일반적으로 작기 때문에 클러스터를 구축할 때 분산과 편향 사이에 트레이드오프 관계가 있다. 클러스터 수가 많을수록 분산이 작아지지만 격리가 잘 되지 않을 수 있으며 더 큰 편향을 가져온다. - 네트워크 에고(ego) 중심 랜덤화. 네트워크-클러스터 랜덤화 접근법에서 클러스터는 클러스터 간의 엣지 절단을 최소화해서 구성되며 각 클러스터는 특정 구조를 사용하지 않는다. 실험 할당 중 클러스터의 모든 노드도 동일하게 처리된다. 에고 중심 랜덤화는 소셜 네트워크에서 유사한 간섭 문제가 있지만 제약사항이 적다. "에고" (초점이 되는 개인)와 "올터(afers)" (즉시 연결되는 개인)로 구성된 클러스터를 생성해서 더 나은 격리와 더 작은 분산을 얻을 수 있다. 이를 통해 자에고와 올터에 대한 변형군 할당을 별도로 결정할 수 있다. 예를 들어 모든 올터와 절반의 에고에 대해 실험을 수행해 실험군의 에고와 대조군의 에고를 비교함으로써 1차적 영향과 다운스트림 영향을 측정할 수 있다. Saint-Jacques el al (2018)에서 이에 대한 유용한 논의를 찾을 수 있다.
가능하다면 항상 격리 방법을 결합해 더 큰 표본 크기를 얻어라. 예를 들어 네트워크 클러스터 랜덤화를 적용하는 동안 표본 추출의 차원으로 시간 t를 활용해서 표본 크기를 확대할 수 있다. 간섭의 대부분의 시간 범위가 짧고, 실험효과 자체가 길지 않다면 매일 둥전 던지기를 통해 각 클러스터에 대한 실험군 및 대조군 할당을 결정할 수 있다. 때로는 간섭이 발생할 수 있는 곳을 예측해서 더 나은 거리를 만들 수 있다. 예를 들어 사용자는 소설 네트워크의 모든 이웃에게 메시지를 보내지 않는다. 연결 네트위크 자체가 일반적으로 너무 밀집돼 격리된 클러스터를 만들 수 없음을 알고 메시지가 교환된 가능성이 있는 서브그래프를 식별하면 더 나은 클리스터를 만들 수 있다.
엣지 수준 분석
일부 유출은 두 사용자 간의 명확하게 정의된 상호작용에서 발생한다. 이러한 상호작용(엣지)은 식별하기 쉽다. 사용자에 대해 베르누이 랜덤화를 사용한 다음, 사용자(노드)의 실험 할당에 따라 엣지를 다음 네 가지 유험 중 하나로 구분할 수 있다. 실험군-실험군, 실험군-대조군, 대조군-대조군 및 대 조군-실험군. 서로 다른 엣지에서 발생하는 대조적인 상호작용(예: 메시지, 좋아요)을 통해 중요한 네트워크 효과를 이해할 수 있다. 예를 들어. 실험군-실험군 및 대조군 -대조군 경계 사이의 차이를 사용해서 편향되지 않은 델타를 추정하거나, 실험군의 단위가 대조군 단위보다 다른 실험군 단위에 메시지를 보내는 것을 선호하는지(실험군 친화성), 실험군이 생성한 새로운 활동이 더 높은 응답률을 받는지 여부를 식별하라. Saint Jacques ct al. (2018)의 엣지 수준 분석을 참조하라.
간섭 감지 및 모니터링
간섭의 메커니즘을 이해하는 것이 좋은 해결책을 알아내는 열쇠이다. 정확한 측정을 하는 것이 모든 실험에서 실용적이지 않을 수 있지만, 간섭을 감지하기 위해서는 강력한 모니터링 및 경고 시스템을 갖추는 것이 중요하다. 예를 들어, 실험 중 모든 광고 수익이 예산 제약이 있는 광고주와 예산에 제약이 없는 광고주로부터 나오는 경우, 출시 후 실험 결과를 일반화할 수 없다. 실험 램프업 단계(에: 직원과 소규모 데이터 센터에의 최초의 실험 확대)에서는 매우 나쁜 간섭(예: 한 실험이 모든 CPU를 소비하는 것)을 감지할 수 있다.
퀴즈 1. 빈칸을 채워주세요.
간섭이 발생할 수 있는 방법에는 (직접) 또는 (간접 연결)의 두 가지가 방식이 있다. 이 두 방식은 모두 (실험군과 대조군)을 연결하고 상호작용하는 (중간 매개체)가 있다는 점에서 유사하다.
퀴즈 2. 종합 대조 실험에서 간섭을 해결하기 위한 몇 가지 범주의 실용적인 접근법들을 학습하며 예방 및 해결책을 모두 적으시오. (경험법칙,격리,엣지 수준 분석,간섭 감지 및 모니터링)
'Data > AB Test' 카테고리의 다른 글
분산 추정 및 민감도 개선: 함정 및 해결 (0) | 2023.09.03 |
---|---|
[A/B 테스트] 10. 보완 기법들 (0) | 2023.08.15 |
[A/B 테스트] 05. 속도의 중요성: 엔드-투-엔드 사례 연구 (1) | 2023.07.25 |
[A/B 테스트] 02. 실험의 실행과 분석 - 엔드 - 투 - 엔드 예제 (0) | 2023.07.04 |