Om de impact van biometrische betalingen op de conversie te analyseren, moet er A/B-testen worden uitgevoerd met randomisatie op gebruikersniveau. Belangrijke metrics: primair — conversie naar aankoop (conversion rate), controle — gemiddelde besteding, diepte van de funnel (initiate checkout → payment success), retentie op de 7e dag. Daarnaast is segmentatie op apparaten (iOS/Android) en cohorten van nieuwe/terugkerende gebruikers nodig om het nieuwheidseffect te identificeren.
Minimaal experimentdesign: 50/50 split, duur van ten minste 2 volledige zakelijke cycli (14 dagen), berekende testkracht (power) ≥ 80% en significantieniveau (alpha) = 5%. Daarnaast wordt cohortanalyse uitgevoerd met behulp van SQL ter validatie van de stabiliteit van het effect in de tijd en Python (SciPy, Pandas) voor statistische hypothesetoetsing van de gelijkheid van verhoudingen.
Probleem:
Een fintech-startup was van plan om betaling via Apple Face ID in de iOS-app te implementeren. Het productteam veronderstelde een conversiegroei van 15%, maar het bedrijf was bezorgd over de tijdsinvesteringen in ontwikkeling (2 sprints). De taak van de analist is om de haalbaarheid van de functie te onderbouwen of te ontkrachten, terwijl alternatieve verklaringen voor de groei van metrics (seizoensgebondenheid, marketingactiviteiten, iOS-update) worden uitgesloten.
Overwogen oplossingen:
De eerste oplossing — analyse "voor en na" (pre-post analysis) door de conversie in de week vóór en na de release te vergelijken. Voordelen: minimale tijdsinvesteringen, vereist geen isolatie van gebruikers. Nadelen: het is onmogelijk om het effect van de functie van externe factoren (bijvoorbeeld de gelijktijdige lancering van een reclamecampagne) te scheiden, hoog risico op vals-positieve conclusies.
De tweede oplossing — quasi-experiment met de Difference-in-Differences (DiD) methode. Het was de bedoeling om iOS-gebruikers (waar Face ID verschijnt) te vergelijken met Android-gebruikers (controlegroep), rekening houdend met trends voor de implementatie. Voordelen: vereist geen technische implementatie van splitsing in de applicatie, werkt met waargenomen gegevens. Nadelen: kritiek veronderstelling van parallelle trends tussen platforms wordt vaak geschonden door de verschillende doelgroepen van iOS en Android, en er zijn interpretatieproblemen bij de aanwezigheid van confounders.
De derde oplossing (gekozen) — volledige A/B-testen met behulp van feature flags (LaunchDarkly). 50% van de iOS-gebruikers kreeg toegang tot Face ID (testgroep), 50% gebruikte de oude betalingsmethode (controle). De steekproefgrootte werd berekend in R met behulp van de pwr-bibliotheek: bij een basisconversie van 8%, verwachte MDE (Minimum Detectable Effect) van 12%, power=0.8 en alpha=0.05 waren ≥ 12 000 gebruikers per groep nodig. Het experiment duurde 3 weken om verschillende dagen van de week te dekken.
Resultaat:
De conversie in de testgroep steeg met 11,3% (van 8,1% naar 9,0%), p-value = 0.002 (tweezijdige z-test). Echter, de cohortanalyse toonde aan dat het effect statistisch significant was alleen voor nieuwe gebruikers (+18%), terwijl er voor de huidige gebruikers geen basisveranderingen werden waargenomen. Als resultaat werd besloten om de functie voor 100% van de gebruikers uit te rollen, maar de marketingmaterialen werden herschikt om nieuwe gebruikers aan te trekken, wat het ROI-project met 40% verhoogde ten opzichte van het oorspronkelijke model.
Hoe het nieuwheidseffect (novelty effect) te onderscheiden van een duurzaam verbeterings effect in metrics?
Kandidaten beëindigen vaak de A/B-test bij het bereiken van statistische significantie, zonder de duurzaamheid van het effect te controleren. Om het nieuwheidseffect te identificeren, moeten de cumulatieve curve van de metrics (cumulative metric curves) per dag worden opgesteld en een heterogeniteitsanalyse worden uitgevoerd: vergelijk het effect in de eerste 3 dagen met het effect in de laatste week. Gebruik cohortanalyse in SQL: splits het verkeer op basis van de inschrijfdatum in het experiment (cohort_date) en kijk of de uplift wordt behouden voor “oude” cohorten. Als het effect in de loop van de tijd afneemt, is dat een klassiek nieuwheidseffect — gebruikers proberen de functie in het begin uit uit nieuwsgierigheid, maar veranderen hun langetermijn gedrag niet.
Wat is het verschil tussen statistische significantie (statistical significance) en praktische significantie (practical significance) in productanalyse?
Bij grote steekproeven kan zelfs een toename van 0,5% in conversie statistisch significant zijn (p < 0,05), maar zinloos voor het bedrijf, als de kosten van het ondersteunen van de functie hoger zijn dan de opbrengsten van extra aankopen. Voor de start van het experiment moet MDE (Minimum Detectable Effect) — de minimale omvang van het effect met zakelijke waarde, worden vastgesteld. Dit wordt berekend als (Expected Revenue per Conversion × Additional Conversions) — Cost of Feature. Als de feitelijke uplift onder de MDE ligt, moet de functie zelfs bij p-value = 0,01 niet worden uitgerold. Voor berekeningen gebruik Python (statsmodels.stats.power) of online calculators zoals Evan Miller.
Hoe om te gaan met de situatie waarin een gebruiker de functie ziet, maar deze niet kan gebruiken (netwerkeffect of technische storing in een van de groepen)?
Dit is een probleem van contaminatie of spillover effect. Een klassiek voorbeeld: in de testgroep werd betaling met cryptocurrency toegestaan, maar de serviceprovider was 30% van de tijd niet beschikbaar. De “intentie om te behandelen” (intent-to-treat, ITT) analyse evalueert het effect op alle gebruikers aan wie de knop is getoond, ongeacht het feitelijke gebruik. Voor een schone evaluatie, past u de CACE (Complier Average Causal Effect) of instrumental variables (instrumentele variabelen) methode toe, waarbij “toewijzing aan een groep” fungeert als instrument voor het feitelijke gebruik van de functie. In SQL wordt dit uitgevoerd via tweestapsregressie of door JOIN met de logs van feitelijke operaties, waarbij gebruikers met serverfouten uit de analyse van effectiviteit worden uitgesloten, maar in de oorspronkelijke randomisatie worden behouden voor het controleren van de balans binnen de groepen.