Dieses Projekt wurde im Rahmen der Data SmartPoint Academy erstellt.
Ziel war es, mithilfe von SQL reale Kreditrisikodaten zu analysieren, aufzubereiten und um Entscheidungsregeln sowie Triggermechanismen zu erweitern.
Das Ziel war es, SQL nicht nur analytisch, sondern auch prozessorientiert einzusetzen – vom Datenimport über Bereinigung und Bewertung bis hin zur Automatisierung mit Triggern.
Das Projekt zeigt ein solides Verständnis von Datenqualität, Entscheidungslogik und Schutzmechanismen in relationalen Datenbanksystemen.
Die Analyse basiert auf einem strukturierten Kreditrisiko-Datensatz mit folgenden Informationen:
- Persönliche Merkmale (z. B. Alter, Einkommen, Hausbesitz)
- Kreditbezogene Daten (Kreditsumme, Zinssatz, Kreditwürdigkeit)
- Historische Ausfallraten und Kreditvergangenheit
- Informationen zum Kreditstatus und zur Belastung
Der Datensatz wurde vollständig ins Deutsche übersetzt, um die Lesbarkeit und Nachvollziehbarkeit zu verbessern.
Im Rahmen der Vorverarbeitung wurden mehrere Maßnahmen zur Qualitätskontrolle und Datenstrukturierung umgesetzt:
- Umbenennung aller Spalten ins Deutsche
- Hinzufügen eines Primärschlüssels
kredit_id - Entfernen von Duplikaten über mehrere Merkmale
- Ausschluss unrealistischer Alterswerte (z. B. > 80 Jahre)
- Prüfung und Korrektur der Arbeitsjahre im Verhältnis zum Alter
Diese Schritte dienten als Grundlage für saubere Analysen und die spätere Entscheidungslogik.
Die Analyse erfolgte direkt per SQL und umfasste unter anderem:
- Ausfallraten je Bonitätsklasse
- Durchschnittlicher Zinssatz nach Kreditwürdigkeit
- Ausfälle im Vergleich von Eigentum vs. Miete
- Kredite mit hoher Belastung (> 50 % vom Einkommen)
- Kategorisierung von Zinssätzen in Risikogruppen
- Entwicklung eines vereinfachten Risiko-Scores:
Zinssatz × Kreditsumme ÷ Einkommen
Zur Bewertung der Kreditwürdigkeit wurden nachvollziehbare Regeln definiert, darunter:
- Ablehnung bei niedrigem Einkommen oder zu hoher Kreditsumme
- Genehmigungsbonus bei langer positiver Kreditvergangenheit
- Risikobasierte Ablehnungen je nach Bonität, Zinssatz oder Wohnsituation
Diese Logik bildete die Grundlage für die automatisierte Entscheidungsfunktion.
Über die ursprüngliche Aufgabenstellung hinaus wurden eigene Erweiterungen eingebaut, um Triggerfunktionen und Datenkonsistenz abzusichern.
- Neue Tabelle
kredit_entscheidungenzur Protokollierung von Kreditentscheidungen - Ein
AFTER INSERT-Trigger entscheidet automatisch über Genehmigung oder Ablehnung basierend auf definierten Regeln - Zwei zusätzliche Schutz-Trigger sorgen für Integrität:
- 🔒 Keine nachträgliche Änderung des Kreditstatus
- 🔒 Keine Umwandlung einer Ablehnung in eine Genehmigung
Diese Logiken sorgen dafür, dass Entscheidungen nachvollziehbar und nicht manipulierbar bleiben.
Der verwendete Datensatz wurde im Rahmen einer Schulung zur Verfügung gestellt und basiert auf öffentlich zugänglichen Übungsdaten von Kaggle.
Aus lizenzrechtlichen Gründen wird der Datensatz in diesem Repository nicht veröffentlicht.
Nicht jeder Datensatz ist perfekt – und auch ich bin es (noch) nicht.
Ein paar kleinere Unstimmigkeiten wurden bewusst nicht bereinigt, weil sie Teil meiner Lernreise sind.
Sie zeigen: Analyse bedeutet nicht nur Technik, sondern auch Urteilsvermögen.
Ich habe bewusst Spuren gelassen – denn wer alles sofort glattzieht, übersieht oft, wo die echten Aha-Momente stecken. 😄