A/B testning – referat från Nordic Data Science Summit

nordicdssummit16
Ferrologic Analytics deltog på data science konferensen Nordic Data Science Summit förra veckan. Detta inlägg är ett referat från en av de mer intressanta föreläsningarna, och lite egna reflektioner kring detta.

Presentationen handlade om hur Spotify jobbar med A/B testning och analys av resultaten från detta. Eftersom många av oss jobbar en hel del med A/B testning inom olika CRM relaterade uppdrag så tycker jag det är insiktsfullt att veta hur Spotify jobbar med A/B testning (även om det mer handlar om produktutv. för deras del).

När de gör en förändring i produkt så kan det handla om att lyckas minska churn, öka sessionslängder, öka konvertering till betalande kunder eller livstidsvärde. För att svara på om de lyckas använder de A/B tester i kombination med modellering på grupperna.

Införandet av en produktförändring leder ofta till ett antal förändringar i beteenden. De olika beteendeförändringarna fångas upp med ett antal variabler som ska mäta dessa beteenden. De använder sedan modellering för att svara på vilka beteenden som har hög förklaring på målvariabeln. För att bara använda påverkbara variabler i modelleringen skiljer de på ”agerbara” och”icke agerbara” variabler. Endast agerbara variabler används i modelleringen och icke agerbara variabler används för segmentering.

Exempel på agerbara variabler:
Sessionslängd, skip rate, offlinestreaming
Exempel på icke agerbara variabler:
Land, ålder, kön

För modellering använder spotify generellt XGBoost (https://arxiv.org/pdf/1603.02754.pdf för den som vill ha lite matnyttig läsning). Det är en robust metod som inte ställer så höga krav på variablernas fördelning och förhållande till målvariabeln samtidigt som den ger bra precision. Anledningen till att de inte använder random forest är för att det är viktigt att veta vilken variabel som har högst påverkan på målvariabeln.

Hur viktig en variabel är mäts genom hur stor förbättring på precision som variabeln ger till de grenar i trädet där den är inkluderad, summerad över alla träd i modellen. När modellen är tränad och validerad tolkas sedan de viktigaste variablerna i modellen som de variabler som har störst inverkan på målvariabeln. För att sedan veta om beteendet påverkats i en positiv eller negativ riktning jämförs sedan de viktigaste variablerna i test och kontroll. Som jag förstår det så gör man sedan tolkningen så här:

Om beteendevariabel X är positivt korrelerad med målvariabeln och en positiv förändring har skett i den variabeln jämfört med kontrollgruppen så har man haft en positiv påverkan på målvariabeln genom produktförändringen.

Hoppas att det ger lite intressant input i analysarbetet!

peter_saltin