J'essaie de recréer le statut d'un client à un moment précis. Par exemple, chaque client possède de nombreux attributs qui peuvent changer à tout moment (par exemple, le score de risque, la facturation à ce jour, la satisfaction du client).
Chaque fois qu'un client soumet une demande de crédit, j'aimerais voir la valeur de toutes ces caractéristiques au moment de la soumission. Par la suite, je souhaite utiliser ces valeurs pour développer un modèle prédictif.
Ma première idée a été de créer une dimension de type 2 à évolution lente avec des dates/horaires d'effet et d'expiration et d'utiliser une jointure semi-ouverte time_effective <= date_of_application < time_expired.
Cependant, la plupart de ces attributs sont des dimensions comportementales qui nécessitent des calculs compliqués à l'aide de données historiques provenant de tables de faits. En outre, les valeurs calculées ne peuvent pas être regroupées en utilisant des fourchettes (0-500 $, 500-750 $, etc.). Le suivi de tous ces attributs pour chaque dimension fait exploser le système. Remarque : certaines valeurs changent quotidiennement, d'autres changent à des moments arbitraires.
Mon extrait de données idéal serait le suivant :
- Numéro d'identification pour la demande de crédit
- Date de soumission
- Valeur de l'attribut 1 au moment de la soumission
- Valeur de l'attribut 2...
- Valeur de l'attribut N
Outre les demandes de crédit, il existe d'autres tables de faits dans lesquelles je souhaite trouver les caractéristiques en vigueur au moment de l'événement.
Quelles sont les recommandations en la matière ? Je vois plusieurs approches :
- Permettre à la dimension d'exploser
- Créer des tables distinctes ayant un ou plusieurs attributs et interroger séparément les tables particulières ayant les attributs qui m'intéressent.
- Ajouter une colonne à la table des faits des demandes de crédit qui contient un "instantané" de tous les attributs qui m'intéressent.
Certaines de ces questions sont abordées dans le livre ETL Toolkit de Kimball (pp 190-192) et dans son livre Data Warehouse Toolkit (187-191). Aux pages 154-157, il y a une discussion sur "l'évolution rapide des dimensions des monstres" qui semble très pertinente. Pourtant, j'ai du mal à mettre en œuvre ces recommandations.