Meetup 1 eksperymentujemy_na_duza_skale_rkita

25
Eksperymentujemy po co i jak prowadzić testy A/B na dużą i małą skalę Radosław Kita Warszawa, 20151006 1

Transcript of Meetup 1 eksperymentujemy_na_duza_skale_rkita

Page 1: Meetup 1 eksperymentujemy_na_duza_skale_rkita

Eksperymentujemy    po  co  i  jak  prowadzić  testy  A/B    

na  dużą  i  małą  skalę    Radosław  Kita  

Warszawa,  2015-­‐10-­‐06  

1  

Page 2: Meetup 1 eksperymentujemy_na_duza_skale_rkita

Właściwie  po  co  te  testy?  •  Przecież  wszyscy….  •  Ludzie  zazwyczaj…  •  Nikt  rozsądny…  •  Moje  dziecko  to  zawsze…  •  Jak  mam  coś  znaleźć,  to  robię  to  tak…  •  Nie,  nie,  nie.  To  się  nie  sprawdzi.  W  trzewiach  to  czuję.  

 

2  

Page 3: Meetup 1 eksperymentujemy_na_duza_skale_rkita

Właściwie  po  co  te  testy?  •  Zróbmy  ankietę  •  Pokażmy  ekspertom  makietę  •  Zróbmy  badanie  fokusowe  

„Pozwólmy  naszym  ideom  umierać  za  nas”  Karl  Popper    „Data  driven  company”    

3  

Page 4: Meetup 1 eksperymentujemy_na_duza_skale_rkita

Co  testujemy?  Wszystko  J    Nie  no  serio,  prawie  wszystko  J  •  Efektywność  systemów  

rekomendacji  •  Efektywność  algorytmów  

wyszukiwania  •  Zmiany  w  budowie  stron  •  Zmiany  w  aplikacjach  •  Każdą  nową  funkcjonalność  

4  

Page 5: Meetup 1 eksperymentujemy_na_duza_skale_rkita

Jak  to  działa?  1.  Definicja  testu  2.  Plan  eksperymentalny  3.  Podział  na  grupy  4.  Zebranie  danych  5.  Dobór  statystyki  6.  Od  testu  do  wdrożenia  na  całym  serwisie  7.  Dużo  jednoczesnych  testów  -­‐>  kiedy  uruchomić  kolejny  

Czyli  trochę  wyzwań:  od  technologicznych  poprzez  programistyczne  aż  po  statystyczne.  

5  

Page 6: Meetup 1 eksperymentujemy_na_duza_skale_rkita

Definicja  testu  

6  

•  Osoba  definiująca  test  musi  mieć  dostęp  do  graficznego  interface.  •  Musimy  przekazać  dalej  definicję  której  funkcjonalności  dotyczy  

eksperyment  –  identyfikowanie  użytkowników,  którzy  rzeczywiście  mieli  kontakt  z  naszą  funkcjonalnością.  

•  Co  jeśli  trzeba  przewinąć  ekran  albo  rozklikać  jakieś  menu?    

Page 7: Meetup 1 eksperymentujemy_na_duza_skale_rkita

Definicja  testu  

7  

Miara  sukcesu:  •  Przychodowość  –  wiadomo  J  •  Ilość  kliknięć?  •  Jednorodność  koszyka  zakupowego?  •  Długość  ścieżki  zakupowej?  •  Aktywizacja  nowych  użytkowników?  •  …    

Page 8: Meetup 1 eksperymentujemy_na_duza_skale_rkita

Definicja  testu  

8  

Co  porównujemy:  •  Średnia?  •  Mediana?  •  75  centyl/percentyl?  •  …    

Page 9: Meetup 1 eksperymentujemy_na_duza_skale_rkita

Plan  eksperymentalny  

Użytkownicy  

Grupa  testowa  

Grupa  kontrolna  

9  Początek  pomiaru  

Koniec  pomiaru  

Początek  pomiaru  

Koniec  pomiaru  

Page 10: Meetup 1 eksperymentujemy_na_duza_skale_rkita

Plan  eksperymentalny  

10  

Tak  to  działa  przy  jednym  pomiarze.    Co  jeśli  dwa  lub  więcej?  Szczególnie  jeśli  pomiar  odbywa  się  w  jawny  dla  użytkownika  sposób.  Np.  zmiana  świadomości  marki  wskutek  kontaktu  z  reklamą.    

Page 11: Meetup 1 eksperymentujemy_na_duza_skale_rkita

Plan  eksperymentalny  

11  

Grupa  kontrolna  1  

Drugi  pomiar  

Pierwszy  pomiar  

Grupa  kontrolna  2  

Drugi  pomiar  

Grupa  testowa  1  

Drugi  pomiar  

Pierwszy  pomiar  

Grupa  testowa  2  

Drugi  pomiar  

Page 12: Meetup 1 eksperymentujemy_na_duza_skale_rkita

Podział  na  grupy  1.  Losowy  2.  Rozłączność  grup  w  obrębie  eksperymentu  3.  Rozłączność  grup  między  eksperymentami  –  o  ile  to  

konieczne  (eksperymenty  dotyczą  tego  samego  elementu  lub  mogą  na  siebie  wpływać)  

12  

Page 13: Meetup 1 eksperymentujemy_na_duza_skale_rkita

Podział  na  grupy  -­‐  wyzwania  Losowość:  każdy  z  użytkowników  powinien  mieć  jednakowe  prawdopodobieństwo  znalezienia  się  w  grupie.  Dwa  możliwe  podejścia:  1.  Dzielimy  on-­‐line  w  miarę  jak  się  pojawiają  –  

nadreprezentacja  bardziej  aktywnych  2.  Dzielimy  off-­‐line  przed  eksperymentem  na  podstawie  bazy  

danych  –  nie  wiemy  kiedy  kolejny  raz  się  pojawią  i  czy  w  ogóle  się  pojawią,  eksperyment  nie  może  trwać  dowolnie  długo  

13  

Page 14: Meetup 1 eksperymentujemy_na_duza_skale_rkita

Podział  na  grupy  -­‐  wyzwania  Kilka  sposobów  identyfikacji  użytkownika:  1.  cookie  2.  zarejestrowani  użytkownicy  3.  identyfikatory  w  aplikacjach  mobilnych  

Rozłączność!!  Tak,  tak.  Nie  zważając  na  to,  że  jeden  użytkownik  może  się  ukrywać  pod  kilkoma  identyfikatorami.  

14  

Page 15: Meetup 1 eksperymentujemy_na_duza_skale_rkita

Podział  na  grupy  -­‐  wyzwania  Czasem  trzeba  sprawdzić  dodatkowe  warunki:  •  położenie  geograficzne  •  profil  demograficzny  •  dotychczasową  historię  zakupów  

Szybkość!!  Czyli  Spark  i  filtry  Blooma  J    

15  

Page 16: Meetup 1 eksperymentujemy_na_duza_skale_rkita

Zebranie  danych  

16  

Page 17: Meetup 1 eksperymentujemy_na_duza_skale_rkita

Dobór  statystyki  

17  

W  statystyce  musimy  sobie  odpowiedzieć  na  jedno  zasadnicze  pytanie…  

Page 18: Meetup 1 eksperymentujemy_na_duza_skale_rkita

Dobór  statystyki  

18  

No  może  nieco  więcej  niż  jedno  J  1.  Czy  próby  są  od  siebie  zależne  czy  niezależne?  

Page 19: Meetup 1 eksperymentujemy_na_duza_skale_rkita

Dobór  statystyki  

19  

I  jeszcze  jedno  J  2.  Ile  mam  grup?  

Page 20: Meetup 1 eksperymentujemy_na_duza_skale_rkita

Dobór  statystyki  

20  

I  jeszcze  J  3.  Na  jakiej  skali  pomiarowej  jest  zmienna  

zależna?  

(nominalna,  porządkowa,  interwałowa,  ilorazowa)  

Page 21: Meetup 1 eksperymentujemy_na_duza_skale_rkita

Dobór  statystyki  

21  

I  jeszcze  J  4.  Czy  rozkład  zmiennej  zależnej  jest  normalny?  

Witamy  w  świecie  rozkładów  prawoskośnych  

Page 22: Meetup 1 eksperymentujemy_na_duza_skale_rkita

Dobór  statystyki  

22  

I  tak  znaleźliśmy  się  w  świecie  statystyk  nieparametrycznych.    Tak,  macie  rację.  Nie  uczyli  o  tym  zbyt  wiele  na  studiach  J  

Test  Manna-­‐Whitneya  Test  Kołmogorowa-­‐Smirnowa  Test  Kruskala-­‐Wallisa  

Page 23: Meetup 1 eksperymentujemy_na_duza_skale_rkita

Od  testu  do  wdrożenia  na  całym  serwisie  

Dobra  praktyka  –  przełączamy  małymi  grupkami  (np.:  po  5%  dziennie)  i  obserwujemy.  

23  

Page 24: Meetup 1 eksperymentujemy_na_duza_skale_rkita

Dużo  jednoczesnych  testów  -­‐>  kiedy  uruchomić  kolejny  

Id  testu  

Początek  testu   Koniec  testu  

1   2015-­‐01-­‐01  00:00:00   2015-­‐11-­‐30  23:59:59  

2   2015-­‐07-­‐01  00:00:00   2015-­‐12-­‐31  23:59:59  

3   2015-­‐06-­‐20  14:21:00   2015-­‐10-­‐20  15:29:59  

4   2015-­‐10-­‐03  12:00:00   2015-­‐10-­‐31  11:59:59  

…   …   …  

24  

Wskaż  optymalny  moment  do  przeprowadzenia  testu,  który  ma  trwać  dwa  tygodnie.  Ma  się  pokrywać  z  jak  najmniejszą  ilością  zaplanowanych  testów.  Złożoność  wielomianowa  mile  widziana.  

Page 25: Meetup 1 eksperymentujemy_na_duza_skale_rkita

Dziękuję  za  uwagę.  [email protected]  

  25