Segmentierung: Strategie vor Algorithmen

Kurz gesagt

Niveau: Fortgeschritten

Ein Segment ist eine Gruppe, die auf etwas, das du tatsächlich ändern kannst, anders reagiert, kein Cluster und keine demografische Klasse.

  • Beginne mit einer Entscheidung, die du anders treffen würdest, und stell je Segment mindestens eins der vier P anders ein.
  • Fünf Prüfungen: identifizierbar, substanziell, erreichbar, reaktiv, stabil.
  • Mach zuerst die offensichtliche A priori Aufteilung (Geschenk oder Eigenkauf) und such dann Struktur in jeder Hälfte.
  • Segmentier nach Verhalten, nutz Demografie nur zur Beschreibung, und lass Eta Quadrat zeigen, welche Variablen die Gruppen trennen.
  • Ein Abwanderungsmodell pro Segment schlug im Beispiel das Gesamtmodell, rund 0,78 gegen 0,71 AUC, ohne neue Daten.

Die meisten Segmentierungsprojekte beginnen mit einem Algorithmus und enden mit einer Folie voller Cluster, die niemand nutzt. Hier führe ich Korbwerk, einen erfundenen Shop für Geschenkkörbe in Hamburg, von einem Durchschnittskunden zu vier echten Segmenten: die strategische Frage, die fünf Prüfungen, die A priori Aufteilung, ein wenig Mathematik, die klärt, welche Variablen dazugehören, eine Tabelle der vier P und ein Abwanderungsmodell pro Segment. Kapitel 13 von 21 der Serie Marketing Analytics.

Der Shop für Geschenkkörbe, der dachte, er hätte einen Kunden

Lena führt Korbwerk, einen erfundenen Onlineshop für Geschenkkörbe in Hamburg, zu finden unter korbwerk.example. Im ersten Jahr behandelte das Reporting jede Käuferin und jeden Käufer als dieselbe Person: eine Conversion Rate, ein durchschnittlicher Bestellwert, eine Abwanderungsquote.

Dieser eine Kunde war eine Erfindung. Hinter dem Durchschnitt saßen eine Frau in Hamburg, die alle sieben Wochen einen Käsekorb für sich selbst bestellt, eine Office Managerin in Köln, die Ende Oktober 30 Weihnachtskörbe auf Rechnung bestellt, und ein Mann in München, der genau einmal im Jahr bestellt, am 22. Dezember um 23:40 Uhr, mit Expresslieferung und leicht panisch. Allen dreien dieselbe Mail "10 % Rabatt dieses Wochenende" zu schicken, ist kein Marketing. Es ist Lärm mit Rabatt.

Segmentierung ist die Disziplin, zuzugeben, dass deine Kundschaft nicht eine Person ist, und bewusst zu entscheiden, wie viele Personen sie ist. Dieses Kapitel ist die Strategie. Die Algorithmen kommen im nächsten. Fang mit dem Algorithmus an, und du bekommst Cluster. Fang mit der Strategie an, und du bekommst Segmente. Der Unterschied kostet echtes Geld.

Korbwerk, seine Kundschaft und jede Zahl in diesem Kapitel sind erfunden, damit ich jeden Schritt zeigen kann. Die Methode ist die, die ich anwende.

Wo dieses Kapitel in der Serie steht

Das ist Kapitel 13 von 21 meiner Serie Marketing Analytics, im dritten Teil, den Verfahren für Wechselbeziehungen, bei denen keine einzelne Variable das Ziel ist. Das vorige Kapitel, Hauptkomponenten und Faktorenanalyse für Marketer, hat viele korrelierte Variablen auf wenige Dimensionen verdichtet, oft die Vorbereitung für dieses hier. Das nächste, Werkzeuge der Segmentierung: k means, Latent Class und mehr als RFM, geht in die Maschinerie. Dieses Kapitel ist das Denken, das du erledigst, bevor du irgendetwas davon anfasst. Jede Grundidee, die hier vorkommt, vom Mittelwert bis zur Streuung, wird auf der Seite Grundlagen von Grund auf aufgebaut.

Was ein Segment ist, und was nicht

Die Idee ist älter als jeder Algorithmus. Wendell Smith hat die Marktsegmentierung 1956 im Journal of Marketing als bewusste Strategie beschrieben: Statt die Nachfrage auf ein Produkt hin zu biegen, passt du das Angebot an die verschiedenen Gruppen im Markt an.1

Meine Arbeitsdefinition: Ein Segment ist eine Gruppe von Kundinnen und Kunden, die auf dieselbe Marketingmaßnahme ähnlich reagieren und anders als andere Gruppen.

"Reagieren" heißt, dass das Segment dadurch bestimmt ist, was Menschen tun, wenn du handelst, nicht dadurch, wie sie aussehen. "Dieselbe Marketingmaßnahme" heißt, dass die Aufteilung für eine Entscheidung zählen muss, die du tatsächlich treffen kannst: ein anderes Produkt, ein anderer Preis, eine andere Botschaft oder ein anderer Kanal. "Anders als andere Gruppen" heißt: Wenn zwei deiner Segmente auf alles, was du plausibel tun könntest, gleich reagieren würden, hast du ein Segment mit zwei Namen.

Was ein Segment nicht ist: eine demografische Klasse, ein Cluster, den ein Algorithmus ausgespuckt hat, eine Persona aus einem Workshop oder ein Filter in deinem Mailtool. Jedes davon kann zu einem Segment werden. Keins ist von Haus aus eins. Auf die demografische Falle gehe ich in Segmentierung ist keine Demografie ein. Die Kurzfassung: Alter und Postleitzahl beschreiben, wer jemand ist, nicht, was er von dir will.

Der strategische Grund für Segmente ist, dass sich die vier P, der Marketingmix, den E. Jerome McCarthy 1960 beschrieben hat,2 je Segment einstellen lassen:

  • Product (Produkt): Sortiment, Bündel, Funktionen.
  • Price (Preis): Höhe, Struktur, die Rabattregel.
  • Promotion (Kommunikation): Botschaft, Zeitpunkt, Angebot.
  • Place (Vertrieb): Kanal, Checkout, Verkaufsweg.

Ein Unternehmen, das keins der vier P nennen kann, das es für ein Segment anders einstellen würde, braucht dieses Segment nicht. Es braucht ein schöneres Diagramm.

Ein Beispiel: Lena überlegt "Kundschaft zwischen 35 und 44". Würde sie für diese Gruppe Sortiment, Preis, Botschaft oder Kanal ändern? Viermal nein, also ist das ein Merkmal zur Beschreibung, kein Segment. "Kundschaft, die innerhalb von vier Tagen vor einem Anlass bestellt" bekommt sofort ein Ja: Diese Leute brauchen ein Lieferversprechen auf der Produktseite.

Fünf Prüfungen, bevor ein Segment den Namen verdient

Jedes vorgeschlagene Segment schicke ich durch fünf Prüfungen, und zwar streng, denn ein Segment, das an einer davon scheitert, verbrennt still und leise jahrelang Budget. Sie folgen den Kriterien für eine wirksame Segmentierung im Standardwerk von Wedel und Kamakura.3

Identifizierbar. Kann ich für jede einzelne Person in der Datenbank sagen, zu welchem Segment sie gehört, mit einer Regel oder einem Modell, das jede Woche auf den Daten läuft, die ich habe? Ein Segment namens "Menschen, die Handwerk schätzen" ist nicht identifizierbar, solange ich es nicht aus dem Verhalten bewerten kann.

Substanziell. Ist das Segment groß genug, an Umsatz oder Marge, um eine eigene Behandlung zu rechtfertigen, mit eigener Gestaltung, eigenen Preisdiskussionen und eigenen Qualitätskontrollen? Ein Segment aus 200 Kunden, die je 40 € im Jahr wert sind, trägt das nicht, so eigen es auch sein mag.

Erreichbar. Kann ich diesem Segment eine andere Botschaft oder ein anderes Angebot zeigen, ohne die anderen mitzutreffen? Ist dein einziger Kanal ein Banner auf der Startseite, hast du ein Segment, egal, was das Modell sagt.

Reaktiv. Reagiert das Segment anders auf die Behandlung, die ich im Kopf habe? Diese Prüfung lassen die meisten aus. Sie braucht einen Test, oder wenigstens ein natürliches Experiment in der Historie, das zeigt, dass Segment A auf Lieferversprechen angesprungen ist und Segment B nicht.

Stabil. Bleibt das Segment lange genug erkennbar, um etwas darum herum zu bauen? Wandert jeden Monat ein Drittel der Mitglieder in ein anderes Segment, ist das Segment eine Stimmung, kein Markt.

Rechenbeispiel: ein Kandidat, fünf Prüfungen

Lenas Kandidat sind die "Firmenplaner", Unternehmen, die Körbe in großen Mengen für Belegschaft oder Kundschaft kaufen.

  1. Identifizierbar: ja. Jede Firmenbestellung trägt einen Firmennamen und eine Bestellnummer des Kunden.
  2. Substanziell: ja. 992 Kunden, aber die Hälfte des Umsatzes (die Rechnung steht weiter unten).
  3. Erreichbar: ja. Sie lassen sich anrufen und anschreiben, ohne dass die Privatkundschaft je etwas davon sieht.
  4. Reaktiv: noch unbekannt. Lena glaubt, dass ein Anruf im September Bestellungen nach vorn zieht, aber niemand hat das gegen eine Kontrollgruppe getestet, einen zufälligen Teil des Segments, der keinen Anruf bekommt.
  5. Stabil: ja. Dieselben Firmen bestellen Jahr für Jahr im Oktober und November.

Vier bestanden und eine offene Frage, also ist die erste Aufgabe der Test.

A priori oder post hoc: zwei Wege zum selben Ziel

Segmentierungsverfahren teilen sich in zwei Familien, je nachdem, wann die Segmente festgelegt werden.4

Eine A priori Segmentierung legst du fest, bevor du die Daten ansiehst, weil die Strategie es verlangt. Für einen Shop für Geschenkkörbe ist die offensichtliche A priori Aufteilung Geschenkkauf gegen Eigenkauf. Das Geschäft gibt sie vor: Ein Geschenk hat einen Empfänger, eine Frist und eine Grußkarte. Ein Eigenkauf hat nichts davon.

Eine Post hoc Segmentierung entdeckst du in den Daten. Innerhalb der Geschenkkäufer sagt die A priori Aufteilung nichts über den Mann am 22. Dezember gegenüber der Frau, die den Geburtstagskorb für ihre Mutter jedes Jahr im März in derselben Woche bestellt. Diese Gruppen tauchen aus Zeitpunkt, Häufigkeit und Warenkorb auf, und aus der Strategie allein wäre niemand auf sie gekommen.

Die beiden sind keine Rivalen. Meine Regel: Mach die A priori Aufteilung zuerst, wenn die Geschäftslogik erdrückend ist, und such dann innerhalb jeder Hälfte nach Post hoc Struktur. Einen Algorithmus auf alle loszulassen und zu hoffen, dass der Unterschied zwischen Geschenk und Eigenkauf herausfällt, liefert meist Cluster, die halb Geschenk und halb Eigenkauf sind und für beides nutzlos.

Ein Beispiel: Korbwerk markiert eine Bestellung als Geschenk, wenn Lieferadresse und Rechnungsadresse sich unterscheiden, eine Grußbotschaft dabei ist oder ein Wunschliefertermin angegeben wurde. Das Beispiel nimmt an, dass Lena diese Regel gegen eine freiwillige Frage "Ist das ein Geschenk?" im Checkout geprüft hat und sie in etwa neun von zehn Fällen richtig lag. Gut genug, um zuerst aufzuteilen, und die Post hoc Arbeit läuft dann einmal auf jeder Hälfte.

Von der strategischen Frage zur Umsetzung

So gehe ich vor. Der Ablauf endet, wo er beginnt, denn der Schritt der Steuerung speist die nächste strategische Frage.

Der Ablauf der SegmentierungEin Ablauf von oben nach unten, von der strategischen Frage über die A priori Aufteilung, die Basisvariablen, die Kundentabelle, den Algorithmus, die Profile und die fünf Prüfungen bis zur Benennung, den vier P je Segment und der Steuerung, die die nächste Frage speist.Die strategische Frage aufschreibenGibt es eine offensichtliche Apriori Aufteilung?jaZuerst aufteilen, dann in jeder HälftearbeitenDie Basisvariablen wählenEine Zeile pro Kunde bauenDen Algorithmus laufen lassenEin Profil jeder Gruppe erstellenBesteht jede Gruppe die fünfPrüfungen?neinNein: Basisvariablen ändern und vonvornjaBenennen, dokumentieren und jede PersonzuordnenDie vier P je Segment festlegenSteuern und neu zuordnen, dann zurückzur Frage

Das Diagramm liest sich von oben nach unten: zuerst die Strategie, der Algorithmus in der Mitte. Eine nicht bestandene Prüfung schickt dich zurück zu den Basisvariablen, und die Steuerung schickt dich zurück zur Frage.

Die strategische Frage muss konkret sein. "Wir wollen unsere Kundschaft besser verstehen" ist keine. "Welche Kunden sollten ein bezahltes Lieferversprechen bekommen, und welche einen Treuevorteil statt eines Rabatts?" ist eine, und sie sagt dir schon, welche Variablen zählen.

Basisvariablen sind die, nach denen du segmentierst. Beschreibende Variablen beschreiben die Segmente danach und helfen, sie zu finden. Sobald die Segmente bestehen, benennst du sie, schreibst für jedes eine Definition auf einer Seite, ordnest jede Person zu, und erst dann redest du über Gestaltung.

Nach welchen Variablen du segmentierst: zuerst das Verhalten

Segmentier nach dem, was Menschen getan haben, vor dem, was sie gesagt haben, und nach dem, was sie gesagt haben, vor dem, was sie sind.

  1. Kaufverhalten: wie oft, wie kürzlich, wie viel, welche Kategorien, welche Jahreszeit, ob es ein Geschenk war. Die ersten drei sind die klassischen Maße Recency, Frequency und Monetary Value (RFM) aus dem Direktmarketing, und vergangenes Verhalten dieser Art gehört zu den stärksten Vorhersagen künftigen Verhaltens.5 Es liegt in jeder Shopdatenbank.
  2. Interaktion: geöffnet, geklickt, besucht, abgebrochen, den Kundendienst kontaktiert. Schwächer und verrauschter, aber nützlich für den Zeitpunkt.
  3. Geäußerte Bedürfnisse und Einstellungen: eine kurze Umfrage zu einem Kauf. Nötig, wenn es in der Strategie um Positionierung geht, denn das Verhalten sagt dir nur, was Menschen mit dem Sortiment getan haben, das du hattest.
  4. Demografie und Firmenmerkmale: nur zur Beschreibung, damit der Mediaeinkauf das Segment findet. Nie Basisvariablen, außer ein Gesetz oder eine logistische Grenze erzwingt die Aufteilung.

Ein Beispiel: Für Lenas Frage ist die Basis Bestellungen pro Jahr, durchschnittlicher Bestellwert, Artikel pro Bestellung, Tage zwischen Bestellung und Anlass, Dezemberanteil der Bestellungen und die Geschenkmarkierung. Altersklasse und Region werden danach berechnet, nur um die Segmente zu beschreiben.

Ist die Aufteilung echt? Ein wenig Mathematik

Ein Verhältnis erspart viele Diskussionen. Nimm irgendeine Basisvariable, etwa die Bestellungen pro Jahr. Ihre gesamte Streuung über alle Kunden teilt sich sauber in die Streuung innerhalb der Segmente und die Streuung zwischen den Segmenten:

∑i=1N(xi−xˉ)2=∑k=1K∑i∈Sk(xi−xˉk)2+∑k=1Knk(xˉk−xˉ)2\sum_{i=1}^{N}(x_i - \bar{x})^2 = \sum_{k=1}^{K}\sum_{i \in S_k}(x_i - \bar{x}_k)^2 + \sum_{k=1}^{K} n_k(\bar{x}_k - \bar{x})^2

Dabei ist xix_i der Wert für Kunde ii, xˉ\bar{x} der Gesamtmittelwert, SkS_k die Menge der Kunden in Segment kk, xˉk\bar{x}_k der Mittelwert dieses Segments und nkn_k seine Größe, bei KK Segmenten und NN Kunden insgesamt. Die linke Seite ist die gesamte Quadratsumme, SStotalSS_{\text{total}}. Der erste Term rechts ist die Quadratsumme innerhalb der Segmente, die Streuung, die die Segmente nicht erklären. Der zweite ist die Quadratsumme zwischen den Segmenten, SSbetweenSS_{\text{between}}, die Streuung, die die Segmentzugehörigkeit erklärt. Die Grundlagen stehen in Grundlagen: der Mittelwert und Grundlagen: Streuung.

Der erklärte Anteil heißt Eta Quadrat:6

η2=SSbetweenSStotal\eta^2 = \frac{SS_{\text{between}}}{SS_{\text{total}}}

Dabei ist η2\eta^2 (Eta Quadrat) der Anteil der Streuung, den die Segmentzugehörigkeit erklärt, und SSbetweenSS_{\text{between}} (zwischen) und SStotalSS_{\text{total}} (gesamt) sind die Quadratsummen aus der Formel oben. Es ist dieselbe Idee wie R2R^2 in der Regression, siehe Grundlagen: Korrelation und Grundlagen: Streuung.

Eta Quadrat läuft von 0 bis 1. Nahe 0 unterscheiden sich die Segmente bei dieser Variablen überhaupt nicht. Nahe 1 verrät dir das Segment fast schon den Wert. Bei einer guten Segmentierung nach Verhalten erwarte ich auf den Basisvariablen ein Eta Quadrat über 0,3, und über 0,5 bin ich zufrieden. Kommt die Altersklasse auf 0,03, sagt sie dir, dass sie nicht in die Basis gehört.

Rechenbeispiel: Eta Quadrat für sechs Kunden

Sechs Kunden in zwei Segmenten. Segment A bestellt 1, 2 und 3 Mal im Jahr, im Mittel 2. Segment B bestellt 5, 6 und 7 Mal, im Mittel 6. Der Gesamtmittelwert ist 24/6=424 / 6 = 4.

Die gesamte Quadratsumme misst jeden Wert am Gesamtmittelwert von 4: SStotal=9+4+1+1+4+9=28SS_{\text{total}} = 9 + 4 + 1 + 1 + 4 + 9 = 28. Die Quadratsumme zwischen den Segmenten misst jeden Segmentmittelwert an 4, gewichtet mit seinen drei Kunden: SSbetween=3×(2−4)2+3×(6−4)2=24SS_{\text{between}} = 3 \times (2 - 4)^2 + 3 \times (6 - 4)^2 = 24. Der Teil innerhalb der Segmente ist (1+0+1)+(1+0+1)=4(1 + 0 + 1) + (1 + 0 + 1) = 4, und 24+4=2824 + 4 = 28, die Zerlegung geht also auf. Eta Quadrat ist 24/28=0,8624 / 28 = 0{,}86.

Die Segmentzugehörigkeit erklärt 86 % der Streuung in den Bestellungen pro Jahr. Gib denselben sechs Kunden ein Alter von 34, 51 und 42 in A und 45, 38 und 49 in B, und Eta Quadrat für das Alter kommt auf 0,02. Die Segmente handeln vom Verhalten, und das Alter hat über sie nichts zu sagen.

Lohnt es sich, das Segment anders zu behandeln?

Die zweite Formel ist die Prüfung auf Substanz in einer Zeile. Der Wert, Segment kk anders zu behandeln, ist:

Vk=nk⋅mk⋅(rktreated−rkcontrol)V_k = n_k \cdot m_k \cdot \left(r_k^{\text{treated}} - r_k^{\text{control}}\right)

Dabei ist VkV_k der Wert der eigenen Behandlung für Segment kk, nkn_k die Zahl der Kunden im Segment, mkm_k die Marge pro reagierendem Kunden, rktreatedr_k^{\text{treated}} die Reaktionsrate mit der Behandlung für dieses Segment (treated, behandelt) und rkcontrolr_k^{\text{control}} die Reaktionsrate mit dem, was du heute tust (control, Kontrolle). Die Klammer ist der Lift. Es ist ein Erwartungswert, Reaktionsrate mal Marge mal Kopfzahl, siehe Grundlagen: Erwartungswert.

Deckt VkV_k die Kosten für Aufbau und Betrieb der Behandlung nicht bequem ab, leg das Segment mit seinem nächsten Nachbarn zusammen. Diese Formel ist auch der Grund, warum "reaktiv" einen Test braucht: Die Klammer ist der einzige Teil, den du nicht aus der Historie ablesen kannst.

Ein Beispiel, mit den eigenen Annahmen des Beispiels. Eine Mail zum Nachkauf an die 3.348 Stammgenießer, Menschen, die für sich selbst kaufen, soll die Reaktionsrate von 18 % auf 22 % heben, bei 12 € Marge pro reagierendem Kunden. Ein Anruf im September bei den 992 Firmenplanern soll den Anteil, der nachbestellt, von 70 % auf 75 % heben, bei 300 € Marge pro Bestellung. Für die Stammgenießer ist V=3.348×12×0,04=1.607,04V = 3.348 \times 12 \times 0{,}04 = 1.607{,}04 €. Für die Firmenplaner ist V=992×300×0,05=14.880V = 992 \times 300 \times 0{,}05 = 14.880 €.

Die Mail an die Stammgenießer lohnt sich, wenn ihr Versand weniger als rund 1.600 € kostet. Die Anrufe bei den Firmen sind fast zehnmal so viel wert und rechtfertigen die Zeit eines Menschen. Beide Klammern sind Schätzungen, bis eine Kontrollgruppe sie bestätigt.

Die vier Gruppen bei Korbwerk

Zwei Jahre Bestellungen, 12.400 Kunden, eine Zeile pro Kunde mit den Basisvariablen von oben. Vier Gruppen kamen heraus und haben die fünf Prüfungen überstanden.

SegmentKundenAnteil an der KundschaftBestellungen pro JahrDurchschnittliche BestellungAnteil am UmsatzTypischer Zeitpunkt
Schenker auf den letzten Drücker5.20842 %1,368 €15 %Ein bis vier Tage vor einem Anlass, stark im Dezember
Anlasstreue2.85223 %2,659 €14 %Jedes Jahr in denselben Wochen
Stammgenießer3.34827 %5,834 €21 %Alle sechs bis acht Wochen, für sich selbst
Firmenplaner9928 %1,41.120 €50 %Oktober und November, auf Rechnung

Der Umsatzanteil folgt aus den anderen Spalten: Kunden mal Bestellungen pro Jahr mal durchschnittliche Bestellung. Die Schenker auf den letzten Drücker bringen 5.208×1,3×68=460.3875.208 \times 1{,}3 \times 68 = 460.387 € von insgesamt 3.113.566 €, also 14,8 %. Die Firmenplaner bringen 992×1,4×1.120=1.555.456992 \times 1{,}4 \times 1.120 = 1.555.456 €, also 50,0 %.

Die Schenker auf den letzten Drücker sind die größte Gruppe und pro Kopf die am wenigsten wertvolle, rund 88 € im Jahr pro Person. Sie kaufen einmal, spät, und zahlen für Tempo. Illoyal sind sie nicht, sie denken nur nicht an Geschenkkörbe, bis der Kalender sie zwingt. Die Anlasstreuen sehen bei einer einzelnen Bestellung ähnlich aus, kommen aber jedes Jahr wieder, auf die Woche genau. Die Stammgenießer sind die, die für sich selbst kaufen: kleine Warenkörbe, hohe Frequenz. Die Firmenplaner bestellen in großen Mengen mit Bestellnummer und der Frist "vor der Weihnachtsfeier".

Anteil am Umsatz nach SegmentAnteil am Jahresumsatz nach Segment beim erfundenen Korbwerk: Schenker auf den letzten Drücker 15 %, Anlasstreue 14 %, Stammgenießer 21 %, Firmenplaner 50 %.Anteil am Umsatz nach Segment0 %25 %50 %75 %100 %15 %Schenker aufden letztenDrücker14 %Anlasstreue21 %Stammgenießer50 %FirmenplanerAnteil am Umsatz in %Segment

Die waagrechte Achse zeigt die vier Segmente, die senkrechte den Anteil jedes Segments am Jahresumsatz. Ein Kunde von 12 trägt die Hälfte des Geldes, und die größte Gruppe trägt am wenigsten. Ein einziger durchschnittlicher Bestellwert versteckt beide Tatsachen.

Die Werte für Eta Quadrat bestätigen, dass die Aufteilung echt ist, und zeigen, welche Variablen die Arbeit machen:

VariableEta QuadratWas sie sagt
Bestellungen pro Jahr0,61Die Frequenz trennt die Gruppen stark
Artikel pro Bestellung0,58Vor allem die Firmengruppe, die heraussticht
Tage vor dem Anlass0,44Schenker auf den letzten Drücker gegen alle anderen
Durchschnittlicher Bestellwert0,39Firmen hoch, Stammgenießer niedrig
Dezemberanteil der Bestellungen0,33Saisonalität ist echt, aber nicht die ganze Geschichte
Altersklasse0,03Bestenfalls ein Merkmal zur Beschreibung

Das Alter war nie in der Basis. Es wird danach berechnet, um zu zeigen, warum es da nicht hingehört.

Ein Abwanderungsmodell für alle, oder eins pro Segment

Hier fängt die Segmentierung an, die Statistik zu verbessern. Nimm ein einziges logistisches Modell für die Abwanderung aller 12.400 Kunden, gebaut so, wie es das Kapitel zur logistischen Regression beschreibt. Im Beispiel erreicht es auf einem Holdout Jahr eine AUC von 0,71. Die AUC, die Fläche unter der ROC Kurve, ist die Wahrscheinlichkeit, dass das Modell einen zufällig gewählten Abwanderer über einen zufällig gewählten Kunden stellt, der bleibt: 0,5 ist ein Münzwurf, 1,0 ist perfekt.7

Das Problem: "Abwanderung" bedeutet nicht in jeder Gruppe dasselbe, und die Vorhersagevariablen auch nicht. Ein Stammgenießer, der 120 Tage nicht bestellt hat, ist weg. Eine Anlasstreue, die 120 Tage nicht bestellt hat, ist zwischen zwei Geburtstagen. Ein Firmenplaner ist nur dann in Gefahr, wenn der 15. Dezember ohne Bestellung vergeht. Alle zusammenzuwerfen zwingt vier verschiedenen Prozessen eine Definition und einen Satz Koeffizienten auf.

Also schätzt das Beispiel vier Modelle, eins pro Segment, jedes mit eigenem Abwanderungsfenster und eigenen Vorhersagevariablen:

SegmentDefinition der AbwanderungAUC des Gesamtmodells im SegmentAUC des SegmentmodellsAbwanderer im obersten Zehntel, GesamtmodellAbwanderer im obersten Zehntel, Segmentmodell
Schenker auf den letzten DrückerKeine Bestellung innerhalb von 14 Monaten0,690,7424 %29 %
AnlasstreueDie Anlasswoche des Vorjahres um 60 Tage verpasst0,720,8127 %38 %
StammgenießerKeine Bestellung innerhalb von 120 Tagen0,740,8329 %41 %
FirmenplanerKeine Bestellung bis 15. Dezember0,660,7922 %36 %

Das Gesamtmodell ist dort am schwächsten, wo das Geld liegt, in der Firmengruppe, weil 992 Kunden die Koeffizienten eines Modells mit 12.400 Zeilen nicht in ihre Richtung ziehen können. Das Firmenmodell nutzt Variablen, die das Gesamtmodell kaum bemerkt hat: ein angefragtes Angebot im September, eine neue Ansprechperson, eine Beschwerde über die Lieferung im Vorjahr. Seine AUC steigt um 0,13. Bei den Stammgenießern kommt der Gewinn aus dem kurzen Abwanderungsfenster.

Die letzten beiden Spalten sind die Version für den Betrieb. Nimm das riskanteste Zehntel der Kundschaft nach vorhergesagtem Risiko. Ohne Modell lägen dort rund 10 % der Abwanderer. Die Segmentmodelle bringen 29 % bis 41 % von ihnen dorthin.

AUC des Abwanderungsmodells, gesamt gegen ein Modell pro SegmentAUC auf dem Holdout Jahr: das Gesamtmodell 0,71, die Segmentmodelle 0,74 für die Schenker auf den letzten Drücker, 0,81 für die Anlasstreuen, 0,83 für die Stammgenießer und 0,79 für die Firmenplaner.AUC auf dem Holdout Jahr0,000,250,500,751,000,71Gesamt0,74Schenkerauf denletztenDrücker0,81Anlasstreue0,83Stammgenießer0,79FirmenplanerAUCModell

Die waagrechte Achse zeigt das Gesamtmodell, dann die vier Segmentmodelle. Die senkrechte Achse ist die AUC auf dem Holdout Jahr, wobei 0,5 Raten wäre. Jedes Segmentmodell schlägt das Gesamtmodell, am deutlichsten dort, wo das Gesamtmodell die wenigsten Daten hatte.

Eine nach Größe gewichtete Mischung der Segment AUCs ist eine grobe Zusammenfassung, keine saubere Gesamtstatistik, aber sie vermittelt das Gefühl:

AUCblend=∑k=1KnkN AUCk\text{AUC}_{\text{blend}} = \sum_{k=1}^{K} \frac{n_k}{N}\,\text{AUC}_k

Dabei ist AUCblend\text{AUC}_{\text{blend}} der gemischte Wert (blend, Mischung), KK die Zahl der Segmente, nkn_k die Zahl der Kunden in Segment kk, NN die Gesamtzahl der Kunden, nk/Nn_k / N also der Anteil des Segments, und AUCk\text{AUC}_k die AUC des Segmentmodells. Es ist ein gewichteter Mittelwert, siehe Grundlagen: der Mittelwert.

Mit den Anteilen aus dem Beispiel:

0,42×0,74+0,23×0,81+0,27×0,83+0,08×0,79=0,7840{,}42 \times 0{,}74 + 0{,}23 \times 0{,}81 + 0{,}27 \times 0{,}83 + 0{,}08 \times 0{,}79 = 0{,}784

Dieselbe Mischung der AUCs des Gesamtmodells innerhalb der Segmente ergibt 0,42×0,69+0,23×0,72+0,27×0,74+0,08×0,66=0,7080{,}42 \times 0{,}69 + 0{,}23 \times 0{,}72 + 0{,}27 \times 0{,}74 + 0{,}08 \times 0{,}66 = 0{,}708. Gleiches mit Gleichem verglichen also von 0,71 auf rund 0,78, ohne eine einzige neue Datenquelle, nur indem man zugibt, dass vier Prozesse nicht einer sind.

Die allgemeine Lehre: Wenn ein Modell für eine abhängige Variable auf einer gemischten Population schwach ist, segmentier zuerst und schätz innerhalb. Die Seite für den Betrieb habe ich in Predictive Automation mit Behavioural Segments beschrieben, wo die Segmentwerte die Automationen direkt steuern.

Die vier P je Segment

Das ist die Tabelle, für die die ganze Übung da ist. Wenn du sie nicht ausfüllen kannst, ist die Segmentierung nicht fertig.

SegmentProduktPreisKommunikationVertrieb
Schenker auf den letzten DrückerBestseller auf Lager, Grußkarte inklusive, nichts, was den Versand bremstVoller Preis, bezahlte Expresszustellung und SamstagszustellungCountdown für die Lieferung auf der Website, Mails zum Anlasskalender zwei Wochen vorherSuchanzeigen auf dringliche Begriffe, mobiler Checkout mit gespeicherten Adressen
AnlasstreueDer Korb vom Vorjahr als Nachbestellung mit einem Klick, ein Vorschlag für das UpgradeVoller Preis, ein Treuevorteil statt eines RabattsEine Erinnerung drei Wochen vor dem Bestelldatum des Vorjahres, mit Namen der beschenkten PersonMail und Kundenkonto, nichts Bezahltes
StammgenießerKleinere Boxen, Neuheiten, eine AbooptionBündelpreise und ein Aborabatt, das einzige Segment, in dem sich eine Preissenkung lohntNeuigkeiten zu Produkten, Verkostungsnotizen, Hinweise auf NachschubInstagram, Newsletter, Empfehlungen im Shop
FirmenplanerKarten mit Firmenlogo, Mengenstaffeln, gestaffelte Lieferung an viele AdressenMengenstaffeln, Kauf auf Rechnung, nach AngebotEin Anruf im September, ein gedruckter Katalog, eine FallstudieLinkedIn, Direktvertrieb, ein Angebotsformular

Lies eine Zeile quer, und du siehst ein stimmiges Angebot für eine Art von Kunde. Lies eine Spalte von oben nach unten, und du siehst, warum eine einzige Startseite nicht alle vier bedienen kann.

Ein Beispiel für den Ertrag: Allein die Rabattentscheidung bezahlt die Analyse. Im Beispiel reagieren nur die Stammgenießer auf eine Preissenkung mit mehr Menge. Für die anderen drei ist ein Rabatt verschenkte Marge an Leute, die sowieso gekauft hätten. Das ist die Prüfung "reaktiv" in Aktion, mit einer Kontrollgruppe bestätigt, nicht behauptet.

Selbst durchführen

Die Daten, die du brauchst: zwei Jahre abgeschlossener Bestellungen mit einem Kundenschlüssel, Bestelldatum, Summe, Artikelzahl, Lieferadresse und Rechnungsadresse und jeder Geschenkmarkierung oder Grußbotschaft. Die Zielform ist eine Zeile pro Kunde. In Solidus enthält die Tabelle der Bestellungen schon Kunde, Status, Abschlussdatum, Summe, Artikelzahl und beide Adress IDs,8 also baut so etwas wie das hier die Basisvariablen auf PostgreSQL:9

with orders as (
  select o.user_id, o.completed_at, o.total, o.item_count,
         (o.ship_address_id <> o.bill_address_id) as is_gift
  from spree_orders o
  where o.state = 'complete'
    and o.user_id is not null
    and o.completed_at >= now() - interval '24 months'
)
select user_id,
       count(*) * 12.0 / 24 as orders_per_year,
       avg(total) as avg_order_value,
       avg(item_count) as units_per_order,
       avg(case when extract(month from completed_at) = 12 then 1 else 0 end) as december_share,
       avg(case when is_gift then 1 else 0 end) as gift_share
from orders
group by user_id;

Bestellungen als Gast bleiben außen vor, und der Vergleich der Adress IDs ist nur eine grobe Geschenkmarkierung. Die Grußbotschaft ist eine bessere.

Dann der Algorithmus, der Thema des nächsten Kapitels ist, dann das Profil, dann Eta Quadrat je Variable, um zu prüfen, ob die Aufteilung echt ist. Hier die Funktion für Eta Quadrat, angewandt auf die sechs Kunden aus dem Rechenbeispiel:

import pandas as pd

def eta_squared(df, var, seg):
    grand = df[var].mean()
    ss_total = ((df[var] - grand) ** 2).sum()
    groups = df.groupby(seg)[var]
    ss_between = (groups.size() * (groups.mean() - grand) ** 2).sum()
    return ss_between / ss_total

customers = pd.DataFrame({
    "segment":         ["A", "A", "A", "B", "B", "B"],
    "orders_per_year": [1, 2, 3, 5, 6, 7],
    "age":             [34, 51, 42, 45, 38, 49],
})

for var in ["orders_per_year", "age"]:
    print(var, round(eta_squared(customers, var, "segment"), 2))

Er gibt orders_per_year 0.86 und age 0.02 aus, die Werte, die oben von Hand ausgerechnet sind. Die Abwanderungsmodelle je Segment sind wieder dieselbe Schleife, eine Schätzung pro Gruppe mit ihrer eigenen Markierung für Abwanderung.

Wie lange das dauert: Mit sauberen Bestelldaten ist die erste belastbare Segmentierung zwei Wochen Arbeit, das meiste davon Profile und die fünf Prüfungen, nicht Rechenzeit.

Prüfungen, bevor du ihr traust:

  • Die Segmente lassen sich auf einer zufälligen Hälfte der Kundschaft wiederfinden.
  • Eta Quadrat auf den Basisvariablen liegt deutlich über 0,3.
  • Jedes Segment besteht die fünf Prüfungen, schriftlich.
  • Mindestens ein Unterschied in den vier P je Segment wurde gegen eine Kontrollgruppe getestet.

Kunden zu segmentieren ist Profiling

Kunden anhand ihrer personenbezogenen Daten in Segmente einzuordnen, ist Profiling im Sinn der Datenschutz Grundverordnung (DSGVO). Art. 4 Nr. 4 DSGVO definiert Profiling als jede Art der automatisierten Verarbeitung personenbezogener Daten, um bestimmte persönliche Aspekte zu bewerten, insbesondere um Aspekte wie persönliche Vorlieben, Interessen oder Verhalten zu analysieren oder vorherzusagen.10 Die deutschen Datenschutzaufsichtsbehörden haben in ihrer gemeinsamen Orientierungshilfe zur Direktwerbung, redaktionell betreut vom Bayerischen Landesamt für Datenschutzaufsicht, eine deutliche Linie gezogen: Werbung nach einer Bestellung an alle Kunden, oder nach einer groben Einteilung etwa nach Postleitzahl, ist in der Regel über das berechtigte Interesse gedeckt. Automatisierte Selektionsverfahren, die detaillierte Profile, Verhaltensprognosen oder Analysen mit zusätzlichen Erkenntnissen erzeugen, sehen sie dagegen als Profiling, das sich nicht mehr auf das berechtigte Interesse stützen lässt und eine ausdrückliche Einwilligung braucht. Der Hinweis auf das Widerspruchsrecht reicht dann nicht.11

Daraus folgen drei praktische Dinge. Deine Datenschutzerklärung sollte sagen, dass du Kunden nach ihrem Kaufverhalten gruppierst, und wofür. Wo die Segmente Werbung steuern und über eine einfache Einteilung hinausgehen, wie die Abwanderungsmodelle oben, klär die Rechtsgrundlage, bevor die erste Kampagne läuft, und rechne damit, dass die Aufsicht in Deutschland eine Einwilligung erwartet. Und ein Widerspruch gegen Direktwerbung erfasst nach Art. 21 Abs. 2 DSGVO auch das Profiling, das mit dieser Werbung in Verbindung steht, und nach Abs. 3 werden die Daten dann nicht mehr für diese Zwecke verarbeitet.12 Ein Beispiel: Eine Firmenplanerin bei Korbwerk bittet darum, keine Werbeanrufe mehr zu bekommen. Ihre Bestellhistorie bleibt für die Rechnungsstellung, aber sie verschwindet von der Anrufliste für September und aus der Bewertung, die diese Liste füttert. Wo ein Segment mehr entscheidet als Marketing, zum Beispiel, wer auf Rechnung kaufen darf, hol dir ordentlichen Rat.

Steuerung: Segmente altern

Eine Segmentierung ist ein lebendes Gut, und die meisten sterben an Vernachlässigung. Kunden wandern: Eine Schenkerin auf den letzten Drücker wird in dem Moment zur Anlasstreuen, in dem sie zweimal für denselben Geburtstag bestellt. Die Regeln, die ich aufstelle, sind langweilig, und sie funktionieren.

  • Jeder Kunde trägt im CRM eine Segment ID und eine Segmentversion, und die Zuordnung läuft monatlich.
  • Die Wanderung zwischen Segmenten ist eine berichtete Kennzahl. Wechseln in einem Quartal mehr als rund 10 %, schaue ich, ob sich die Segmente oder die Kunden verändert haben.
  • Die Definitionen werden einmal im Jahr neu geschätzt, und eine neue Version wird nur übernommen, wenn sie die alte bei Eta Quadrat und den fünf Prüfungen schlägt.
  • Jedes Segment hat eine verantwortliche Person, die in einem Satz sagen kann, wofür es da ist.
  • Segmente gehen in Rente. Fällt VkV_k zwei Quartale lang unter die laufenden Kosten, wird das Segment mit seinem Nachbarn zusammengelegt, und seine eigene Gestaltung endet.

Ein Beispiel: In Lenas Quartalsbericht haben 9 % der Kundschaft das Segment gewechselt, überwiegend Schenker auf den letzten Drücker, die zu Anlasstreuen wurden. Unter der Schwelle und in die richtige Richtung, also keine neue Schätzung.

Fallstricke

Nach dem segmentieren, was da ist, statt nach dem, was zählt. Alter, Geschlecht und Postleitzahl stecken in jedem Export, also landen sie in der Basis, und später kann niemand erklären, warum sich die Segmente nicht unterschiedlich verhalten.

Zu viele Segmente. Acht Segmente fühlen sich gründlich an und sind im Betrieb unmöglich: vier P mal acht sind 32 Entscheidungen, die gepflegt werden wollen. Drei bis fünf ist der Bereich, in dem ein kleines Team wirklich unterschiedliche Behandlungen fahren kann. Besteht der Algorithmus auf mehr, sind die Basisvariablen vermutlich verrauscht.

Cluster mit Segmenten verwechseln. Ein Algorithmus liefert immer Gruppen, selbst auf Zufallsdaten. Ein Cluster wird erst dann zum Segment, wenn er die fünf Prüfungen besteht und eine Zeile in der Tabelle der vier P hat.

Reaktion behaupten, ohne zu testen. Die Tabelle der vier P ist eine Sammlung von Hypothesen, bis eine Kontrollgruppe etwas anderes sagt. Ich habe "preissensible" Segmente gesehen, die zum vollen Preis mehr kauften, sobald die Rabatte aufhörten. Teste die Klammer in VkV_k.

Wie ich das für Kunden mache

Ich brauche die Bestellhistorie mit einem Kundenschlüssel, zwei Jahre, wenn du sie hast, plus das, was dein Mailtool oder dein CRM exportiert. Läuft dein Shop auf Solidus oder einer anderen Rails Basis, kann ich die Tabelle mit einer Zeile pro Kunde meist an einem Tag selbst ziehen.

Es beginnt mit dem kostenlosen Workshop: Wir schreiben die strategische Frage und die A priori Aufteilungen auf, die das Geschäft schon kennt, und legen fest, was "andere Behandlung" heißen würde. Danach zwei Wochen echte Arbeit auf meine Rechnung, bevor du dich auf irgendetwas festlegst: die Kundentabelle, die Aufteilungen, die fünf Prüfungen und ein erster Entwurf der Tabelle der vier P. Hältst du die Segmente danach nicht für echt, trennen sich unsere Wege an dieser Stelle.

Machen wir weiter, bekommst du eine Definition auf einer Seite für jedes Segment, eine bewertete Kundenliste mit Segment ID und Version, die sich in dein CRM laden lässt, das SQL oder Python für die Zuordnung, damit es ohne mich in deinem eigenen Data Warehouse läuft, ein Entscheidungspapier je Segment mit einer Zahl (dem Wert VkV_k) und einem Risiko, und ein Dashboard, das eine Frage beantwortet: Wie bewegen sich die Segmente? Wo es sich lohnt, ersetzen Modelle je Segment die Gesamtmodelle, wie im Beispiel zur Abwanderung oben.

Deine Rohdaten bleiben deine, und die Regeln für Code und Modelle stehen in den Bedingungen für Analytics und Data Science. Die analytische Arbeit beschreibt die Seite zu Data Science, die Umsetzung, bei der aus den vier P Kampagnen und Tests werden, steht unter Growth Hacking Plus, und die kaufmännischen Bedingungen, auch die Option mit Provision, auf der Preisseite. Eine verantwortliche Person, ehrliche Zahlen mit Fehlermargen, keine Eitelkeitskennzahlen.

Fragen an dein Team oder deine Agentur

  • Welche Entscheidung würdet ihr je Segment anders treffen, über die Botschaft hinaus?
  • Lässt sich jeder Kunde in der Datenbank genau einem Segment zuordnen, mit einer Regel, die ihr nächsten Montag laufen lassen könnt?
  • Wie hoch ist Eta Quadrat auf den Basisvariablen, und hat jemand es zur Kontrolle für die demografischen Variablen berechnet?
  • Welche Unterschiede in der Reaktion zwischen Segmenten wurden wirklich gegen eine Kontrollgruppe getestet, und welche sind Annahmen?
  • Was bedeutet Abwanderung für jedes Segment, und kennt das Abwanderungsmodell den Unterschied?
  • Wann wurden die Segmente zuletzt neu zugeordnet, wie viele Kunden sind gewandert, und wer ist für jedes Segment verantwortlich?
  • Auf welcher Rechtsgrundlage läuft das Profiling für die Werbung, und steht es in der Datenschutzerklärung?

Die Serie ist von Mike Grigsbys Marketing Analytics inspiriert.13 Die Erklärungen, Beispiele und Zahlen hier sind meine eigenen.

Footnotes

  1. Wendell R. Smith, Product Differentiation and Market Segmentation as Alternative Marketing Strategies, Journal of Marketing, Band 21, Heft 1, 1956, Seiten 3 bis 8 (Eintrag bei EconBiz), https://econbiz.de/Record/product-differentiation-and-market-segmentation-as-alternative-marketing-strategies-smith-wendell/10002821218

  2. E. Jerome McCarthy, Basic Marketing: A Managerial Approach, Richard D. Irwin, 1960 (Internet Archive), https://archive.org/details/basicmarketingma0000mcca_n8s6

  3. Michel Wedel und Wagner A. Kamakura, Market Segmentation: Conceptual and Methodological Foundations, zweite Auflage, Kapitel 1, The Historical Development of the Market Segmentation Concept (die Kriterien für eine wirksame Segmentierung), Springer, 2000, https://link.springer.com/chapter/10.1007/978-1-4615-4651-1_1

  4. Michel Wedel und Wagner A. Kamakura, Market Segmentation: Conceptual and Methodological Foundations, zweite Auflage, Kapitel 3, Segmentation Methods, Springer, 2000, https://link.springer.com/chapter/10.1007/978-1-4615-4651-1_3

  5. Peter S. Fader, Bruce G. S. Hardie und Ka Lok Lee, RFM and CLV (iso value curves for customer base analysis), Journal of Marketing Research, 2005 (Arbeitspapier der Autoren), https://www.brucehardie.com/papers/rfm_clv_2005-02-16.pdf

  6. Daniël Lakens, Calculating and reporting effect sizes to facilitate cumulative science: a practical primer for t tests and ANOVAs, Frontiers in Psychology, Band 4, 2013, https://www.frontiersin.org/articles/10.3389/fpsyg.2013.00863/full

  7. Google, Classification: ROC and AUC, Machine Learning Crash Course, Google for Developers, https://developers.google.com/machine-learning/crash-course/classification/roc-and-auc

  8. Solidus Mitwirkende, Datenbankschema des Kerns (spree_orders), Quellcode von Solidus auf GitHub, https://github.com/solidusio/solidus/blob/main/core/db/migrate/20160101010000_solidus_one_four.rb

  9. PostgreSQL Global Development Group, Date/Time Functions and Operators, Dokumentation von PostgreSQL, https://www.postgresql.org/docs/current/functions-datetime.html

  10. Verordnung (EU) 2016/679, Datenschutz Grundverordnung, Artikel 4 Nummer 4, Begriffsbestimmung Profiling, EUR Lex, https://eur-lex.europa.eu/legal-content/DE/TXT/HTML/?uri=CELEX:32016R0679

  11. Konferenz der unabhängigen Datenschutzaufsichtsbehörden des Bundes und der Länder (DSK), Orientierungshilfe der Aufsichtsbehörden zur Verarbeitung von personenbezogenen Daten für Zwecke der Direktwerbung unter Geltung der Datenschutz Grundverordnung, Redaktion Bayerisches Landesamt für Datenschutzaufsicht, Stand Februar 2022, Abschnitt 1.3.2, https://www.datenschutzkonferenz-online.de/media/oh/OH-Werbung_Februar%202022_final.pdf

  12. Verordnung (EU) 2016/679, Datenschutz Grundverordnung, Artikel 21 Absätze 2 und 3, Widerspruchsrecht gegen Direktwerbung, EUR Lex, https://eur-lex.europa.eu/legal-content/DE/TXT/HTML/?uri=CELEX:32016R0679

  13. 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

Wenn deine Kundschaft immer noch ein Durchschnitt und eine Abwanderungsquote ist, bring zwei Jahre Bestelldaten, oder einfach die Frage, die du beantworten willst, in meinen kostenlosen Workshop mit. Wir schreiben die Entscheidung auf, die du je Segment anders treffen würdest, und die Aufteilungen, die du schon kennst. Danach stecke ich zwei Wochen Arbeit auf meine Rechnung hinein, baue die Segmente, mache die fünf Prüfungen und entwerfe die Tabelle der vier P. Sind die Gruppen nicht echt, hörst du es zuerst von mir, mit den Zahlen.