A/B testy, canary releases i szkorbut
online #4
🚀🌕
@RafalRumanek
WYKORZYSTAŁ JEDEN PROSTY TRICK
I ZWIĘKSZYŁ CR O 271.3%
ZOBACZ JAK
[MEMY]
Kim jestem?
lubię SaaSy i eksperymenty
prezentacja bazuje głównie
na doświadczeniu z Voluum (Codewise)
Rozkład jazdy
- Czym są A/B testy oraz canary releases?
- Kilka historyjek
- No to how I can take?
- Proces a eksperymenty
- Problemy z danymi
- Etyka eksperymentów
- Skąd czerpać wiedzę i inspirację?
disclaimer
wszelki feedback bardzo doceniam 🙏
Od 'wydaje mi się' do 'wiem na podstawie danych'
Matematycznie udowodniona przyczynowość
(nie tylko korelacja)*
Trochę większa pewność niż 50%
(albo prawdziwe, albo nie)
*o ile test jest poprawnie przeprowadzony
Canary release
Canary release
Ciekawostka na grilla
Dlaczego te tematy razem?
Togglowanie, analityka
i decyzje procesowe umożliwiają:
- A/B/n testy (MVT - Multi Variable Tests)
- Canary release
- Blue-green release
- Feature flagi
- Killswitch
Cool story, bro
time
Case study #1
Payment flow
młody i dynamiczny kawałek produktu
od prozaicznych zmian jak kolorki i copy
przez zmiany kolejności kroków
po wywalenie opcji addonu, free triala i wymianę bramki płatności
Rejestracja
(+ plan)
Buy
(+ dane do faktury)
voluum.com
panel.voluum.com
Case study #1
Payment flow - wnioski
- skupienie się na miejscach z największym drop rate
daje efekty
- im mniej wyborów (rozpraszaczy) tym lepiej 📈
- gut feeling to tylko gut feeling - przeczucia mogą być *bardzo* błędne
- czasem trzeba zaorać spory kawałek pracy. I to jest okej
Case study #2
Zmiany w nawigacji
produkt się starzał - przybywało nowych opcji
część została 'ukryta'
na bazie danych, ale i tak baliśmy się wkurzyć ludzi
wewnętrzne testy -> Voluum Lab -> 10% -> 50% -> 100%
release -> feedback & bugfixing
Case study #2
Zmiany w nawigacji - wnioski
- early adopters ✨
- nie przetestujemy wszystkiego w newralgicznych miejscach (i kilka razy na tym wtopiliśmy)
- dobre zabawki 🚀 - rollout do segmentów, bazowanie na innych togglach, % rollout
Case study #3
3D-Secure 2.0
obowiązkowe wsparcie (UE) od 01.01.2021
początkowy rollout od 12.2020
płatności ❤️
początkowy drop CR o 40%,
z czasem wyrównywany (bugi, standard online)
Case study #3
3D-Secure 2.0 - wnioski
- czasem testowanie na prodzie jest konieczne
- zwłaszcza w przypadku płatności. Sandboxy to tylko sandboxy
- dodatkowa analityka pomaga zrozumieć dlaczego
(np. Hotjar, Sentry).
- dużo edge case'ów - A/B test może pokazać błędy
Bazowanie na surowych danych to za mało.
Eksperyment nie odpowie "dlaczego"
Co jeśli istnieje łatwo usuwalny błąd w kodzie?
Co jeśli istnieje naprawialny błąd UXowy?
Dalszych hipotez tyle co ludzi.
Potrzeba więcej eksperymentów!
Co ma szkorbut do
złych hipotez?
1. HODL - oblicz potrzebną próbkę danych - wyniki w trakcie mogą być mylące (peeking problem)! Sample Size Calculator 💎🤲
Problemy z danymi
3. Zanieczyszczenia danych - czy dane są faktycznie w pełni losowe, bez biasu?
4. Nieprawidłowości w rozmiarach próbek: Sample Ratio Mismatch
2. Co jeśli jednak zbyt dużo tracimy (mamy do zyskania)? Sequential A/B testing
o których chcesz wiedzieć
prosta analityka (GA)
Od czego zacząć?
prosty plik konfiguracyjny (toggle + lista user ID)
lub
losowanie i persystencja u użytkownika
👶 steps
Co dalej?
Testy/toggle
Analityka
1. Zdefiniuj mierzalne metryki. CTR? CR? MRR/ARR? LTV?
Proces a eksperymenty
2. Uwzględnij togglowanie i typ testowania w estymacie - zarówno przy kodowaniu jak i dalszą pracę.
3. Zadbaj o odpowiednią architekturę. Współdzielony kod? Iferiada? Osobne moduły z lazy loadingiem?
4. Zaplanuj analitykę. Łatwo dostępną. 👀
5. Zarezerwuj czas na analizę - ilościową i jakościową (błędy, obserwację użytkownika)
6. Sprzątaj eksperymenty. To okej, że nie wszystkie wychodzą. Wg Optimizely sukcesem kończy się 15-25% eksperymentów
Etyka
Od badań na szkorbutem (1753) i homeopatią (1835)...
...przez kampanie reklamowe z początku XX wieku (1908)...
...przez test optymalnej liczby rezultatów na stronie w Google (2000)...
...po szeroko stosowaną na porządku dziennym praktykę, która budzi mnóstwo kontrowersji
(np. Social Dilemma, 2020).
Gdzie jest granica?
Zwiększanie zysków?
Zwiększanie zaangażowania?
Manipulacja nastrojem?
Manipulacja przekonaniami?
DETOUR act (2019-2019) ⚰️
"(...) (1) In general It shall be unlawful for any large online operator: (...)
- (B) to subdivide or segment consumers of online services into groups for the purposes of behavioral or psychological experiments or studies, except with the informed consent of each user involved; or (...)"
Linki
- https://github.com/gregberns/ABTesting
- https://xkcd.com/1132/
- https://engineering.fb.com/2017/08/31/web/rapid-release-at-massive-scale/
- https://cdn2.hubspot.net/hubfs/310840/VWO_SmartStats_technical_whitepaper.pdf
- https://blog.optimizely.com/2015/01/20/statistics-for-the-internet-age-the-story-behind-optimizelys-new-stats-engine/
- https://blog.analytics-toolkit.com/2017/5-reasons-bayesian-ab-testing-debunked/
- https://dl.acm.org/doi/10.1145/3292500.3330722
- https://gopractice.io/blog/peeking-problem/
- https://ichi.pro/pl/jak-przeprowadzac-lepsze-i-bardziej-intuicyjne-testy-a-b-przy-uzyciu-statystyk-bayesa-79211264706169
- https://towardsdatascience.com/how-to-successfully-run-a-b-tests-f3ca363dec98
- https://cxl.com/blog/bayesian-frequentist-ab-testing/
Kalkulatory
- https://www.surveymonkey.com/mp/ab-testing-significance-calculator/ - z-test
- https://abtestguide.com/bayesian/ - bayesian
- http://www.evanmiller.org/ab-testing/sample-size.html - Required Sample Size
- https://www.lukasvermeer.nl/srm/microsite/ - Sample Ratio Mismatch
Pomysły
fin 🙇
@RafalRumanek
Feedback daj inżynierowi
/in/rafalrumanek
A/B testy & canary releases
By Rafał Rumanek (truti)
A/B testy & canary releases
- 404