PLAB은 SK 플래닛의 A/B 테스트 플랫폼입니다.
- 실 사례를 통한 A/B Test 이해하기
- A/B Test에서 사용되는 통계적 추론 방법 이해하기
- PLAB으로 실제 A/B Test 수행해 보기
Bayesian 추론 엔진 등 PLAB에 대한 보다 많은 정보는 아래 사이트에서 확인 가능합니다.
PLAB 사이트 주소: https://plab.skplanet.com
4. 3
• 기존버전(A, Control, 대조군) vs. 새로운 버전(B, Variant, 실험군)
• 사용자들(Visitors)을 Random sampling 하여 A or B를 보여줌
• 사용자들의 반응을 정량적으로 수치(지표, 그래프)화
• Statistical Inference에 기반하여 Winner 선정
A, Control
B, Variant
Random Sampling
What is A/B Test?
Statistical Inference
5. 4
Do we really need A/B test?
• A/B Test를 하기 어렵게 만드는 생각들
- 지금까지 A/B Test 없어도 잘 해 왔는데 힘들게 A/B Test를 해
야해?
- 난 나의 직관을 믿기 때문에 A/B Test는 크게 필요 없어.
- 내 기획안이 A/B Test에서 실패하면 나의 성과는 아무 것도 없
잖아!
- 실패를 인정해 주지 않는 한국 문화에서는 안 맞는 것 같은데…
6. 5
Do we really need A/B test?
• 현재의 Feature 개발 방식
- 새로운 Feature 추가 -> 기도 (더 좋은 결과를 가져다 주기를)
• 잘나가는 Global 회사들은 왜 A/B Test를 하고 있을까?
- Amazon
- Netflix
- Airbnb
- Pinterest
- Booking.com
- …
7. 6
Where do we begin?
• Web 사이트나 앱의 목적이 무엇인지?
- 목적을 얼마나 잘 수행하고 있는지 측정할 수 있는 성과 지표를 정하는 것
부터 시작
• Quantifiable Success Metrics
- E-Commerce (Sell things for users)
• Completed purchase (Revenue by user)
• Products added to cart
• Product page view
- Media/Content (Article/Video consumption)
• Page views
• Time on site
• Bounce rate
- Donation
• Clicks to a form page
• Form completion
• Success Metric=Conversion
- 사용자가 기대되는 특정 Action을 수행한 시점에 Conversion 증가
8. 7
Case Study
A/B Testing: The Most Powerful Way to Turn Clicks Into Customers
(저자는 Optimizely의 초기 멤버)
9. 8
Case Study #1 HAITI Fund
• After Earthquake in Haiti, 2010
- A massive global aid effort began almost
instantly
- Within days, Bill Clinton and George W.
Bush foundation created a simple donation
page
- Every day the site was seeing millions of
visitors thanks to a massive media and
press campaign
• Bottleneck
- The initial donation page was essentially a
long form
- Consisting of lots of blank spaces on a
white background
10. 9
Case Study #1 HAITI Fund
• Preparation
- We spent three days and nights not only building a series
of tests
- but actually building the scaffolding that would enable us
to run the tests
• Which Success Metric?
- 1) Percentage of users making donations
- 2) Average donation amount
- 3) Dollars per pageviews
11. 10
Case Study #1 HAITI Fund
• Hypothesis
- The form-only page might seem overly
abstract
- Adding an image of earthquake victims
• would make the form more concrete and
emotive,
• spurring more visitors to make donations and
to make larger donations
• Result
- We saw our average donation per
pageview go down
12. 11
Case Study #1 HAITI Fund
• Importance of Hypothesis
- Here's the point in a testing process where having a
hypothesis is critical
- Had we simply been trying things at random, we could have
easily stopped sending traffic to that variation and never
investigated any further
• Insight
- Maybe the loss in donations wasn't due to the image itself
- But due to the fact that the image was pushing the form
down the page (“below the fold”), requiring users to scroll.
13. 12
Case Study #1 HAITI Fund
• Second Hypothesis
- What if we adopted a two-column layout and put the
image beside the form?
• Result
- It turned out that this layout brought in significantly more donations
14. 13
Case Study #1 HAITI Fund
• “Failed” tests are valuable because they often lead to new
hypotheses for why they didn't turn out the way you expected
- Testing will bring you closer to a meaningful understanding of your website's
audience.
• Marie Ewald, Director of Online Fundraising for the Clinton
Foundation said
- “With a disaster like the Haiti earthquake, every second counts when it
comes to attracting donations.”
- “In less than 48 hours we tested eight versions of the donation page, and
through this experiment we were able to generate an additional $1,022,571
in online revenue.”
16. 15
Exploration vs Refinement Test
- Exploration Test와 Refinement는 상호 보완적임
• Refinement Test를 통해 Insight를 얻을 수 있고 이를 바탕으로
Exploration Test로 연결될 수 있음
• 작은 A/B Test들이 중요한 Redesign 을 유발시킬 수 있음
17. 16
Case Study #2 – Lumosity
• Rethink the Business Model
- Lumosity is a company that offers web-based games
designed to improve users' minds
- Their business model is simple: users pay a monthly
subscription fee to access games
- The games were designed by neuro-scientists to promote
cognitive function
• Lumosity's scientists recommended that users train for 15 to 20
minutes a day, 4 to 5 times per week
- They provided unlimited daily training
• The data showed that
people would stay logged in for many hours,
but that over time, the frequency of logins declined, suggesting users were
burning out
18. 17
Case Study #2 – Lumosity
Figure. Original Lumosity user experience—unlimited daily training
19. 18
Case Study #2 – Lumosity
Figure. Original Lumosity user experience—unlimited daily training
20. 19
Case Study #2 – Lumosity
• Hypothesis
- Limiting the amount of training in one day would improve
engagement over time
• Feared that restricting the amount of a time a user could use the
service they were paying for would frustrate the user base
• I felt like, if I'm paying for this as a subscription and I'm not allowed to
train as much as I want, why would I pay for it
• Gosh, I hope we don't piss everybody off
• Run A/B test
- Original - unlimited training
- Variation -limited-training
21. 20
Case Study #2 – Lumosity
• Result
- The results shocked the team. Users actually trained more
over time in the new model
- After this initial exploration,
• The team then subsequently used A/B testing to refine the approach,
• Finding the messages and marketing that best support and reinforce
the idea of daily training
• Today, when a user completes a session, the message is,
“You're done. You can leave the site now,”
23. 22
Case Study #3 – Netflix
• Netflix offers a similar story of a rocky redesign.
• In June 2011, Netflix released to its 24 million
members a new “look and feel”
• They A/B tested the new layout
24. 23
Case Study #3 – Netflix
Four titles in a row to choose
“play” button and star rating
under each title’s thumbnail
Each title had whitespace
surrounding it – a waste of
Scrollable rows with title
thumbnails
Removed the star rating and
play button from the default
view, and made it a hover
25. 24
Case Study #3 – Netflix
• On the company’s blog
- The most liked comment under the short post reads,
- “New Netflix interface is complete crap,” followed by
similarly critical comments
• So, in the face of some bad opinions, why did Netflix
decide to keep the new design?
- Manager of Experimentation Bryan Gumm
• “If [the results hadn't been] positive, we wouldn't have rolled it out.”
• “We were looking at the metrics and people were watching more, they
liked it better, and they were more engaged in the service
• Gumm then reminds us that despite the few loud, unhappy customers
that may emerge, the most critical thing to remember is the data
26. 25
Case Study #3 – Netflix
• A/B tested both variations
- On a small subset of new and existing members
- While measuring retention and engagement in both
variations
• Result
- Retention increased by 0.20% to 0.55%
- Engagement grew by 0.30% to 1.40%
• The company A/B tested again in the rollout as a gut-
check.
- Sure enough, the results of the second test concurred with
the first
- That users watched more movies and TV shows with the new
interface
28. 27
A/B Test 결과 비교
• 실험 결과 A보다 B가 더 좋다는 것을 어떻게 판단해야
할까?
- A의 CR (Conversion Rate)보다 B의 CR이 높으면 되나?
- B의 CR이 어쩌다가 좋게 나올 수도 있지 않나?
• => 실험 결과가 통계적 유의미성이 있는 지 판단할 수 있는 지표
• Cases
- 1) Visitor: A-1,000명, B-1,000명
• Conversion: A-100 (10%), B-110 (11%, 10% Lift)
- 2) Visitor: A-3,000명, B-3,000명
• Conversion: A-300 (10%), B-330 (11%, 10% Lift)
- 3) Visitor: A-5,000명, B-5,000명
• Conversion: A-500 (10%), B-550 (11%, 10% Lift)
1) P value=0.4657
2) P value=0.2064
3) P value=0.1028
29. 28
P value
• P value
- 통계적 가설 검증 방법에 따라 어떤 결과가 발생할 확률을 계
산한 값
- Hypothesis
• Null Hypothesis: A의 CR = B의 CR 이라고 가정
- Probability
• P value > 0.05 (5%)
95% 확률로 발생할 수 있는 사건 발생
정상적인 것으로 생각. 가설을 기각할 수 없음
• P value < 0.05 (5%)
5% 확률로 발생할 수 있는 사건 발생
발생하기 힘든 사건이 발생. 이것은 A와 B가 다르기 때문에 발생한 것으로 생각하여
가설을 기각함
• P value는 낮을 수록 좋음
절대적인 지표라기 보다는 참고 지표
30. 29
Statistical Hypothesis Testing (통계적 가설 검증)
• Definition
- 통계적 가설 검정은 통계적 추측의 하나로서, 모집단 실제의 값이 얼마가 된다는 주장과
관련해, 표본의 정보를 사용해서 가설의 합당성 여부를 판정하는 과정을 의미한다.
- 일종의 귀류법: 어떤 주장에 대해 그 함의하는 내용을 따라가다 보면 이치에 닿지 않는
내용 또는 결론에 이르게 된다는 것을 보여서 그 주장이 잘못된 것임을 보이는 것이다.
• Steps
- Set up Null Hypothesis (and Alternate) – 귀무가설, 대립가설
- Set the Criteria for decision – 5%
- Compute the random chance of probability - P value
- Make Decision - Statistical Significance – 통계적 유의미성
• Test statistic methods
- Chi-square test
- T test
- Z test
- …
• 참조
- https://ko.wikipedia.org/wiki/%EA%B0%80%EC%84%A4_%EA%B2%80%EC%A0%95
- https://en.wikipedia.org/wiki/Statistical_hypothesis_testing
31. 30
Sampling one sample
• 어떤 서비스
- 하루에 100만명이 방문
- Conversion Rate = 10% 로 알려져 있음
• 사용자가 Conversion을 발생시킬 때 1
• 사용자가 Conversion을 발생시키지 않을 때 0 으로 계산한 평균값
• Sampling을 한번 수행
- 사용자 만명을 선택하여 Conversion Rate을 구하면?
• Sampling을 백번 반복하면?
10%
Probability
CR
32. 31
Sampling one sample
• Sampling을 백만번 반복하면?
• 위 확률 분포를 안다고 가정하고
• 한 번 Sampling하여 평균값이 어디 위치하는 지 확인 가능
- 95% 구간 안에 들면? 정상적
- 5% 구간 안에 들면? 발생하기 힘든 사건 발생
• P value = 양측 영역 확률값
33. 32
One-sample t-test
• 모집단의 평균을 알 때
• Sampling을 했을 때의 확률 분포를 알 수 있기 때문에
• 한 번 Sampling하여 평균값이 어디에 위치하는 지 확인 가능
- 95% 구간 안에 들면 정상적
- 5% 구간 안에 들면 발생하기 힘든 사건 발생
34. 33
One-sample t-test
• 통계적 가설 검증 예제
- 어떤 서비스
• 할인 이벤트 실행
• 할인 이벤트 후 통계적으로 유의미하게 CR이 증가하였는가?
- Steps
• Null Hypothesis: CR = 10%
• Set the Criteria for decision – 5%
• Compute the random chance of probability - P value
• Make Decision - Statistical Significance – 통계적 유의미성
35. 34
Sampling two sample
• 어떤 서비스
- 하루에 100만명이 방문
- Conversion Rate = 10% 로 알려져 있음
- A / A Test
• Sampling을 두 번 수행
- 방문하는 사용자 2만명을 선택
• A: 50% 사용자에게 A 화면을 보여 주고 Conversion Rate을 구하면?
• A’: 다른 50% 사용자에게 동일한 A 화면을 보여 주고 Conversion Rate을 구하면?
- 두 Sample에서 Conversion Rate의 차이를 구하면? A의 CR – A’의 CR
• 위 Sampling을 백번 반복하면?
0%
Count
Conversion Rate
36. 35
Two-sample t-test
• 모집단의 평균을 모를 때
• A / A Sampling을 했을 때의 확률 분포를 알 수 있기 때문에
• 한 번 A / A Sampling하여 평균의 차이가 어디에 위치하는
지 확인 가능
- 95% 구간 안에 들면 정상적
- 5% 구간 안에 들면 발생하기 힘든 사건 발생
37. 36
Two-sample t-test
• 통계적 가설 검증 예제 (A/B test)
- 어떤 서비스
• A 화면, B 화면
• B가 A 보다 통계적으로 유의미하게 CR을 증가시켰는가?
- Steps
• Null Hypothesis: A의 CR = B의 CR
• Set the Criteria for decision – 5%
• Compute the random chance of probability - P value
• Make Decision - Statistical Significance – 통계적 유의미성
38. 37
Statistical Hypothesis Testing (통계적 가설 검증)
• Definition
- 통계적 가설 검정은 통계적 추측의 하나로서, 모집단 실제의 값이 얼마가 된다는 주장과
관련해, 표본의 정보를 사용해서 가설의 합당성 여부를 판정하는 과정을 의미한다.
- 일종의 귀류법: 어떤 주장에 대해 그 함의하는 내용을 따라가다 보면 이치에 닿지 않는
내용 또는 결론에 이르게 된다는 것을 보여서 그 주장이 잘못된 것임을 보이는 것이다.
• Steps
- Set up Null Hypothesis (and Alternate) – 귀무가설, 대립가설
- Set the Criteria for decision – 5%
- Compute the random chance of probability - P value
- Make Decision - Statistical Significance – 통계적 유의미성
• Test statistic methods
- Chi-square test
- T test
- Z test
- …
• 참조
- https://ko.wikipedia.org/wiki/%EA%B0%80%EC%84%A4_%EA%B2%80%EC%A0%95
- https://en.wikipedia.org/wiki/Statistical_hypothesis_testing
40. 39
A/B Test Solutions
• Global Top
- Adobe, Optimizely, Oracle (Maxymizer)
- Google - Firebase (Mobile), Optimize (Web)
그림. Experience Optimization Platform (`18 2Q, 출처: Forrester Wave)
지원 플랫폼: Mobile, Web
서비스 방식: SaaS 방식 대부분
비용: 약 $100,000 / 100만명 / 1
년
41. 40
Solution 도입시 문제점
1. Cost
• 11번가 1년간 매달 500만명 실험시 연간 약 6억원 비용 발생
• OCB, Syrup 등 추가 서비스별 개별 비용 발생
2. Data Ownership
• 수집 데이터의 외부 전송 불가피
• 데이터를 가져오기 위한 별도의 비용과 시스템이 필요
3. Customization
• 상세 검색 등 서비스별 특화된 요구사항 개발 어려움
• 추가 비용 및 협업 필요
4. Lock - In
A/B Test 내재화 플랫폼 필요
42. 41
PLAB (A/B Test 플랫폼) 사용 이유
• A, B를 동일한 환경에서 실험할 수 있게 지원
- 모집단, 실험 기간, 실험 환경 등 모든 외부 요인이 동일한 통제
된 환경 제공
• A/B Test를 쉽게 진행 가능
- 트래픽 조절, A/B 분배 비율 조절
• 매출에 영향을 주는 실험일 경우 10% 트래픽, 90 (A) : 10 (B) 로 실험 진
행 가능
- 실험 시작/중단/복사. 실험 이력 조회 등
- A/B 개발을 쉽게 진행
• Android, iOS, Web(Javascript) SDK와 가이드 제공
• 통계적 가설 검증 기능 제공
43. 42
PLAB 개발 범위
11번가 현업 요구사항 수집 (Frontend서비스 Unit / APP개발팀)
CR (Conversion Rate) CTR
RBU AOV P-Value
Average Rank Segment별 분석
Android iOS PC Web/MW
Random Sampling
Audience Targeting (Filtering)
완료
미지원
실험 결과 정보
사용자 실험 참가 방식
지원 플랫폼 (SDK)
A/B Test 전체 프로세스 기능 개발
A/B Test Cycle
실험 생성
실험 검증실험 종료
실험 결과
실험 진행실험 수정
44. 43
PLAB 주요 특징
• Near-Real Time 데이터 분석
- 실험 시작후 5분 내 결과 제공, 1분 단위 Update
- Optimizely: 1시간 이후, GA: 12시간 이후
• E-Commerce 특화 Order 분석 기능
- AOV (Average Order Value), RBU (Revenue By User) 계산
• Statistical Hypothesis Test 이론 구현
- 통계적 유의미성 지표인 P-Value 계산
- Conversion 뿐만 아니라 AOV, RBU 값에 대한 P-Value도 제공
• 대부분 A/B Test 솔루션: Conversion 값에 대해서만 통계적 유의미성 지
표 제공
• 실험 관련 데이터가 외부 Cloud로 전송되지 않고, 내부
에 쌓여 추가 데이터 분석 가능
45. 44
PLAB 실험 진행 절차
1. A/B Test 실험 설계 2. PLAB에서 실험 생성
5. 다양한 지표와 그래프
로 실험 결과 확인
6. Winner 설정으로
실험 종료
3. 개발 및 배포후 실험 검증
PLAB
4. 사용자 A/B 참가로 실험
진행
46. 45
PLAB SDK
개발
- init()
- getVariation()
- track()
/* ABTest category_best experiment rendering */
String variation = ABTest.getVariation("category_best");
if(”A".equals(variation))
{
/* Render A screen */
}
else if(”B".equals(variation))
{
/* Render B screen */
}
else
{
/* Render A screen */
}
/* ABTest init */
ABTest.init(Intro.instance.getApplicationContext(), "11st_android", ABTestMeta.getMeta());
/* ABTest track */
JSONObject params = new JSONObject();
params.put("productName", productJson.optString("name"));
params.put("price", productJson.optInt("price") * productJson.optInt("quantity"));
…
ABTest.track(“order”, params);
최초 실험 개발시 1회
최초 실험 개발시 1회
54. 53
Central Limit Theorem (중심 극한 정리)
- 표본의 크기가 커질수록 표본 평균의 분포는 모집단의 분포 모
양과는 관계없이 정규 분포에 가까워진다.
- 이 중심극한정리가 통계적 유의성 검정을 위한 이론적 토대가
된다. 예를 들어 채집한 표본의 평균값이 어떤 특정한 값에 비
해 통계적으로 유의한 정도로 더 큰지 혹은 더 작은지를 검토
한다고 할 때,
- 표본 평균의 분포가 대략 정규분포를 이룬다는 전제 (=중심극
한정리) 가 있기 때문에 채집한 표본의 값이 이론적으로 전개
된 표본 평균 분포 상대에 비추어 봤을 때 나올 확률이 5% (통
상적으로 상정되는 유의 기준) 미만인지를 검토할 수 있는 것
이다.
참조: https://namu.wiki/w/%EC%A4%91%EC%8B%AC%20%EA%B7%B9%ED%95%9C%20%EC%A0%95%EB%A6%AC
Editor's Notes
Evaluation Criteria Focuses On Scaling Online Testing Programs
After examining past research, user needs assessments, and conducting vendor and expert interviews, we developed a comprehensive set of evaluation criteria. We evaluated vendors against 40 criteria, which we grouped into three high-level buckets:
› Current offering. To assess product strength, we evaluated each offering against seven dimensions: campaign management; application usability, administration, and security; test deployment and data handling; testing; dashboards, reports, and alerts; integration and native applications; and service and support. For some criteria, we incorporated quantitative client feedback regarding the level to which expectations are met, intuitiveness, and ease of use. These criteria include campaign preview, interface, administration, A/B testing, multivariate testing (MVT) techniques, MVT automation, dashboards and monitoring, reporting, and reports and alerts distribution.
› Strategy. To assess the strength of the vendor’s strategy, we evaluated each vendor againstve dimensions: planned product enhancements, deployment and licensing options, customer satisfaction, executive vision, and customer self-service. We also incorporated quantitative client feedback when scoring criteria such as customer satisfaction and customer self-service.
› Market presence. To benchmark the relative size of the vendors’ online testing businesses, we evaluated each vendor company against six dimensions: global revenues, revenues and pro t from online testing, online testing installed base, online testing market trajectory, online testing target market, and staff dedicated to online testing. We paid particular attention to the revenue, enterprise clients, and the number of product development, professional services, and technical support staff that are speci cally assigned to each vendor’s online testing business.
실험 설계: http://wiki.skplanet.com/pages/viewpage.action?pageId=154472286