Skip to content

A/B-hypothesen — pilot R1 "Je ziet altijd waarom" ​

Datum: 2026-10-08 · Bron: pilot-plan (H1–H4, fase 2–3) · risk-register (RR-004) · problem-solution-fit (A02, A03) Notatie: [Aanname] = geen Vattenfall-interne data. Alle aantallen zijn [Illustratief] tot de nulmeting (fase 0) de baseline vastzet. H1 (oorzaak van opt-out) toets je met de exit-vraag en interviews, niet met een A/B-test. Zie test-protocol.

Opzet ​

OnderwerpSlim laden-tab in de bestaande Vattenfall-app (S-01…S-05, S-08, N-01, N-02)
Wijziging (testarm)Walking skeleton R1 (16 Must-stories): vertrekdoel, inplugmelding met reden, statuskaart met reden (RC-01…RC-10), "Nu laden" met meerkosten vooraf en terugdraaien, verbindingsketen met "wie moet iets doen", avondcheck
ControleHuidige app plus RC-06 (de netverzoek-reden gaat in fase 0b voor iedereen live)
PopulatieS1: actieve Slim laden-gebruikers met één auto per adres, ≥ 14 dagen ingeschreven bij de start. Nieuwe aanmelders tijdens de pilot doen niet mee
Randomisatie-eenheidKlant (= adres), gestratificeerd naar laadroute (OEM-cloud vs. paal, i.v.m. RR-006) en EV+PV ja/nee. De arm ligt vast voor de hele pilot
Verdeling50/50 binnen de pilotgroep (5–10% van S1)
α / 1−β0,05 tweezijdig / 0,80 (H2) · 0,05 eenzijdig non-inferioriteit (H3)
Baseline opt-out 90 d15% [Aanname]: midden tussen de PSF-drempel van ≥ 10% en een bovengrens van 25%. Fase 0 (data-spike A05) stelt hem vast

Hypothesen ​

#RolHypothese (als … dan … omdat …)MetricDrempel (vooraf vastgelegd)
H2PrimairAls S1-klanten bij elke laadbeslissing de reden zien en met één knop kunnen ingrijpen, dan zetten minder van hen Slim laden binnen 90 dagen uit, omdat wachten er dan niet meer uitziet als een storing (O3) en het controleverlies verdwijnt (A01/A02)Opt-out-rate 90 dGo: significant (p < 0,05) én puntschatting ≥ 4 pp daling. Fout: geen significant verschil, of meer opt-out in de testarm
H3Guardrail (kernrisico RR-004)Als de override zichtbaar en makkelijk is, dan daalt de netto flexwaarde per EV met niet meer dan 5%, omdat de getoonde meerkosten overrides beperken tot echte noodgevallenNetto verschoven kWh per EV (non-inferioriteit) + override-aandeelStop: ondergrens van het 95%-BI < −5% netto flex, of overrides > 10% van de sessies
H4Secundair, schattenAls H2 standhoudt, dan daalt ook de contract-churn, omdat minder opt-out en minder "waarom"-frustratie de binding versterkenContract-churn na ≥ 6 mnd (cohort)Waardeaanname herijken als de puntschatting < 0,5 pp is. Geen ship-criterium: de power ontbreekt (zie Steekproef)

Formeel (H2): wij denken dat de R1-uitleglaag de 90-dagen-opt-out bij S1 verlaagt van ~15% [Aanname] naar ≤ 11%. Wij hebben gelijk als het verschil ≥ 4 pp is bij α = 0,05 en power 0,80. Wij hebben ongelijk als het verschil niet significant is, of als opt-out in de testarm stijgt.

Metrics ​

TypeMetricDefinitieBron
PrimairOpt-out 90 dAandeel klanten in de arm dat Slim laden ≥ 7 dagen aaneengesloten uitzet binnen 90 dagen na toewijzing (ITT)US-30 event uitgezet
SecundairHandmatig sturenAandeel sessies met een override (RC-07) of pauzeUS-30
SecundairExit-redenVerdeling van de antwoorden op de exit-vraag per arm (onbegrip / niet vol / zelf beslissen / storing / geld / anders)F-14a
Secundair"Waarom"-contactenContacten met klantenservice per 1.000 klanten, onder de categorie Slim ladenKlantenservice-log [Aanname: categorie bestaat]
SecundairDoel gehaaldAandeel sessies met eindlading ≥ doel bij vertrek (alleen bij bekende SoC)Engine-log
GuardrailNetto flexVerschoven kWh per EV per week, naar off-peak en flex-momenten, minus de override-kWhTrading (US-31)
GuardrailOverride-aandeelOverrides / laadsessies in de testarmUS-30
GuardrailKlachten en storingsmeldingenPer 1.000 klanten; ≤ controle + 20%Klantenservice
GuardrailMinimum niet gehaaldSessies onder het ingestelde minimum; ≤ controleEngine-log
GuardrailApp-crashes en laadtijd S-01NF-13: p95 < 2 sApp-monitoring

Steekproef ​

Formule (twee proporties, ongepoold): n per arm = (z₀,₉₇₅ + z₀,₈₀)² × [p₁(1−p₁) + p₂(1−p₂)] / Δ², met (1,96 + 0,84)² = 7,84.

H2: n per arm bij baseline × MDE [Illustratief] ​

Baseline opt-out ↓ / MDE →2 pp3 pp4 pp7 pp
10%3.2071.351717191
15% [Aanname]4.7162.0311.104322
20%6.0292.6231.443437
25%7.1463.1281.732536

Plan: 1.104 per arm, plus 25% marge voor contract-churn, verhuizing en uitsluitingen (zie RR-007) → ~1.400 per arm, ~2.800 totaal. Bij een baseline van 25% wordt dat ~2.200 per arm.

H3: non-inferioriteit netto flex (continu) ​

n per arm = 2 × (z₀,₉₅ + z₀,₈₀)² × CV² / δ², met marge δ = 5%.

CV verschoven kWh/EV [Aanname]n per arm
0,51.235
0,83.162

Met CUPED (de eigen pre-periode van 8 weken als covariaat) daalt de benodigde n naar verwachting onder H2-niveau. H3 bepaalt de steekproef dus mee: kies uiteindelijk het maximum van H2 en H3, zodra fase 0 de echte CV kent.

H4: churn, niet te powern binnen de pilot ​

6-mnd-churn S1 [Aanname]Δn per arm
5% → 4%1 pp6.735
5% → 4,5%0,5 pp (kill-drempel)28.373

Bij 5–10% van S1 lukt dat niet. H4 levert daarom een schatting met BI, geen toets. Om H4 echt te toetsen houd je na een Go op H2 een holdout van 10% van S1 aan, die ≥ 6 maanden zonder de laag blijft. Het grootste deel van de baat (63%) leunt op deze variabele, dus laat de holdout niet vallen.

Duur ​

FaseDuurToelichting
Toewijzen + uitrol testarm1 wkBestaande klanten in één keer. Blootstelling vanaf de eerste app-opening of inplugmelding
Meetvenster H2/H313 wk (90 d)Vast cohort, geen instroom. Beslaat ≥ 12 weekcycli en het begin van de flex-sturing (winter)
Analyse + besluit1 wkAlleen na dag 90
H4-cohort≥ 26 wkLoopt door in fase 3 (wk 20–32) en in de holdout

Totaal ≈ 15 weken, in lijn met fase 2 (wk 6–19). Is de pilotgroep kleiner dan ~2.800, dan wordt de pilot niet langer maar het MDE groter. Verdubbel dan de pilotgroep in plaats van te verlengen.

Peeking en beslisregel ​

WatRegel
H2 (primair)Niet tussentijds kijken. Eén analyse op dag 90, ITT. Het dashboard voor de opt-out per arm blijft dicht voor het productteam
H3 (guardrail)Wekelijks bewaakt door Trading. Alleen een schade-grens met alpha-spending (O'Brien-Fleming, 13 looks). Stoppen mag eerder; "winnen" eerder niet
Override > 10%Absolute drempel, wekelijks, geen toets nodig → pauzeer de override, niet de uitleg
SubgroepenVooraf vastgelegd: laadroute (SoC bekend/onbekend), EV+PV, exit-reden. Alleen verkennend, Holm-correctie
IntegriteitSample-ratio-check (χ², p < 0,001 = alarm) in wk 1; vergelijk de balans op de pre-periode
Uitkomst H2H3Actie
Significant, ≥ 4 ppBinnen margeGo: uitrol naar S1, 10% holdout voor H4
Significant, ≥ 4 ppBreukNiet uitrollen. Override-budget of frictie aanpassen, daarna opnieuw testen
Significant, < 4 ppBinnen margeItereren: het effect is kleiner dan aangenomen
Niet significant—Niet uitrollen. Exit-redenen bekijken: noemt men het resultaat, dan is H1 gefalsifieerd (pivot naar engine-kwaliteit)
Meer opt-out in de testarm—Terugdraaien + analyseren
SRM of datalek—Ongeldig, opnieuw starten

Risico's voor de validiteit ​

RisicoMitigatie
Gebundelde wijziging (16 stories): je leert of R1 werkt, niet welk onderdeelBewust: R1 is de walking skeleton. Ontleed het mechanisme met de secundaire metrics (reden geopend, override). Toets losse onderdelen pas in R2
RC-06 in beide armenZo opgezet: het effect wordt gemeten bovenop de vroege slice. Rapporteer dat expliciet
SoC onbekend (RR-006) dempt het effectStratificeren op laadroute en vooraf een subgroepanalyse vastleggen
OEM-storingen (RR-007) als ruisStoringsdagen loggen en een gevoeligheidsanalyse draaien zonder storingsklanten
Nieuwigheidseffect90-dagenvenster. Opt-out per maand rapporteren (maand 1 vs. 3)
Seizoen: winter + start flex-sturingBeide armen lopen gelijk op, dus geen bias in het verschil. Generaliseren naar de zomer kan niet
Interferentie (huishoudens, buren, klantenservice)Eén auto per adres; klantenservice krijgt de arm niet te zien, alleen het reden-script (gelijk voor beide)
Blootstelling < 100% (klant opent de app niet)ITT als primair. Per-protocol (≥ 1 inplugmelding gezien) alleen secundair

Ethiek en schade ​

RisicoMitigatie
"Nu laden" kost de klant geldDe meerkosten staan vooraf in de dialoog (S-04), terugdraaien kan altijd, geen tijdslimiet (NF-10)
De controlearm krijgt bij een netverzoek geen overrideGelijk aan de huidige situatie, plus RC-06-uitleg. Het minimum gaat altijd voor op flex (F-10)
AVG: experiment op gedragsdataGrondslag gerechtvaardigd belang [Aanname: legal toetst vóór start], geen vrije tekst in analytics (F-14), privacyverklaring bijwerken
Gelijkheid: digitaal minder vaardigen (P4) profiteren minderToegankelijkheidstoets WCAG 2.2 AA vóór livegang. Subgroep naar leeftijdsband als die beschikbaar is
Dark pattern: frictie om overrides te ontmoedigenVerboden. De meerkosten tonen is informatie, geen drempel. Geen extra bevestigingsstappen

Aannames en beperkingen ​

AannameWaardeVervangen door
Baseline opt-out 90 d15% (bandbreedte 10–25%)Data-spike fase 0
Variatiecoëfficiënt netto flex per EV0,5–0,8Trading, fase 0
6-mnd-churn S15%Data, fase 0
Omvang S1 en pilotgroep (5–10%) ≥ 2.800 klantenonbekendData, fase 0. Kleiner → MDE herrekenen vóór start
Opt-out-definitie "≥ 7 d uit"—Vastleggen met data vóór start

Er zijn geen uitkomsten voorspeld. Alle n's worden opnieuw berekend zodra fase 0 de baseline levert. Het plan wordt bevroren (pre-registratie in de repo) vóór de toewijzing.

Vattenfall Home Energy — Slim Thuis — solution-exploratie (vattenfall-home-energy)