Logistische Regression, Lift Charts und Warenkorbanalyse
Kurz gesagt
Niveau: Fortgeschritten
Die meisten Fragen im Marketing enden mit Ja oder Nein, und die logistische Regression ist das Werkzeug dafür.
- Sie modelliert die logarithmierte Chance, also bleibt jede Vorhersage zwischen 0 und 1, und ihre Koeffizienten werden zu Chancenverhältnissen.
- Bewerte die Datei, schneide sie in Dezile und schreib nur die Dezile an, deren Reaktionsrate über Kosten geteilt durch Deckungsbeitrag liegt.
- Beurteile die Rangfolge an einer Gewinnkurve auf einer zurückgehaltenen Stichprobe, nie auf den Trainingsdaten.
- Mit Produktmerkmalen als Einflussgrößen macht dasselbe Modell Warenkorbanalyse und hält Käufer und restlichen Warenkorb fest, was Assoziationsregeln nicht können.
Die meisten Fragen im Marketing enden mit Ja oder Nein: Reagiert diese Kundin auf den Frühjahrskatalog, legt der Mensch mit dem Weinkorb den Käsekorb dazu? Ich gehe durch Logit, Chancenverhältnisse und die S förmige Kurve, bewerte die 20.000 Kunden eines erfundenen Linzer Shops für Geschenkkörbe in Dezilen und finde die Tiefe, ab der sich das nächste Dezil nicht mehr rechnet, und nutze dann dasselbe Modell für die Warenkorbanalyse. Das ist Kapitel 7 von 21 meiner Serie Marketing Analytics.
Die Frühjahrskampagne, die sich rechnet, oder eben nicht
Jeden März führt Lena bei Korbwerk, einem erfundenen Onlineshop für Geschenkkörbe in Linz unter korbwerk.example, dasselbe Gespräch mit sich selbst. Weihnachten ist vorbei, und rund 20.000 Menschen in der Kundendatei haben mindestens einmal gekauft. Ostern und Muttertag stehen vor der Tür, und ein gedruckter Frühjahrskatalog mit einem Code darin kostet pro Haushalt ungefähr € 1,20, wenn man Druck, Porto und den eingelösten Rabatt zusammenrechnet. Schickt sie ihn an alle 20.000, gibt sie € 24.000 aus, bevor ein einziger Korb das Lager verlässt. Schickt sie ihn an niemanden, verschenkt sie Umsatz. Schickt sie ihn nach Bauchgefühl an "die guten Kunden", erfährt sie nie, was ihr entgangen ist.
Die Frage ist nicht "soll ich verschicken". Sie lautet "an wen, und wie tief". Das ist pro Kunde ein Ergebnis mit Ja oder Nein: reagiert oder nicht. In diesem Kapitel geht es um das häufigste Ergebnis im Marketing, das binäre, und um das Werkzeug dafür: die logistische Regression. Ich setze sie zweimal ein. Zuerst, um die Kunden für die Frühjahrskampagne zu ordnen und die Tiefe zu finden, ab der sich der nächste Katalog nicht mehr bezahlt macht. Dann auf den Bestellpositionen, um eine Frage zum Warenkorb zu beantworten: Liegt der Weinkorb im Warenkorb, wie wahrscheinlich kommt der Käsekorb dazu, und was sollte der Shop empfehlen?
Korbwerk und jede Zahl in diesem Kapitel sind erfunden, damit ich jeden Schritt zeigen kann. Die Methode ist die, die ich wirklich anwende.
Wo dieses Kapitel in der Serie steht
Das ist Kapitel 7 von 21 meiner Serie Marketing Analytics und das vierte im zweiten Teil, den Verfahren mit einer abhängigen Variable, die von Kapitel 4 bis Kapitel 10 reichen. Das vorige Kapitel, Poisson Regression, hat Zählwerte behandelt. Das nächste, Survival Analyse, Churn und Customer Lifetime Value, nimmt die Zeit dazu: nicht ob ein Kunde geht, sondern wann. Die logistische Regression steht dazwischen als Arbeitspferd. Die Hälfte dessen, was als "prädiktives Marketing" verkauft wird, ist ein logistisches Modell mit einer ordentlichen Tabelle von Merkmalen dahinter.
Jede Grundidee, die hier vorkommt, von der Wahrscheinlichkeit bis zum Logarithmus, ist auf der Seite Grundlagen von Grund auf erklärt.
Gewöhnliche Regression bricht bei einem Ja oder Nein
Kodier eine Reaktion als 1 und keine Reaktion als 0, leg eine gewöhnliche Gerade hindurch, und drei Dinge gehen schief. Die Vorhersage ist nicht begrenzt, also bekommt eine sehr engagierte Kundin eine vorhergesagte Reaktion von 1,3, und das ist keine Wahrscheinlichkeit. Die Fehler können nicht normalverteilt sein, weil das Ergebnis nur zwei Werte annimmt. Und jeder Effekt wird linear erzwungen: Der Schritt von einer auf zwei Bestellungen bringt genauso viel Wahrscheinlichkeit wie der von neun auf 10, und das glaubt niemand.
Die logistische Regression löst alle drei mit einer Idee. Statt die Wahrscheinlichkeit direkt zu modellieren, modelliert sie den Logarithmus der Chance. Die Chance (englisch odds) ist die Wahrscheinlichkeit des Ereignisses geteilt durch die Wahrscheinlichkeit, dass es nicht eintritt.1 Eine Reaktionsrate von 20 % ergibt eine Chance von , 50 % eine Chance von 1 und 90 % eine Chance von 9. Chancen reichen von null bis unendlich, und ihr natürlicher Logarithmus, der Logit, reicht von minus unendlich bis plus unendlich, und genau das liefert eine lineare Gleichung am liebsten.
Dabei ist die Wahrscheinlichkeit, dass der Kunde reagiert, die Chance, der natürliche Logarithmus, bis sind die Dinge, die wir über den Kunden wissen, ist der Achsenabschnitt (die logarithmierte Chance eines Kunden, bei dem jedes null ist), und jedes ist die Änderung der logarithmierten Chance für eine Einheit mehr von , wenn alles andere gleich bleibt. Grundlagen: Regression und Grundlagen: Logarithmen
Löst du das nach auf, bekommst du die logistische Funktion, die S förmige Kurve, nach der die Methode heißt:
Dabei ist die Eulersche Zahl, etwa , und die Klammer im Exponenten ist derselbe lineare Wert wie oben. Was immer der Wert ist, die Funktion drückt ihn zwischen 0 und 1. Grundlagen: Regression
Durchgerechnetes Beispiel: drei Werte durch die Kurve
Ein Wert von 0 ergibt . Ein Wert von 2 ergibt . Ein Wert von minus 4 ergibt .
Die waagrechte Achse ist der lineare Wert, die senkrechte die Wahrscheinlichkeit, die daraus wird. Die Kurve ist in der Mitte am steilsten und an beiden Enden flach, und das beschreibt Menschen ziemlich gut: Eine ohnehin treue Kundin noch stärker zu bearbeiten bringt sehr wenig, und jemanden anzuschreien, der vor Jahren gegangen ist, ebenfalls.
Die Betas werden mit der Maximum Likelihood Methode geschätzt, nicht mit kleinsten Quadraten,1 also gibt es kein R Quadrat im üblichen Sinn. Die Prüfungen, auf die es ankommt, sind andere, und zu ihnen komme ich weiter unten.
Koeffizienten werden zu Chancenverhältnissen
Die Betas leben auf der Skala der logarithmierten Chance, in der niemand denkt. Nimmst du sie als Exponenten von , bekommst du Chancenverhältnisse (Odds Ratios), mit denen Menschen arbeiten können:1
Dabei ist das Chancenverhältnis für die Einflussgröße , die Eulersche Zahl und der Koeffizient dieser Einflussgröße. Ein Chancenverhältnis von 1,5 heißt, dass eine Einheit mehr von die Chance mit 1,5 multipliziert, wenn alles andere gleich bleibt. Grundlagen: Regression
Ein Chancenverhältnis von 1,73 für das Merkmal Geschenkkäufer heißt: Ein Geschenkkäufer hat die 1,73 fache Chance zu reagieren wie jemand, der für sich selbst kauft und sonst genau gleich aussieht. Chance, nicht Wahrscheinlichkeit. Liegt die Wahrscheinlichkeit bei der Selbstkäuferin bei 3 %, ist ihre Chance . Die Chance des Geschenkkäufers ist , seine Wahrscheinlichkeit .
Durchgerechnetes Beispiel: Lenas Modell für die Frühjahrsreaktion
Hier ist das Reaktionsmodell, geschätzt auf der Frühjahrskampagne des letzten Jahres: 20.000 angeschrieben, 788 reagiert, eine Grundrate von . Jede Variable ist zum Tag gemessen, an dem der Katalog rausging.
| Variable | Koeffizient | Standardfehler | Chancenverhältnis | VIF |
|---|---|---|---|---|
| Achsenabschnitt | minus 3,40 | 0,21 | ||
| Monate seit der letzten Bestellung | minus 0,09 | 0,91 | 1,6 | |
| Bestellungen in den letzten 24 Monaten | 0,28 | 0,04 | 1,32 | 2,1 |
| Geschenkkäufer (1 = ja) | 0,55 | 0,11 | 1,73 | 1,2 |
| Firmenkunde (1 = ja) | 0,42 | 0,16 | 1,52 | 1,3 |
| Klick in der Frühjahrsmail des Vorjahres (1 = ja) | 0,78 | 0,10 | 2,18 | 1,4 |
| Durchschnittlicher Bestellwert, je € 10 | 0,06 | 0,02 | 1,06 | 1,9 |
Zeile für Zeile gelesen. Jeder Monat seit der letzten Bestellung multipliziert die Chance mit , also hat eine Kundin, die vor 12 Monaten zuletzt gekauft hat, die fache Chance von jemandem, der letzten Monat gekauft hat. Jede zusätzliche Bestellung in zwei Jahren multipliziert die Chance mit . Geschenkkäufer haben eine um 73 % höhere Chance als Selbstkäufer, und für genau diese Gruppe ist der Frühjahrskatalog eigentlich gedacht. Firmenkunden reagieren besser als Privatkunden, auch wenn die Zahl der Bestellungen schon berücksichtigt ist, vermutlich weil Büros zu Ostern Körbe für ihre Leute kaufen. Ein Klick in der Frühjahrsmail des Vorjahres ist das stärkste einzelne Signal, ein Chancenverhältnis über 2. Der durchschnittliche Bestellwert zählt, aber maßvoll: € 50 mehr sind fünf Einheiten, also steigt die Chance um , rund 35 %.
Die erste Fassung dieses Kapitels hat "Frühjahrsmail des Vorjahres geöffnet" verwendet. Ich habe das auf Klick geändert: Apples Mail Privacy Protection lädt das unsichtbare Bild, das eine Öffnung zählt, im Hintergrund, ob jemand die Nachricht liest oder nicht,2 also ist eine Öffnung ein schwaches Signal.
Eine Faustregel für die Standardfehler: Ein Koeffizient, der kleiner ist als ungefähr das Doppelte seines Standardfehlers, könnte genauso gut null sein. Alles hier liegt darüber. Das Merkmal Firmenkunde gerade so: .
Der Varianzinflationsfaktor schlägt bei Kollinearität Alarm
Die letzte Spalte der Tabelle ist der Varianzinflationsfaktor, kurz VIF (variance inflation factor):
Dabei ist der Varianzinflationsfaktor der Einflussgröße , und ist der Anteil der Streuung von , der erklärt wird, wenn du auf alle anderen Einflussgrößen regressierst. Ein VIF von 1 heißt, dass nichts mit den anderen teilt. Grundlagen: Korrelation und Grundlagen: Regression
Der Regressionskurs der Penn State nennt die übliche Regel: VIF Werte über 4 verdienen einen genaueren Blick, und über 10 zeigen sie ernste Kollinearität, die korrigiert werden muss.3 Ich werde über 5 nervös und entferne oder verbinde Variablen über 10.
Durchgerechnetes Beispiel: wenn zwei Einflussgrößen fast Zwillinge sind
Erklären die anderen Einflussgrößen 80 % der Streuung einer Variable, ist ihr VIF , und ihr Koeffizient wird aus den 20 % Information geschätzt, die wirklich ihr eigen sind. Bei Korbwerk hängen Zahl und Wert der Bestellungen leicht zusammen (wer oft kauft, kauft auch größer), daher 2,1 und 1,9. Nichts Beunruhigendes.
Das klassische Symptom von Kollinearität ist ein Vorzeichenwechsel: Eine Variable, die die Reaktion offensichtlich heben sollte, kommt negativ heraus, weil sie mit einem Beinahezwilling um dieselbe Information kämpft. Sagt dein Modell, dass Vielkäufer seltener reagieren, veröffentliche keine kluge Erklärung. Prüf die VIF Werte, wirf einen der Zwillinge raus und schätz neu.
Von Wahrscheinlichkeiten zu einer geordneten Liste
Das Bewerten ist Rechnerei. Berechne für jeden Kunden in der Datei den linearen Wert, schick ihn durch die logistische Funktion, sortiere die 20.000 Menschen vom wahrscheinlichsten zum unwahrscheinlichsten und schneide sie in 10 gleich große Gruppen zu je 2.000, die Dezile. Dezil 1 sind die besten 10 %, Dezil 10 die schwächsten.
Lies es von oben nach unten. Der Entscheidungsschritt schickt eine nicht bestandene Prüfung zurück zu den Variablen, nie weiter zum Versand. Und der letzte Schritt ist der Sinn des Ganzen: Jede Kampagne speist das nächste Modell.
Jetzt die Rechnung der Kampagne. Jeder Katalog kostet , hier etwa € 1,20. Jede Reaktion ist an Deckungsbeitrag wert, also Umsatz minus Warenkosten und Versand, ungefähr € 38 bei einer durchschnittlichen Frühjahrsbestellung von € 68. Für ein Dezil mit Kunden und der Reaktionsrate ist der Gewinn aus dem Versand:
Dabei ist der Gewinn aus Dezil , die Zahl der Kunden darin, seine Reaktionsrate, der Deckungsbeitrag pro Reaktion und die Kosten pro Katalog. Grundlagen: Erwartungswert
Positiv ist er immer dann, wenn die Reaktionsrate des Dezils über der Rate an der Gewinnschwelle liegt:
Dabei ist die Reaktionsrate an der Gewinnschwelle, die Kosten pro Katalog und der Deckungsbeitrag pro Reaktion. Jedes Dezil darüber bezahlt sich selbst, jedes darunter verliert mit jedem Katalog Geld. Grundlagen: Grenzwert und Durchschnitt
Der Lift eines Dezils ist seine Reaktionsrate im Verhältnis zum Durchschnitt:
Dabei ist der Lift des Dezils , seine Reaktionsrate und die Reaktionsrate über die ganze Datei. Ein Lift von 3 heißt, dass diese Kunden dreimal so oft reagieren wie eine zufällige Auswahl. Der kumulierte Lift macht dasselbe für die obersten Dezile zusammen. Grundlagen: Verhältnisse und Raten
Durchgerechnetes Beispiel: Lenas Gewinnschwelle
, rund 3,2 %. Jedes Dezil, das über 3,2 % reagiert, spielt seine Kataloge wieder ein. Das ist die ganze Entscheidung über die Tiefe in einer Zeile.
Die Deziltabelle zeigt, wo sich das nächste Dezil nicht mehr rechnet
Hier ist die bewertete Datei, mit den Reaktionsraten des Vorjahres Dezil für Dezil angewendet. Der Umsatz ist die Zahl der Reagierenden mal € 68, der Gewinn ist die Zahl der Reagierenden mal € 38 minus 2.000 Kataloge zu € 1,20, also € 2.400 pro Dezil.
| Dezil | Kunden | Reaktionsrate | Reagierende | Umsatz € | Gewinn im Dezil € | Kumulierter Gewinn € | Kumulierter Lift |
|---|---|---|---|---|---|---|---|
| 1 | 2.000 | 12,5 % | 250 | 17.000 | 7.100 | 7.100 | 3,17 |
| 2 | 2.000 | 8,0 % | 160 | 10.880 | 3.680 | 10.780 | 2,60 |
| 3 | 2.000 | 5,5 % | 110 | 7.480 | 1.780 | 12.560 | 2,20 |
| 4 | 2.000 | 4,0 % | 80 | 5.440 | 640 | 13.200 | 1,90 |
| 5 | 2.000 | 3,0 % | 60 | 4.080 | minus 120 | 13.080 | 1,68 |
| 6 | 2.000 | 2,2 % | 44 | 2.992 | minus 728 | 12.352 | 1,49 |
| 7 | 2.000 | 1,6 % | 32 | 2.176 | minus 1.184 | 11.168 | 1,33 |
| 8 | 2.000 | 1,2 % | 24 | 1.632 | minus 1.488 | 9.680 | 1,21 |
| 9 | 2.000 | 0,8 % | 16 | 1.088 | minus 1.792 | 7.888 | 1,09 |
| 10 | 2.000 | 0,6 % | 12 | 816 | minus 1.944 | 5.944 | 1,00 |
Durchgerechnetes Beispiel: die Tabelle lesen
Dezil 1: . Sein Lift ist . Dezil 4 reagiert mit 4,0 %, knapp über der Gewinnschwelle von 3,2 %, und bringt dazu. Dezil 5 reagiert mit 3,0 %, knapp darunter, und verliert: . Der kumulierte Lift nach vier Dezilen ist , geteilt durch 3,94 %, also 1,90.
Die Antwort lautet also: 8.000 Menschen anschreiben, nicht 20.000. Das spart an Katalogen, verzichtet auf Bestellungen aus den Dezilen 5 bis 10 und hebt den Gewinn der Kampagne von € 5.944 auf € 13.200, mehr als das Doppelte. Die Spalte mit dem Umsatz sieht ein Marketingteam gern an. Die Spalte mit dem kumulierten Gewinn sollte die Inhaberin ansehen. Die beiden erreichen ihren Höchstwert an verschiedenen Stellen, und in dieser Lücke versickern still die Budgets von Kampagnen.
Eine Verfeinerung zählt. Die Tiefe an der Gewinnschwelle ist eine Punktschätzung. Bei 2.000 Menschen in Dezil 4 hat seine Reaktionsrate einen Standardfehler von , rund 0,44 Punkte, also reicht ein 95 % Intervall von etwa 3,1 % bis 4,9 %. Grundlagen: Konfidenzintervalle Ich sage Kunden, dass Dezil 4 ein Münzwurf ist und Dezil 5 wahrscheinlich ein Nein, und das ist ein ehrlicherer Satz als "schick genau 8.000". Und weil Druck bei großer Auflage pro Stück günstiger wird, rechne ich und pro Dezil neu, statt Konstanten anzunehmen.
Die Gewinnkurve zeigt, wie eine gute Rangfolge aussieht
Die Gewinnkurve (Gains Chart) trägt den Anteil aller erreichten Reagierenden gegen den Anteil der angeschriebenen Datei auf. Zufällige Auswahl ist die Diagonale: 30 % der Datei anschreiben, 30 % der Reagierenden erwischen. Die Kurve des Modells sollte sich darüber wölben.
Die waagrechte Achse ist der Anteil der angeschriebenen Datei, die besten Werte zuerst. Die senkrechte Achse ist der Anteil aller 788 Reagierenden, die in diesen Kunden stecken: Das oberste Dezil hält , die obersten vier . Wie hoch die Linie des Modells in den ersten Dezilen über der Linie des Zufalls liegt, dort steckt das Geld. Wo sie flach wird, schreibst du Menschen an, die so oder so nicht reagieren.
Der Abstand zwischen der Gewinnkurve auf den Trainingsdaten und der auf einer zurückgehaltenen Stichprobe ist deine Prüfung auf Ehrlichkeit. Liegt die Kurve der zurückgehaltenen Stichprobe deutlich tiefer, hat das Modell das letzte Jahr auswendig gelernt, statt etwas über Kunden zu lernen.
Der kumulierte Gewinn sagt dasselbe in Euro:
Jeder Balken ist der Gesamtgewinn, wenn Lena jedes Dezil bis einschließlich diesem anschreibt. Der Höchstwert bei Dezil 4 ist die Antwort auf "wie tief". Alles danach ist Geld, das ausgegeben wird, um Geld zu verlieren.
Kalibrierung, Ungleichgewicht und wann ein Baum besser ist
Die Rangfolge ist das eine, die Wahrscheinlichkeiten selbst das andere. Ein Modell ist gut kalibriert, wenn von den Kunden, die es mit etwa 10 % bewertet, auch etwa 10 % tatsächlich reagieren.4 Die logistische Regression ist meist schon von sich aus gut kalibriert, wegen der Art, wie ihre Verlustfunktion und ihre Verknüpfungsfunktion zusammenpassen,4 aber sie driftet: Das Frühjahr dieses Jahres ist nicht das des letzten. Ich prüfe das, indem ich die vorhergesagten Wahrscheinlichkeiten in 10 Gruppen einteile und in jeder vorhergesagte mit beobachteter Reaktion vergleiche. Für die Entscheidung über die Tiefe zählt die Kalibrierung mehr als für die Rangfolge, weil die Regel der Gewinnschwelle eine absolute Wahrscheinlichkeit mit vergleicht.
Durchgerechnetes Beispiel: ein Modell, das ein Fünftel zu optimistisch ist
Angenommen, die zurückgehaltene Stichprobe zeigt, dass das Modell durchweg 20 % zu optimistisch ist. Die Kunden in Dezil 4, die es mit 4,0 % bewertet hat, reagieren tatsächlich mit , kaum über der Gewinnschwelle von 3,2 %, und die 5,5 % von Dezil 3 werden zu . Die Rangfolge bleibt gleich, aber Dezil 4 wird vom bescheidenen Verdiener zum Grenzfall, und die sichere Tiefe sind drei Dezile.
Das Ungleichgewicht der Klassen ist die andere Sorge, und sie wird meist übertrieben. Bei einer Reaktionsrate von 3,9 % sind 96 % der Zeilen Nullen. Die logistische Regression kommt damit klar, solange es absolut genug Einsen gibt, und 788 Reagierende sind für sechs Einflussgrößen reichlich. Gleich die Trainingsdaten nicht aus, indem du Nullen wegwirfst oder Einsen verdoppelst, und lies die vorhergesagten Wahrscheinlichkeiten danach nicht als echt: Das zerstört die Kalibrierung, und am Ende verschickst du bis zu einer Gewinnschwelle, die in einer erfundenen Welt berechnet wurde. Musst du aus Tempogründen Stichproben ziehen, korrigier hinterher den Achsenabschnitt. King und Zeng liefern die Korrektur: Zieh vom Achsenabschnitt ab, wobei der wahre Anteil der Einsen ist und der Anteil in deiner Stichprobe.5
Baumbasierte Modelle, besonders Gradient Boosted Trees, schlagen die logistische Regression oft um ein paar Punkte Lift, weil sie Wechselwirkungen von selbst finden. Die logistische Regression hat aber drei Vorteile, die öfter zählen als der zusätzliche Lift. Du kannst sie lesen: Die Tabelle mit den Chancenverhältnissen oben ist schon für sich ein Gespräch mit der Geschäftsführung. Sie ist auf kleinen Dateien stabil, und 20.000 Kunden mit 788 Reagierenden sind für Boosting klein. Und sie wird sanft schlechter: Wenn sich die Welt verschiebt, verliert ein logistisches Modell ein wenig, während ein Baum von der Klippe fallen kann. Meine Regel: logistisch anfangen, zwei oder drei Wechselwirkungen von Hand ergänzen, wo die Geschäftslogik sie nahelegt, und erst zu Bäumen greifen, wenn die Gewinnkurve auf der zurückgehaltenen Stichprobe zeigt, dass sich die Komplexität bezahlt macht.
Assoziationsregeln zählen Paare, eins nach dem anderen
Die Warenkorbanalyse fragt, welche Produkte zusammengehören. Der Ansatz aus dem Lehrbuch sind Assoziationsregeln.6 Für eine Regel "Weinkorb, also Käsekorb" gibt es drei Zahlen:
Dabei ist die Zahl der Bestellungen mit Produkt , die Zahl der Bestellungen mit und , die Konfidenz, also der Anteil der Bestellungen mit , die auch enthalten, und der Anteil aller Bestellungen mit . Der Lift teilt die Konfidenz durch diese Grundrate, also heißt ein Lift von 1, dass mit nicht öfter auftaucht als überall sonst.6 Das Interesse zieht sie stattdessen ab.7 Beide beantworten dieselbe Frage: Ist etwas Besonderes für Käufer von , oder einfach beliebt? Grundlagen: Wahrscheinlichkeit und Grundlagen: Grundraten
Das ist dieselbe Logik des gemeinsamen Auftretens, mit derselben Korrektur für Beliebtheit, wie in KI Empfehlungen in Solidus bauen.
Durchgerechnetes Beispiel: Wein und Käse bei Korbwerk
Von 14.000 Bestellungen enthalten 1.260 den Käsekorb, also ist . Der Weinkorb steckt in 2.000 Bestellungen, und 440 davon enthalten auch Käse.
Konfidenz: . Lift: . Interesse: . Wer Wein kauft, legt Käse etwa zweieinhalbmal so oft dazu wie eine durchschnittliche Bestellung.
Die Schwäche ist, dass eine Regel immer nur ein Produkt auf einmal ansieht. Der Weinkorb könnte so aussehen, als würde er Käse treiben, obwohl beide in Wahrheit von Firmenkunden gekauft werden, die Geschenksets zusammenstellen, und der eigentliche Treiber ist die Art des Kontos. Zählen kann die beiden nicht auseinanderhalten.
Die logistische Regression analysiert den Warenkorb und hält den Rest fest
Die logistische Regression löst das, indem sie das Vorhandensein eines Produkts zum Ergebnis macht und alles andere im Warenkorb, plus was du über den Käufer weißt, zu Einflussgrößen:
Dabei ist die Wahrscheinlichkeit, dass der Käsekorb in der Bestellung liegt, , und sind Merkmale mit 1 oder 0 für den Weinkorb, den Schokoladenkorb und einen Firmenkunden, zählt die übrigen Artikel im Warenkorb, und jedes ist der zugehörige Koeffizient, mit als Achsenabschnitt. Grundlagen: Regression
Durchgerechnetes Beispiel: das Warenkorbmodell auf 14.000 Bestellungen
| Einflussgröße | Koeffizient | Chancenverhältnis | Lesart |
|---|---|---|---|
| Achsenabschnitt | minus 2,55 | Grundchance von etwa | |
| Weinkorb im Warenkorb | 1,10 | 3,00 | verdreifacht die Chance auf Käse |
| Schokoladenkorb im Warenkorb | minus 0,45 | 0,64 | Ersatz, keine Ergänzung |
| Firmenkunde | 0,60 | 1,82 | Büros stellen Sets zusammen |
| Übrige Artikel im Warenkorb (je Stück) | 0,20 | 1,22 | große Warenkörbe werden größer |
Ein Privatkunde nur mit dem Weinkorb: Der Wert ist , also . Rund 19 %, gegenüber für einen Privatkunden mit keinem von beiden. Ein Firmenkunde mit dem Weinkorb: , also .
Jetzt der Vergleich mit dem Zählen. Die rohe Chance auf Käse mit Wein ist , ohne Wein , ein rohes Chancenverhältnis von . Das Modell, das Art des Käufers und Größe des Warenkorbs festhält, sagt 3,00. Ein Teil von "Wein bedeutet Käse" ist ein verkleideter Effekt der Firmenkunden. Die erste Fassung dieses Kapitels hat das Chancenverhältnis des Modells mit dem Lift der Regel verglichen. Die beiden messen Verschiedenes, also ist der faire Vergleich das rohe Chancenverhältnis gegen das bereinigte.
Die Zeile zur Schokolade ist das, was Assoziationsregeln übersehen hätten. Schokolade und Käse ersetzen sich in diesem Shop: Die Leute nehmen einen Genusskorb. Wer sich für Schokolade entschieden hat, dem Käse zu empfehlen, ist verschenkte Fläche auf dem Bildschirm.
Schätz ein solches Modell für jedes Produkt, das du empfehlen könntest, bewerte im Checkout den aktuellen Warenkorb und zeig die zwei oder drei Produkte mit der höchsten vorhergesagten Wahrscheinlichkeit, die noch nicht drinliegen, mit einer Untergrenze, sagen wir 12 %, unter der du nichts empfiehlst. Die Technik dazu, auch wie du sie in Solidus einbaust, steht in KI Empfehlungen in Solidus bauen. Bei Hunderten von Produkten wird der Ansatz mit einem Modell pro Produkt schwer, und du wechselst zur Matrixfaktorisierung. Für 40 Körbe passt er genau.
Selbst rechnen
Für das Reaktionsmodell: eine Zeile pro Kunde zum Datum der Kampagne, mit dem Ergebnis (reagiert innerhalb des Zuordnungsfensters, meist vier bis sechs Wochen, zugeordnet über Code oder Mailadresse) und Einflussgrößen, die streng nur aus Informationen berechnet sind, die vor dem Versand vorlagen. An diesem letzten Halbsatz scheitern die meisten ersten Versuche. Für das Warenkorbmodell: eine Zeile pro Bestellung mit einem Merkmal pro Produkt.
Eine minimale Schätzung in Python mit statsmodels,8 und die Dezile mit pandas:9
import numpy as np, pandas as pd
import statsmodels.api as sm
cols = ["months_since_last", "orders_24m", "gift_buyer",
"corporate", "clicked_last_spring", "aov_per_10"]
X = sm.add_constant(df[cols])
model = sm.Logit(df["responded"], X).fit()
print(model.summary())
odds_ratios = np.exp(model.params)
df["p_hat"] = model.predict(X)
df["decile"] = pd.qcut(df["p_hat"].rank(method="first"), 10,
labels=range(10, 0, -1)).astype(int) # Dezil 1 = das beste
Ein Beispiel für den Zeitbedarf: Mit sauberen Bestelldaten dauert ein erstes Modell etwa zwei Tage, ein geprüftes mit Deziltabelle und dokumentierter Empfehlung zur Tiefe etwa zwei Wochen. Die Prüfungen, bevor du ihm traust: eine zurückgehaltene Stichprobe von 20 % bis 30 %, die die Schätzung nie berührt, eine Gewinnkurve auf dieser Stichprobe, die höchstens ein paar Punkte unter der Trainingskurve liegt, VIF Werte unter 5, jedes Vorzeichen in einem Satz für jemanden ohne Statistik erklärbar, ein Kalibrierungsplot, der sich an die Diagonale schmiegt, und eine Jagd nach Datenlecks, bei der du jede Variable mit dem genauen Datum auflistest, an dem ihr Wert bekannt wurde.
Fallstricke
Auf Reaktion optimieren statt auf Gewinn. Das oberste Dezil nach Reaktion ist nicht immer das oberste nach Marge. Geschenkkäufer reagieren gut und kaufen den Klassiker für € 49. Firmenkunden reagieren seltener und kaufen zwölf. Schwankt die Marge stark nach Gruppe, modellier den Erwartungswert oder berechne zumindest pro Dezil.
Lecks aus der Zukunft. Jede Einflussgröße, die nach dem Versanddatum gemessen wurde, auch ganz unschuldig (ein Feld "Kundenstatus", das bei einer Bestellung aktualisiert wird), ergibt im Büro eine wunderschöne Gewinnkurve und draußen eine nutzlose. "Klick in der Frühjahrsmail" ist in Ordnung, wenn das letzte Frühjahr gemeint ist, und Schummelei, wenn es dieses Frühjahr meint. Sieht ein Modell zu gut aus, ist es das auch.
Das Modell in sich selbst hineinschicken. Schreibst du nur noch die obersten vier Dezile an, enthalten die Daten des nächsten Jahres nur Reaktionen aus diesen vier, und ein Modell darauf lernt nichts über die Dezile 5 bis 10. Halte eine kleine zufällige Kontrollgruppe über die ganze Datei, ein paar Hundert Menschen, die den Katalog unabhängig vom Wert bekommen. Das kostet ein wenig und hält das Modell Jahr für Jahr ehrlich. Dieselbe Logik gilt für Lookalike Audiences: Eine Ausgangsliste nur aus Menschen, die du ohnehin schon angesprochen hast, bringt der Plattform bei, mehr vom Gleichen zu finden.
Chancenverhältnisse als Verhältnisse von Wahrscheinlichkeiten lesen. Bei einer Grundrate von 3,9 % ist der Unterschied klein. Im Warenkorbmodell, bei 19 % bis 30 %, ist er es nicht. Ein Chancenverhältnis von 3 heißt nicht "dreimal so wahrscheinlich": Die 19 % des privaten Weinkäufers sind das 2,6 fache der 7,2 % Grundlinie, nicht das Dreifache.
Zusammenhang mit Ursache verwechseln. Das Warenkorbmodell sagt, dass Käse und Wein zusammen gekauft werden, nicht dass das Zeigen von Käse mehr Käse verkauft. Die Empfehlung ist eine Hypothese, und ein A/B Test im Checkout ist der Beweis.
Zu viele Variablen. Vierzig Einflussgrößen auf 788 Reagierende sind eine Überanpassung, die nur auf ihren Moment wartet. Zehn sind reichlich. Besteht das Team auf allem, nimm eine bestrafte Schätzung (Ridge oder Lasso) und halte die zurückgehaltene Stichprobe heilig.
Wie ich das für Kunden mache
Das Ergebnis ist eine bewertete Liste, eine Deziltabelle mit markierter Tiefe und ein einseitiges Memo, das sagt, wie viele Menschen angeschrieben werden, was das kostet, was es bringen sollte und wie falsch diese Schätzung sein könnte. Kein Foliensatz über maschinelles Lernen.
Es beginnt mit dem kostenlosen Workshop, in dem wir festlegen, welches Ergebnis modelliert wird (reagieren, kaufen, abwandern, in den Warenkorb legen) und wie eine gute Entscheidung aussieht. Danach kommen zwei Wochen echte Arbeit auf meine Rechnung: die Tabelle mit Merkmalen aus deinem Shop oder CRM, ein geschätztes und geprüftes Modell, die Deziltabelle, die Gewinnkurve und das Memo. Schlägt das Modell den Zufall nicht mit einem Abstand, für den sich Handeln lohnt, sage ich dir das.
Tut es das, und du willst es für jede Kampagne laufen lassen statt einmal, wird daraus ein Auftrag in Data Science: ein Bewertungsjob, der jede Nacht läuft, und eine zufällige Kontrollgruppe, die ihn ehrlich hält. Für einen eCommerce Shop geht das Warenkorbmodell direkt als Empfehlungsblock in den Shop, und das ist Arbeit an Solidus, die ich selbst mache. Deine Rohdaten bleiben deine, und die Regeln für Code und Modelle stehen in den Bedingungen für Analytics und Data Science. Die Kosten stehen auf der Preisseite.
Fragen, bevor du den nächsten Versand freigibst
- Wo liegt die Reaktionsrate an der Gewinnschwelle für diese Kampagne, und welche Dezile liegen darüber?
- Zeig mir die Gewinnkurve auf der zurückgehaltenen Stichprobe, nicht auf den Trainingsdaten.
- Gibt es eine zufällige Kontrollgruppe über die ganze Datei, und wie groß ist sie?
- Welche Variablen stecken im Modell, und an welchem Datum wurde jede gemessen?
- Ordnen wir nach der Wahrscheinlichkeit einer Reaktion oder nach dem erwarteten Gewinn, und macht das hier einen Unterschied?
- Zu den Empfehlungen: Welche Produktpaare ersetzen sich, und unterdrücken wir sie?
Die Serie ist inspiriert von Mike Grigsbys Buch Marketing Analytics.10 Die Erklärungen, Beispiele und Zahlen hier sind meine eigenen.
Quellen
Footnotes
-
UCLA Office of Advanced Research Computing, FAQ: How do I interpret odds ratios in logistic regression?, OARC Stats, https://stats.oarc.ucla.edu/other/mult-pkg/faq/general/faq-how-do-i-interpret-odds-ratios-in-logistic-regression/
-
Apple, Mail Privacy Protection and privacy, Apple Legal, https://www.apple.com/legal/privacy/data/en/mail-privacy-protection/
-
Penn State Eberly College of Science, STAT 462 Applied Regression Analysis, 10.7 Detecting Multicollinearity Using Variance Inflation Factors, https://online.stat.psu.edu/stat462/node/180/
-
scikit-learn developers, Probability calibration, scikit-learn user guide, 2026, https://scikit-learn.org/stable/modules/calibration.html
-
Gary King und Langche Zeng, Logistic Regression in Rare Events Data, Political Analysis, Band 9, Heft 2, 2001, https://gking.harvard.edu/files/0s.pdf
-
Sebastian Raschka, association_rules: association rules generation from frequent itemsets, mlxtend user guide (mit Verweis auf Agrawal, Imielinski und Swami, SIGMOD 1993, für Support und Konfidenz, und auf Brin, Motwani, Ullman und Tsur für den Lift), https://rasbt.github.io/mlxtend/user_guide/frequent_patterns/association_rules/
-
Jure Leskovec, Anand Rajaraman und Jeff Ullman, Mining of Massive Datasets, Frequent Itemset Mining and Association Rules (Vorlesungsfolien), Stanford University, http://www.mmds.org/mmds/v2.1/ch06-assocrules.pdf
-
statsmodels developers, statsmodels.discrete.discrete_model.Logit, statsmodels documentation, https://www.statsmodels.org/stable/generated/statsmodels.discrete.discrete_model.Logit.html
-
pandas development team, pandas.qcut, pandas documentation, https://pandas.pydata.org/docs/reference/api/pandas.qcut.html
-
Mike Grigsby, Marketing Analytics: A Practical Guide to Improving Consumer Insights Using Data Techniques, Kogan Page, 2022, ISBN 9781398608191, https://www.netgalley.co.uk/catalog/book/267990