830 likes | 1.01k Views
Die Linusbank Allgemeine Marktübersicht Unternehmenssicht Problembeschreibung Projektplan Deskriptive Analyse Kundenwertkonzept Klassifikationsmodell Kampagnenauswertung. Die Linusbank Allgemeine Marktübersicht. höhere Preissensitivität Häufig 2 bis 4 Bankverbindungen
E N D
Die Linusbank Allgemeine Marktübersicht Unternehmenssicht Problembeschreibung Projektplan Deskriptive Analyse Kundenwertkonzept Klassifikationsmodell Kampagnenauswertung
Die LinusbankAllgemeine Marktübersicht • höhere Preissensitivität • Häufig 2 bis 4 Bankverbindungen • Entwicklung kostenloser Girokonten: • 2000: gesamt: 6 % • 2005: gesamt: 10 % - 2 % Onlinekonten • 2010: gesamt 20 % - 19 % Onlinekonten • Allgemeine Demografie am Markt: • 21 % jünger als 30 • 15 % älter als 70 Jahre • 19 % zwischen 40 und 49 • andere Altersgruppen jeweils ca. 15 %
Die LinusbankUnternehmenssicht • mittelgroße Filialbank mit 500.000 Kunden • 5 Produkte : • umfangreiches Data Warehouse mit historisierter Datenbasis • sowohl Online- als auch Filialgeschäft
Die Linusbank Problembeschreibung Was der Kunde sagt Was der Kunde will Projektplan Data Understanding Data Preparation Modeling
ProblembeschreibungWas der Kunde sagt "Wir wollen den Produktbesitz und die Produktnutzung unserer Bestandskunden intensivieren, um dem Wettbewerbsdruck zu begegnen. Allerdings sind die Kosten unserer jeweils produktbezogenen Cross- und Up-Selling-Kampangen hoch, und zu häufig sollten die Kunden auch nicht angesprochen werden. Deshalb wollen wir mit unseren Kampagnen vorranging die wertvollsten Kunden adressieren. Leider können wir den Erfolg von Kampagnen nur schwer beurteilen. Anhand von Vergangenheitsdaten wissen wir, dass sich unsere Kunden hinsichtlich ihres Produktbesitzes, ihrer Produktnutzung sowie ihrer Reaktion auf Kampagnen zum Teil deutlich unterscheiden.“
ProblembeschreibungWas der Kunde will • Kosten für Kampagnen sehr hoch • Kunden nutzen wenige Produkte • Keine Erfolgsmessung der Kampagnen • Wertvolle Kunden unbekannt • Ziele: • Kundenzufriedenheit und Bindung erhöhen • Wertvolle Kunden identifizieren • Kosten reduzieren • Erfolgsmessung für Marketingkampagnen einführen
Die Linusbank Problembeschreibung Projektplan Projektablauf Koordination der Projektarbeit Data Understanding Data Preparation Modeling Kampagnenauswertung
ProjektplanProjektablauf • Orientierung des Projektablaufes an den Phasen des CRISP-DM • Einarbeitung in Bankgeschäft und Daten der Linusbank • Festlegen der Teilziele für Projektablauf • Erarbeiten von Kennzahlen auf Basis der vorhandenen Daten • Evaluation der erstellten Modelle und ableiten von Handlungsempfehlungen
… Projektplan Data Understanding Übersicht über vorhandene Daten Produktverteilung Produkterträge Kundenanalyse Kundenwertkonzept Data Preparation …
Deskriptive AnalyseProduktverteilung (gesamt) • Girokonto hat größten Produktanteil • Kredit nur vergleichsweise geringer Anteil • Anteil für Riester und Spaern minimal
Deskriptive AnalyseProduktverteilung • Deutliche Unterschiede in der Produktverteilung zwischen den Monaten Juni und Dezember erkennbar • Zurückzuführen auf wirksame Marketingkampagnen • Alle Informationen über erstes Halbjahr im Datensatz für Juni enthalten • Juni - Datensatz stellt Basis unserer Annahmen und Berechnungen dar • Später: Vergleich und Güteanalyse mit Daten des Dezembers
Deskriptive AnalyseProdukterträge • Riester und Kredit haben die höchsten Anteile an den Erträgen • Zins, Giro und Depot vergleichsweise niedriger Ertragsanteil
… Projektplan Data Understanding Übersicht über vorhandene Daten Produktverteilung Produkterträge Kundenanalyse Kundenwertkonzept Data Preparation …
Deskriptive AnalyseKundenanalyse Die absolute Zahl der Kunden, die 1, 2, 3, 4 oder 5 und mehr Produkte besitzen Die relativen Änderungen der Kunden mit einer bestimmten Anzahl an Produkten
Deskriptive AnalyseKundenanalyse Umsatzanalyse nach Monaten sowie Zahl der Kunden, die einen Vertrag abgeschlossen haben und Zahl der abgeschlossenen Verträge.
Deskriptive AnalyseKundenstruktur 2/2 • Mehr Filial- als Onlinekunden • Kaum Unterschiede in der Altersstruktur im Vergleich Online/ Offline
Deskriptive AnalyseKundenwertkonzept Motivation: • Banken besitzen nur beschränkte Ressourcen für Aktivitäten der Kundenbindung • Ziel ist es Kundensegmente zu identifizieren, die den Einsatz dieser Ressourcen rechtfertigen • Ermöglichung einer spezifischen Art der Betreuung von Bestandkunden und potenziellen Neukunden • Ausschöpfung von Cross- & Up - Selling Potenzialen Mögliche Verfahren • Qualitative Segmentierung • ABC - Analysen • Kunden - Deckungsbeitragsrechnung • Kunden - Scoring - Modelle • Kunden - Portfolio - Analyse • Customer Lifetime Value
Deskriptive AnalyseKundenwertkonzept Kundenwert lässt sich über viele Faktoren bestimmen: • Beziehungsdauer • Kreditwürdigkeit • Transaktionsvolumen • erwartete Kaufwahrscheinlichkeit für die Zukunft • generierter Umsatz • Hohes Einkommen Durch welche Daten lassen sich solche Kunden erkennen? • Kreditvolumen (VOLUMEN_KREDIT) • Kreditwürdigkeit • Einalgen - Netto - Volumen • Einlagenvolumen • Saldo Girokonto • Beziehungsdauer
Deskriptive AnalyseKundenwertkonzept Kunden unterteilen in A, B und C Kunden • A Kunden sind wertvoll • B Kunden haben keinen besonderen Wert, schädigen die Linusbank aber nicht • C Kunden schädigen die Linusbank Einflussreiche Größen • Produktnutzung_X --> X ist die Menge an Produkten, welche einen besonders hohen Anteil am Umsatz/Gewinn der Linusbank haben • Dauer_X --> Gewichtungsfaktor für die wichtigsten X Produkte der Linusbank • Anzahl_X --> Gewichtungsfaktor für die wichtigsten X Produkte der Linusbank • Volumen_X --> Gewichtungsfaktor für die wichtigsten X Produkte der Linusbank • Kreditwürdigkeit --> Risikominimierung • Vermögensausprägung --> viel Vermögen bedeutet viel Kapital für die Linusbank • Beziehungsdauer --> Zeichen für Loyalität • Cross-Selling_Potenzial_X --> Möglichkeit der Aufwertung des Kunden durch Kampagnen
… Data Understanding Data Preparation Datenbereinigung Kundenwert Preparation … Modeling …
Data PreparationDatenbereinigung Ausschluss von "toten" Kunden, um eine saubere Datenbasis für die Folgemodelle zu erzeugen? Nur bedingt sinnvoll, da diese Kunden durch die Kampagnen reaktiviert werden! Denkbarer Nutzen etwa bei Assoziationsanalyse für den Warenkorb, wobei Konten-Tabelle nur Kunden enthält, die mindestens ein Produkt besitzen Modelle arbeiten fehlerhaft, aber der gezielte Ausschluss (klar definierter) wertloser Kunden ist fehlerfrei, sodass das Endmodell eine höhere Güte aufweist Normierung der Datensätze erforderlich, da Daten sowohl metrisch skaliert vorliegen (z. B. Kredithöhe oder Beziehungsdauer) oder nominal bzw. ordinal (z. B. Geschlecht, Familienstand, Kreditwürdigkeit) Verbindung der Datensätze über die Kundennummer möglich (jeder Kunde hat eine eindeutige Kundennummer)
Data PreparationAusschluss von Datenmaterial • Produktnutzung_Giro und Dauer_Giro beinhalten die gleichen Fakten: • Wenn die Produktnutzung = 0 ist auch die Dauer_Giro = 0 • Daraus folgt, dass Dauer_Giro überflüssig ist • ebenso bei Giro, Zins, Kredit, Riester, Depot, Kreditkarte, Sparkarte, Baufinanzierung • Ausschluss von Kreditkarte, Baufinanzierung und Termingeld, Sparkarte laut Aufgabenstellung (keine adäquaten Daten)
Tabelle Konten und Kunden Verknüpfung der beiden Tabellen für jeden Monat mit den Informationen: Beziehungsdauer Alter Vertriebskanal Produktnutzungsdauer (Giro, Zins, Kredit, Riester, Depot, Sparkarte) Einteilung der Zeiten in Intervalle Nutzungsdauer: 0 Jahre1-12: 1 Jahr13-24: 2 Jahre37-60: 3-5 Jahreab 61: 6-10 Jahre Alter: bis 17: Minderjährig18-2930-3940-4950-59ab 60 Beziehungsdauer: 0-3: Neukunde3-12: 1 Jahr13-24: 2 Jahre25-60: 3-5 Jahre51-120: 6-10 Jahreab 121: mehr als 10 Jahre Data PreparationTransformierung von Datensätzen
Data PreparationTransformierung in Intervalle mittels SQL proc sql;/*- Transformation der Intervall-Daten Alter, Beziehungsdauer in diskrete nominale Intervalle- Speicherung von Produkt-Nutzung- Filterung von Minderjaehrigen Kunden*/drop table altranbi.kunden_binary200812;create table altranbi.kunden_binary200812 asselectd.kundennummer,casewhen d.alter < 18 then ' minderjaehrig 'when d.alter >= 18 and d.alter < 30 then ' 18-29 'when d.alter >= 30 and d.alter < 40 then ' 30-39 'when d.alter >= 40 and d.alter < 50 then ' 40-49 'when d.alter >= 50 and d.alter < 60 then ' 50-59 'else ' ab 60' end as Alter,d.vertriebskanal as Kanal,d.kreditwuerdigkeit,case vermoegensauspraegungwhen '2 -50 bis -25 Tsd.' then -1when '3 -25 bis -10 Tsd.' then -1when '4 -10 bis -5 Tsd.' then -1when '5 -5 bis -2,5 Tsd.' then -1when '6 2,5 bis -1 Tsd.' then 0when '7 -1 bis 0,25 Tsd.' then 0 when '9 0 Volumen' then 0when 'A 0 bis 0,25 Tsd.' then 0when 'B 0,25 bis 1 Tsd.' then 0when 'C 1 bis 2,5 Tsd.' then 0when 'D 2,5 bis 5 Tsd.' then 0when 'E 5 bis 10 Tsd.' then 1when 'F 10 bis 25 Tsd.' then 1when 'G 25 bis 50 Tsd.' then 1when 'H ab 50 Tsd.' then 1else 0 end AS vermoegensauspraegung,case d.produktnutzung_giro when 'G' then 1 else 0 end as Giro,case d.produktnutzung_kredit when 'K' then 1 else 0 end as Kredit,case d.produktnutzung_riester when 'R' then 1 else 0 end as Riester,case d.produktnutzung_zins when 'T' then 1 else 0 end as Zins,case d.produktnutzung_depot when 'D' then 1 else 0 end as Depot,casewhen d.beziehungsdauer <= 3 then ' Neukunde 'when d.beziehungsdauer >= 4 and d.beziehungsdauer < 12 then ' 1 'when d.beziehungsdauer >= 13 and d.beziehungsdauer < 24 then ' 2 'when d.beziehungsdauer >= 25 and d.beziehungsdauer < 60 then ' 3-5 'when d.beziehungsdauer >= 61 and d.beziehungsdauer < 120 then ' 6-10 'else ' Mehr als 10 Jahre' end as Beziehungsdauerfrom altranbi.kundendaten_200812 dwhere d.alter >= 18;run;
DatapreparationKundenwert • Für eine erste Analyse genügt ein relativ einfacher Kundenwert, der auf Basis des generierten Umsatzes ermittelt wird. In weiteren Schritt kann anhand von Prognosemodellen ein Score für jeden Kunden erzeugt werden, der in einen präziseren und feiner abgestimmten Kundenwert einfließt. Für die aktuelle Aufgabe genügt jedoch der einfache Kundenwert in Umsatzklassen. • Kunden haben zu einem bestimmten Zeitpunkt ein eine Menge an Produkten mit unterschiedlichem Jahresertrag und Laufzeitertrag erworben • Je nach Jahresertrag und Laufzeitertrag erzeugen diese Kunden einen höheren oder niedrigeren Umsatz • Kunden werden anhand dieses Umsatzes in verschiedene Werte-Klassen eingeteilt
DatapreparationKundenwert Hilfsmittel: ABC-Analyse • Klassische ABC-Analyse gruppiert Kunden prozentual in Klassen ein, die einen bestimmten Umsatzanteil ausmachen • jedoch in SQL extrem komplex zu implementieren • Abgewandelter Algorithmus sortiert Kunden absteigend nach Umsatz und ordnet absolute Mengen in die Klassen ein, sodass die ersten 10.000 Kunden mit dem höchsten Umsatz Klasse A darstellen, die nächsten Kunden Klasse B usw. • Daten auswählen, anhand wir den Wert berechnen können (in Datensatz schauen) • Modell aufbauend auf den Parametern erstellen
Data PreparationKundenwertgenerierung mittels SQL proc sql;/*Berechne die Umsaetze fuer die Kunden im Monat Dezember*/DROP TABLE altranbi.kundenwert_200812;CREATE table altranbi.kundenwert_200812 ASSELECTsum(p.laufzeitertrag) + sum(p.jahresertrag) AS Umsatz, k.kundennummer, Gesamtumsatz, Gesamtkunden, Avg_Umsatz_je_Kunde, a.AbschlussFROMaltranbi.produkte pJOIN altranbi.konten k ON lower(k.produkt) = lower(p.name)CROSS JOIN (SELECTsum(laufzeitertrag+jahresertrag) AS Gesamtumsatz, count(DISTINCT kundennummer) AS Gesamtkunden, sum(laufzeitertrag+jahresertrag) / count(DISTINCT kundennummer) AS Avg_Umsatz_je_Kunde, AbschlussFROMaltranbi.produkte pJOIN altranbi.konten k ON lower(k.produkt) = lower(p.name)WHERE Abschluss = 200812GROUP BY k.Abschluss) aGROUP BY k.kundennummer;reset outobs=10000; /*Ordne den Kundendaten die passenden Umsaetze zu*//* A KUNDEN */DROP TABLE altranbi.a_kunden;CREATE TABLE altranbi.a_kunden ASSELECT kundennummer, Umsatz FROM altranbi.kundenwert_200812 kORDER BY Umsatz DESC;/* B KUNDEN */reset outobs=30000;DROP TABLE altranbi.b_kunden;CREATE TABLE altranbi.b_kunden ASSELECT kundennummer, Umsatz FROM altranbi.kundenwert_200812 kWHERE kundennummer NOT IN (SELECT kundennummer FROM altranbi.a_kunden)ORDER BY Umsatz DESC;/* C KUNDEN */reset outobs=50000;DROP TABLE altranbi.c_kunden;CREATE TABLE altranbi.c_kunden ASSELECT kundennummer, Umsatz FROM altranbi.kundenwert_200812 kWHEREkundennummer NOT IN (SELECT kundennummer FROM altranbi.a_kunden)ANDkundennummer NOT IN (SELECT kundennummer FROM altranbi.b_kunden)ORDER BY Umsatz DESC;
Data PreparationKundenwertgenerierung mittels SQL /* D KUNDEN */reset outobs=100000;DROP TABLE altranbi.d_kunden;CREATE TABLE altranbi.d_kunden ASSELECT kundennummer, Umsatz FROM altranbi.kundenwert_200812 kWHEREkundennummer NOT IN (SELECT kundennummer FROM altranbi.a_kunden)ANDkundennummer NOT IN (SELECT kundennummer FROM altranbi.b_kunden)ANDkundennummer NOT IN (SELECT kundennummer FROM altranbi.c_kunden)ORDER BY Umsatz DESC;/* E KUNDEN */reset outobs=;DROP TABLE altranbi.e_kunden;CREATE TABLE altranbi.e_kunden ASSELECT kundennummer, Umsatz FROM altranbi.kundenwert_200812 kWHEREkundennummer NOT IN (SELECT kundennummer FROM altranbi.a_kunden)ANDkundennummer NOT IN (SELECT kundennummer FROM altranbi.b_kunden)ANDkundennummer NOT IN (SELECT kundennummer FROM altranbi.c_kunden)ANDkundennummer NOT IN (SELECT kundennummer FROM altranbi.d_kunden)ORDER BY Umsatz DESC; /*Enthaelt alle Kunden mit Werteklasse, Umsatz und Kundennummer*/DROP TABLE altranbi.kundenwert;CREATE TABLE altranbi.kundenwert ASSELECT "A" AS Klasse, kundennummer, Umsatz FROM altranbi.a_kunden;INSERT INTO altranbi.kundenwertSELECT "B" AS Klasse, kundennummer, Umsatz FROM altranbi.b_kunden;INSERT INTO altranbi.kundenwertSELECT "C" AS Klasse, kundennummer, Umsatz FROM altranbi.c_kunden;INSERT INTO altranbi.kundenwertSELECT "D" AS Klasse, kundennummer, Umsatz FROM altranbi.d_kunden;INSERT INTO altranbi.kundenwertSELECT "E" AS Klasse, kundennummer, Umsatz FROM altranbi.e_kunden;reset outobs=;
Data PreparationKundenwertgenerierung mittels SQL /*Ordne den Kundendaten die passenden Umsaetze zu*/DROP TABLE altranbi.kundenwert12;CREATE TABLE altranbi.kundenwert12 ASSELECT * FROM altranbi.kunden_binary200812 kJOIN altranbi.kundenwert wON w.kundennummer = k.kundennummerORDER BY RANUNI(1234);/*Aufraeumen*/DROP TABLE altranbi.a_kunden;DROP TABLE altranbi.b_kunden;DROP TABLE altranbi.c_kunden;DROP TABLE altranbi.d_kunden;DROP TABLE altranbi.e_kunden;DROP TABLE altranbi.kundenwert_200812; SELECTa.Klasse,sum(a.Umsatz) AS SummeUmsatz,count(a.kundennummer) AS SummeKunden,sum(a.Umsatz) / UmsatzGesamt AS AnteilUmsatz,count(a.kundennummer) / KundenGesamt AS AnteilKunden,KundenGesamt,UmsatzGesamtFROM altranbi.kundenwert12 aCROSS JOIN (select sum(umsatz) AS UmsatzGesamt, count(kundennummer) AS KundenGesamt from altranbi.kundenwert12) bGROUP BY a.klasse;run;
Zukünftiger Kundenwert • Wahrscheinlichkeit für Abschluss? • > Assoziazionsanalyse • > Cross / Upselling • > möglicher zusätzlicher Kundenwert • >
… Data Understanding Data Preperation Modeling Assoziationsanalyse Clusteranalyse Prognosemodelle …
ModelingAssoziationsanalyse Teil der Aufgabenstellung: Entwickeln Sie jeweils ein Produktbezogenes Data-Mining-Modell zur Prognose von Cross-Selling-Abschlüssen auf die Produkte Linuskredit, Linusdepot, Linusgiro, Linuszins und Linusriester. Ziel der AnalyseEindruck darüber gewinnen, welche Produkte häufig gemeinsam genutzt werden.
ModelingVorbereitung der Daten für Assoziationsanalyse • Benötigter Datensatz: • Konten • Enthaltene Daten: • Kundennummer als ID • Produktnutzung (Kredit, Depot, Giro, Zins, Riester) binär 0 oder 1 • Vermögensausprägung (negativ, ausgeglichen, positiv) nominal -1, 0 oder 1 • Alter in 5 Stufen nominal • Kreditwürdigkeit (gut, schlecht, unbekannt) nominal • Beziehungsdauer • Kanal (Online, Filiale) binär
ModelingErgebnis Das Ergebnis der Analyse mit dem ermittelten Warenkorb. Hier zu sehen sind nur die Regeln, die auf der rechten Seite genau ein Ergebnis erzeugen.
ModelingFazit Häufig zusammen gekauft werden Zins, Depot und Riester in allen möglichen Kombinationen. Das macht auch Sinn, da alle drei Produkte im Kern Sparprodukte darstellen. Einen starken Lift erzeugen Riester-Produkte, die sowohl für Zins, als auch Zins in Kombination mit Giro oder Depot häufig nachgefragt werden. Diese Produkte werden jedoch vergleichsweise selten verkauft.Handlungsmöglichkeiten: Kunden, die bereits ein oder mehrere Produkte besitzen, könnten entsprechend interessiert sein an den ermittelten Kombinationen. So bietet es sich an, Besitzer von Zins, die noch über kein Depot verfügen, ein Produktangebot vorzubereiten bzw. Depot-Besitzern auch Linuszins anzubieten.
… Data Understanding Data Preperation Modeling Assoziationsanalyse Clusteranalyse Prognosemodelle …
ModelingClusteranalyse Teil der Aufgabenstellung:Entwickeln Sie jeweils ein Produktbezogenes Data-Mining-Modell zur Prognose von Cross-Selling-Abschlüssen auf die Produkte Linuskredit, Linusdepot, Linusgiro, Linuszins und Linusriester. Ziel der Analyse Eindruck über die Kundenstruktur gewinnen. Gibt es typische Nutzergruppen, die ähnliche Eigenschaften aufweisen?
ModelingClusteranalyse • Benötigter Datensatz: Kunden_binary200812 • Enthaltene Daten: • Kundennummer als ID • Produktnutzung (Kredit, Depot, Giro, Zins, Riester) binär 0 oder 1 • Vermögensausprägung (negativ, ausgeglichen, positiv) nominal -1, 0 oder 1 • Alter in 5 Stufen nominal • Kreditwürdigkeit (gut, schlecht, unbekannt) nominal • Beziehungsdauer • Kanal (Online, Filiale) binär
ModelingClusteranalyse Nachdem der Clusternode keine zufriedenstellenden Ergebnisse hervorbrachte, kam der SOM-/Kohonen-Node zum Einsatz.Vorgehen: Sampling-Node mit Simple-Random (12345) als Starteinstellung und 4x6 Clustern. Anschließend Beobachtung des Distance-Plots auf eine gleichmäßige Verteilung der Cluster und Prüfung der Clusterhäufigkeit in den Statistics. Schrittweise Reduzierung der Clusterzahl brachte bei 2x3 Clustern das erste gute Ergebnis, bei dem die Cluster gut verteilt waren und keine Häufung mehr auftrat. Als wichtige Variablen zeigt sich stets die Beziehungsdauer, die Vermögensausprägung, Giro, Depot, Zins, Kredit.