Siden jeg har veldig liten erfaring med A/B-testing, har jeg tatt utgangspunkt i eksperimentplanlegging og -design. Dette har jeg lest meg opp på på nettsiden https://statisticsbyjim.com/.
Basert på vanlig praksis for eksperimentplanlegging og -design, har jeg identifisert følgende egenskaper som kan være nyttig for en A/B-testplattform. Disse supplerer listen til Tor.
- Innsikt i hvordan lignende eksperimenter har blitt utført tidligere. Dette innebærer valg av populasjon, teststatistikker, varighet, styrke, dosering, typen utvalg til gruppene, konfidensnivå, tiltak for å skille på korrelasjon og kausalitet.
- Maler for å sette opp eksperimenter.
- Inndeling av brukere i eksperimentgrupper for kontroll og behandling. Inndelingen må kunne bestemmes ut fra parametre for blokker og populasjonen som eksperimentet skal gjøres på.
- Definere behandlingen. Et eksperiment som for eksempel skal teste et innsalg i NRK Radio må definere hvor ofte innsalget skal vises, i hvilken sammenheng det skal dukke opp, og hvordan det skal se ut. Dette kan plattformen ta seg av.
- Om plattformen skal ta seg av analysene må dataene allikevel havne i BigQuery, slik at de ikke bare ligger i plattformen.
- Analyse av resultatene
- Automatisk implementering av behandlingen som er best og overskrider et visst praktisk signifikansnivå.
- Monitorering av behandlingen etter at den er prodsatt.
- Arkivering og gjentakelse av eksperimentet.
En minimumsvariant trenger i prinsippet kun å holde orden på fordelingen av utvalget på eksperimentgruppene.
Planleggingen av et eskperiment handler om å ta spørsmålene man vil finne svar på, og bruke bakgrunnsinformasjon og -kunnskap til å formulere en plan for handlingen for å besvare spørsmålene. Dette skal resultere i en hypotese som lar seg teste med data man har mulighet til å samle inn eller har tilgang på, gitt ressursene man har tilgjengelig.
Planleggingen av et eksperiment kan deles opp i fem steg.
- Innsikt i fagområdet som spørsmålene eksperimentet skal svare på stammer fra.
Når man formulerer spørsmålene man vil finne svar på, er det viktig å gjøre seg kjent med hva andre har gjort for å finne svar på lignende spørsmål. Har vi gjort lignende eksperimenter før? Kan vi snakke med andre som kan ha gjort lignende eksperimenter? Hva har de tenkt, gjort, og ikke gjort? Hva måtte de passe på, og hvordan har det gått? Ved å lene seg på arbeidet til andre, kan man spare mye tid og frustrasjon på å tenke ut ting fra grunnen, og heller forbedre metoden som er blitt brukt tidligere.
Med en A/B-testplattform som brukes av flere bedrifter, er det i prinsippet mulig å få tilgang på denne typen informasjon i plattformen gjennom en slags eksperimenthub.
- Operasjonalisering av eksperimentet. Dette innebærer:
- Velge ut varibler som skal måles, og hvordan de blir målt. I vår virksomhet dreier det seg hovedsaklig om data som vi får gjennom sporing i Snowplow. Vil det være hensiktsmessig at plattformen kan mates med data fra andre type målinger? Trolig ikke.
- Viktige invarianter som må holde for at eksperimentet skal være valid.
- Hvor ofte og hvor mye skal individene i eksperimentgruppene utsettes for behandlingene?
- Populasjonen man er interessert i må defineres. Skal eksperimentet gjøres kun på storskjerm? Skal det kun være barneprofiler med i eksperimentet?
- Måten utvalget blir gjort på må bestemmes. Ulike måter er blant andre fullstendig randomisert og blokkrandomisert. Dette er også noe man må se til tidligere eksperimenter i beslutningen.
- Styrkeberegning for å finne størrelsen på utvalget. Sammenlign med tidligere eksperimenter.
- Metode: teststatistikker, konfidensnivå, én- eller tohalet hypotesetest, tiltak for å skille på korrelasjon og kausalitet, regulering av p-verdi ved multiple tester.
- Analyse av data
- Datainnsamlingen
Maskineriet for innsamlingen av data må være robust og kunne testes i forkan av eksperimentet. Her har Tor flere punkter i sitt dokument som plattformen må tilfredsstille, jf. sharepoint-lenken. A/A-tester er en viktig forutsetning.
- Statistisk analyse
Avhenging av eskperimentdesignet/-typen bør plattformen levere grunnleggende analyser.
- Presentasjon, arkivering og gjentakelse av eksperimentet.
- Kontroll- og behandlingsgrupper er fullstendig tilfeldig inndelt fra populasjonen som er av interesse for eksperimentet.
- Vanligste og enkleste(?) typen eksperimentdesign.
- Stiller noen krav til plattformen, jf. dokumentet til Tor.
- Er det nødvendig å kunne regulere hyppigheten og størrelsen på dosen som individene blir utsatt for? I visse sammenhenger er svaret ja.
- Deler populasjonen inn i blokker basert på én eller flere faktorer, for eksempel aldersgrupper, og velger individer til kontroll- og behandlingsgrupper tilfeldig fra blokkene. Denne måten veier opp for forstyrrende faktorer som kommer av ulike preferanser, erfaring med tjenesten osv.
- Dette krever at plattformen kan dele inn i blokker basert på en faktor.
- Populasjonen deles inn i grupper som ved blokkeksperimenter, men det gjøres måliner gjennom hele eksperimentet, og gjerne i forbindelse med en dose.
- Denne typen eksperimenter krever en større forpliktelse fra individende som er med i eksperimentet, og er kanskje derfor vanskeligere å gjennomføre for vår del.
- Longitudiale eksperimenter brukes gjerne i testing av medisiner, og gir svært pålitelige resultater.
- Krever mer forpliktelse fra individene enn ved konvensjonelle eksperimenter.
- Krever færre inidvider.
- Har større styrke.
Observasjonsstudier går ut på å analysere data fra grupper som ikke er tilfeldig inndelt, men som observeres naturlig. Et eksempel er lojale og lav-lojale brukere. Ved å undersøke hva som skiller disse gruppene og bruke Hills kriterier for kausalitet, kan man finne årsaker til at noen brukere blir mer lojale enn andre.
Frekventistisk inferens er den vanligste måten å gjøre statistiske eksperimenter på, men bayesiansk inferens er også mye brukt, spesielt i forbindelse med sekvensiell data.