Popust je najbrži način da conversion rate izgleda bolje na sastanku.
Pustiš kupon od 7 eura, prodaja skoči, dashboard pozeleni i svi nakratko izgledaju kao da znaju što rade. Problem počinje kada netko pita koliko je dodatnog profita ostalo nakon što smo popust dali i ljudima koji bi kupili bez njega.
Tu konverzija prestaje biti odgovor.
Pravo pitanje nije: tko je kupio nakon kupona?
Pravo pitanje je: tko je kupio zbog kupona?
Ta razlika zove se inkrementalni učinak ili uplift. Nije nova naljepnica za conversion rate. To je pokušaj mjerenja uzroka.
Podaci koji dopuštaju pošten odgovor
Za ovakav problem trebaju nam tretirana i kontrolna skupina. Bez kontrole imamo prodaju nakon kampanje, ali nemamo vjerodostojan odgovor što bi se dogodilo bez kampanje.
Criteo Uplift Prediction Dataset nastao je spajanjem više randomiziranih testova inkrementalnosti oglašavanja. Ispravljena, nepristrana verzija sadrži 13.979.592 retka, prosječnu stopu posjeta od 4,6992%, prosječnu stopu konverzije od 0,292% i oko 85% tretiranih korisnika.
Objavljena shema navodi anonimizirane značajke f0 do f11 te četiri stupca koja su ovdje bitna:
| stupac | značenje |
|---|---|
treatment | 1 ako je korisnik dodijeljen tretmanu, 0 ako je u kontroli |
conversion | 1 ako je korisnik konvertirao |
visit | 1 ako je korisnik posjetio odredište |
exposure | 1 ako je tretirani korisnik stvarno bio izložen poruci |
Anonimizirani stupci nisu idealni za poslovno objašnjenje, ali struktura testa jest. U vlastitom web shopu umjesto f0 želiš varijable koje postoje prije odluke o kuponu: broj prethodnih narudžbi, recency, kategoriju zadnje kupnje, prosječnu maržu, uređaj, izvor dolaska i je li proizvod već bio snižen.
Ako u model ubaciš podatak koji nastaje nakon slanja kupona, primjerice vrijednost košarice te narudžbe, model više ne predviđa odluku. Čita tragove događaja koji se već dogodio. To je leakage, samo uredno zapakiran.
Uplift bez magle
Za randomizirani test prosječni uplift u konverziji je razlika stopa između tretmana i kontrole:
Y je ishod, ovdje kupnja. T=1 označava tretman, a T=0 kontrolu. Ako tretman konvertira 4,20%, a kontrola 3,55%, uplift iznosi 0,65 postotnih bodova.
To nije rast od 0,65%. Relativni rast iznosi približno 18,31%, jer se 0,65 dijeli s početnih 3,55. Miješanje postotaka i postotnih bodova proizvodi vrlo kreativne prezentacije i vrlo loše budžete.
Modeliranje po korisniku pokušava procijeniti uvjetni učinak:
X=x znači da uspoređujemo korisnike s istim promatranim karakteristikama. Kod randomiziranog testa dodjela tretmana daje nam čvrstu osnovu za tu usporedbu. Kod običnih povijesnih kampanja pretpostavke su teže: korisnici koji su dobili kupon često nisu nasumično odabrani, pa razlika može biti posljedica selekcije, a ne ponude.
Konverzija raste, profit pada
Uzmimo transparentan radni primjer. Nije rezultat Criteovih podataka, nego mali kontrolni račun koji svatko može ponoviti.
U tretmanu imamo 10.000 korisnika i 420 kupnji. U kontroli također imamo 10.000 korisnika i 355 kupnji. Doprinosna marža prije kupona iznosi 24,50 eura po narudžbi, a kupon 7 eura.
Profit tretmana:
Profit kontrole:
Inkrementalni profit:
Dobili smo 65 dodatnih narudžbi i izgubili 1.347,50 eura doprinosa. Razlog nije skriven u nekom sofisticiranom modelu. Kupon smo platili na svih 420 tretiranih kupnji, uključujući 355 kupnji koje kontrolna skupina sugerira da bi se dogodile i bez njega.
Isti račun može se zapisati po ciljanoj osobi:
N je broj ciljanih korisnika, p1 i p0 stope konverzije, m doprinosna marža prije popusta, d popust po konverziji, a c trošak kontakta po ciljanoj osobi. Formula vrijedi za ovaj jasno definirani model troška; nije univerzalni zakon za svaku promociju.
Graf pokazuje zašto prosjek skriva novac. Segment s jakim upliftom reagira dovoljno da može pokriti cijenu kupona. Segment s negativnim upliftom kupuje manje uz kupon nego bez njega. Takav rezultat može biti šum, loša izvedba testa ili stvarna reakcija na poruku. U svakom slučaju nije dozvola da mu pošaljemo još tri kupona.
Četiri vrste kupaca, jedna neugodna istina
Uplift logika korisnike promatra kroz dva potencijalna ishoda: bi li kupili s ponudom i bi li kupili bez nje. Za istu osobu nikada ne možemo istodobno vidjeti oba ishoda. Zato govorimo o procjeni, ne o čitanju misli.
Poslovno su zanimljive četiri skupine. Persuadables kupuju zbog ponude. Sure things kupili bi svakako. Lost causes neće kupiti ni uz ponudu. Sleeping dogs mogu reagirati negativno.
Najskuplja pogreška obično nisu ljudi koji nisu kupili. To su kupci koji jesu kupili, ali bi kupili i bez popusta. Dashboard ih pripiše kampanji, marža ih pamti drukčije.
CRO test mora imati financijski ishod
Klasični A/B test često završava na stopi kupnje ili prihodu po posjetitelju. Za promociju to nije dovoljno. Minimalna tablica eksperimenta treba imati:
| polje | zašto postoji |
|---|---|
assigned_variant | čuva izvornu randomizaciju |
exposed | razlikuje dodjelu od stvarne izloženosti |
converted | bilježi primarni događaj |
gross_revenue | prihod prije povrata i poreznih prilagodbi |
cogs | trošak robe |
discount_amount | stvarno iskorišten popust |
payment_and_fulfilment_cost | varijabilni trošak narudžbe |
returned_amount | prihod izgubljen povratom |
Doprinosna marža tada nije ukrasni KPI:
R je prihod, D popust, V ostali varijabilni troškovi, a F vrijednost povrata.
Prije testa treba odrediti vremenski prozor. Ako kupnju brojimo sedam dana nakon kupona, isti prozor mora vrijediti za tretman i kontrolu. Ako promocija samo pomakne kupnju iz sljedećeg tjedna u ovaj tjedan, kratki prozor može prijaviti pobjedu tamo gdje se samo promijenio datum.
Što bih stvarno pustio u produkciju
Prvo običan randomizirani test s kontrolom. Zatim izvještaj po marži, ne samo po konverziji. Tek nakon dovoljno podataka uplift model i segmentacija.
Model bih evaluirao na odvojenom testnom razdoblju, a kampanju bih ipak ponovno randomizirao unutar odabranog segmenta. Model može dobro rangirati korisnike i svejedno propasti kada se promijene cijene, sezona ili ponuda.
Najvažnija odluka nije koji algoritam koristiti. Najvažnija odluka je odbiti slanje popusta ljudima za koje nemamo dokaz da ih treba pomaknuti.
Popust nije konverzija. Popust je trošak kojim pokušavamo kupiti inkrementalno ponašanje. Ako ne mjerimo inkrement, ostaje nam samo skuplja verzija prodaje koju smo već imali.