Vorhersage | Kein Abschluss | Abschluss |
---|---|---|
Kein Abschluss | 0 EUR | 15 EUR |
Abschluss | -10 EUR | 100 EUR |
Fallstudie in Supervised Machine Learning
Vorhersage der Kundenreaktion auf Marketingkampagnen
1 Kontext
Eine Münsteraner Startup-Bank hat Marketingkampagnen durchgeführt, um Kunden zu gewinnen und bestehende Kunden zu weiteren Produkten zu animieren. Um die Effizienz zukünftiger Kampagnen zu steigern, möchte das Fintech ein Modell entwickeln, das vorhersagt, ob ein Kunde auf ein Marketingangebot positiv reagiert und ein Termingeldkonto abschließt.
Die Aufgabe für Sie und Ihr Team als externe Beratung besteht darin, ein Modell zu entwickeln, das die Wahrscheinlichkeit eines erfolgreichen Abschlusses eines Termingeldkontos basierend auf verschiedenen Kundeneigenschaften und bisherigen Marketingkampagnen vorhersagt.
2 Daten
Die Beschreibung der Datenbasis für Ihr Modell finden Sie in Abschnitt 5. Der für das Training der Modelle zu verwendene Datensatz (dataset.rds
) enthält Informationen zu den durchgeführten Marketingkampagnen, den demografischen Merkmalen der Kunden sowie den Ergebnissen der Kampagnen.
Bei der Erstellung des Klassifikationsmodells sollen folgende Kosten & Erträge berücksichtigt werden:
Die Tabelle zeigt, dass jeder korrekt identifizierte Abschluss eines Termingeldkontos durchschnittlich einen zusätzlichen Ertrag von 100 EUR für die Bank einbringt. Jeder Kunde, der tatsächlich abschließen würde, aber fälschlicherweise als “kein Abschluss” vorhergesagt wird und damit nicht angeschrieben wurde, bedeutet einen Gewinn von 15 EUR, da die Bank potenzielle Kunden nicht gezielt anspricht und nur 15% der Kunden ohne gezielte Ansparche das Produkt kauft.
Andererseits verursacht jeder Kunde, der als potenzieller Abschluss vorhergesagt wird, es aber nicht tut, Kosten von 10 EUR durch unnötige Marketingmaßnahmen (z. B. Anrufe oder Werbekosten).
Richtig vorhergesagte Kunden, die sich nicht für das Produkt entscheiden, verursachen weder Gewinn noch Verlust.
3 Aufgabenstellung
Ziel der Analyse ist es, mit Hilfe des Datensatzes (dataset.rds
) ein Modell zu trainieren, das dazu geeignet ist, die Wahrscheinlichkeit eines positiven Abschlusses eines Termingeldkontos vorherzusagen. Die Vorhersage Ihres Modells wird am Ende mit Hilfe eines weiteren Datensatzes überprüft, für den Sie die Zielvariable nicht kennen. Mit diesem Datensatz wird mittels der Gesamtkosten bzw. des Gesamtertrags bewertet, wie gut die Vorhersage Ihres Modells funktioniert. Das bedeutet, dass Sie sicherstellen müssen, dass beim Training Ihres Modells kein Overfitting vorliegt, da die Vorhersage auf neuen Datensätzen ansonsten zu schlechten Ergebnissen führen wird. Hierzu sollten Sie Ihren Datensatz in Trainings- und Testdaten aufteilen oder eine geeignete Resampling-Methode verwenden, um Overfitting zu vermeiden.
Gehen Sie dazu wie folgt vor:
- Verschaffen Sie sich einen Überblick und ein Verständnis der vorliegenden Daten durch deskriptive Analysen und grafische Darstellungen.
- Säubern Sie die Daten falls notwendig und leiten Sie neue “schlaue” Variablen her, die für die Vorhersagen genutzt werden können.
- Nutzen Sie die Ihnen bekannten geeigneten Klassifikationsalgorithmen und erstellen Sie Vorhersagen. Tunen Sie gegebenenfalls die Hyperparameter des Modells.
- Messen Sie die Güte des Modells bzw. vergleichen Sie die Güte der Modelle und wählen ein finales Modell. Nutzen Sie dazu statistische Kennzahlen, aber vor allem die Gesamtkosten bzw. den Gesamtertrag.
- Interpretieren Sie die Ergebnisse, d.h. u.a. ermitteln Sie, welche Merkmale sich gut zur Vorhersage eignen.
- Veranschaulichen Sie Ihre Ergebnisse durch Tabellen und Abbildungen und interpretieren Sie diese.
4 Format
Ihre Abgabe besteht aus folgenden Teilen:
4.1 R Code (40%)
Geben Sie den von Ihnen erstellten R Code zur Datenanalyse und Modellentwicklung sowie Vorhersage ab. Der Code sollte nur die relevanten Teile enthalten, welche die Ergebnisse in Ihrem Bericht erzeugen. Stellen Sie sicher, dass der Code sauber, nachvollziehbar, gut dokumentiert und vor allem auch lauffähig ist. Die aus dem Code resultierenden Ergebnisse sollten denen in Ihrem Bericht entsprechen.
4.2 Fallstudienbericht (40%)
Erstellen Sie gemeinsam in Ihrer Gruppe einen Bericht mit maximal 10 Seiten. Wie eine typische wissenschaftliche Arbeit, sollte dieser Bericht folgende Elemente enthalten:
- Titel: Name und Beschreibung des Berichts, Namen der Autorinnen und Autoren.
- Zusammenfassung/Executive Summary: Eine vollständige, aber sehr kurze Zusammenfassung des gesamten Berichts in 2-5 Sätzen (einschließlich der wesentlichen Ergebnisse/Erkenntnisse).
- Einleitung: Beschreibung der konkreten Fragestellungen und Ziele der vorliegenden Arbeit.
- Methodik: Beschreibung der verwendeten Methoden und Analyseschritte; sehr knapp, keine theoretischen Details.
- Ergebnisse: Präsentation der Ergebnisse der Analyse; diese sollten mit Hilfe von Tabellen und Abbildungen möglichst übersichtlich dargestellt werden (jede Abbildung oder Tabelle benötigt eine Beschriftung; diese wird bei Tabellen oben, bei Abbildungen unten angeführt; Tabellen und Abbildungen werden je fortlaufend nummeriert; im Text wird auf jede Tabelle und jede Abbildung mit der entsprechenden Nummer verwiesen).
- Diskussion/Ausblick: Beantwortung der Ausgangsfrage und Ausblick auf weitere mögliche Untersuchungen. Gehen Sie auch gerne auf Verbesserungspotentiale für das Modell ein und diskutieren Sie ethische Aspekte solch eines Vorhabens.
- Literaturverzeichnis: Falls Sie zusätzliche Quellen verwenden.
- Anhang: Nutzen Sie den Anhang für zusätzliche Abbildungen und Tabellen, welche in dem Bericht keinen Platz finden. Der Anhang darf über den vorgegebenen Umfang des Berichts hinausgehen.
4.3 Vorhersagen (20%)
Vor Abgabe der finalen Projektergebnisse sollen Sie entsprechend folgendem Plan Zwischenergebnisse über Teams einreichen. Diese Zwischenergebnisse sollen Ihre aktuellen Vorhersagen auf den entsprechenden Datensätzen wiedergeben.
Datum | Datensatz | Abgabe |
---|---|---|
04.04.2025 | prediction1.rds | Vorhersagen für prediction1.rds |
09.05.2025 | prediction2.rds | Vorhersagen für prediction2.rds |
16.05.2025 | prediction3.rds | Vorhersagen für prediction3.rds |
23.05.2025 | prediction4.rds | Vorhersagen für prediction4.rds, R-Code, Fallstudienbericht |
Die Güte Ihrer Vorhersagen wird zeitnah gemessen und auf dem Leaderboard angezeigt. Je nach dem wie gut Ihr Team abschneidet, können Sie Zusatzpunkte für Ihr Bewertung erlangen.
Für die Abgaben sämtlicher Vorhersagen erstellen Sie eine *.rds
Datei (mit dem Befehl saveRDS
), die einen Data Frame enthält. Dieser Data Frame enthält zwei Spalten: die in dataset.rds
enthaltene Spalte customer_id
und eine neu zu erstellende Spalte prediction
. Die Spalte prediction
enthält Ihre Vorhersage. Die Werte in dieser Spalte dürfen entweder no
(kein Abschluss) oder yes
(Abschluss eines Termingeldkontos) sein:
customer_id | prediction |
---|---|
4567833 | no |
14567834 | no |
14567835 | no |
14567836 | yes |
14567837 | no |
... | ... |
Achten Sie unbedingt auf das korrekte Format!
5 Merkmale des Datensatzes
Der bereitgestellte Datensatz (dataset.rds
) enthält die folgend aufgelisteten Spalten. Die Spalte y
enthält die abhängige Variable (ob der Kunde das Termingeldkonto abgeschlossen hat), alle übrigen Variablen sind als unabhängige Variablen zu verstehen.
Spalte | Aussage | Wertebereich |
---|---|---|
customer_id | Kunden-ID | Numeric |
age | Alter des Kunden | Numeric |
job | Berufstyp (z. B. Verwaltung, Techniker, Unternehmer) | Categorical |
marital | Familienstand | Categorical |
education | Bildungsniveau | Categorical |
default | Hat einen Kreditausfall (ja/nein) | Categorical |
housing | Hat einen Immobilienkredit (ja/nein) | Categorical |
loan | Hat einen Privatkredit (ja/nein) | Categorical |
contact | Art der Kontaktaufnahme | Categorical |
month | Monat des letzten Kontakts im Jahr | Categorical |
day_of_week | Wochentag des letzten Kontakts | Categorical |
duration | Dauer des letzten Kontakts | Numeric |
campaign | Anzahl der Kontakte während der Kampagne | Numeric |
pdays | Anzahl der Tage seit dem letzten Kontakt | Numeric |
previous | Anzahl der Kontakte vor dieser Kampagne | Numeric |
poutcome | Ergebnis der vorherigen Marketingkampagne | Categorical |
emp.var.rate | Veränderungsrate der Beschäftigung | Numeric |
cons_price_idx | Verbraucherpreisindex | Numeric |
cons_conf_idx | Verbrauchervertrauensindex | Numeric |
euribor3m | Euribor 3-Monats-Zinssatz | Numeric |
nr_employed | Anzahl der Beschäftigten | Numeric |
y | Zielvariable: ob der Kunde ein Termingeldkonto abgeschlossen hat (ja/nein) | {yes, no} |
6 Abgabe
Abgabe des Codes in Form eines *.R
Skripts und des Fallstudienberichts (als pdf per Word oder oder Quarto) über Teams bis zum 23.05.2025.
Bitte nutzen Sie für die Abgabe die Vorlage Abgabe_SupervisedMachineLearning_Team1.qmd
und ersetzen im Dateinamen ab123456
durch Ihre FH Kennung sowie im RMarkdown Dokument ebenfalls Ihren Namen und die Matrikelnummer.
7 Bewerungskriterien
Bewertet werden alle Teile der Abgabe nach folgenden Kriterien:
- Korrektheit der fachlichen Lösung und Umfang der durchgeführten Analysen
- Adäquater Einsatz und kritische Reflexion von Methoden und Werkzeugen aus den Vorlesungen
- Übersichtlichkeit und Nachvollziehbarkeit des eingereichten Codes
- Strukturierung, Gestaltung und fachliche Korrektheit des Codes
- Prognosegüten für die 4 Vorhersagen (Extrapunkte)