Enablement-style demo showing how to model customer churn using Salesforce Data Cloud (DMOs + Calculated Insights), explain predictions with Einstein Discovery, and tell the story in CRM Analytics (Tableau CRM). Data is fully synthetic.
flowchart LR
A[Data Sources (CSV)] --> B[Data Cloud DLOs]
B --> C[DMOs: Customer, Account, Transaction]
C --> D[Calculated Insights (features per customer)]
D --> E[Einstein Discovery Model (churn + drivers)]
E --> F[CRM Analytics Dashboard (FS 360)]
F --> G[Action Plan (Next-Best Action)]
See: assets/architecture.mmd
financial-services-360-data-cloud-ai/
├── README.md
├── requirements.txt
├── .gitignore
├── data/ # synthetic CSVs
├── notebooks/
│ ├── 01_generate_synthetic_data.ipynb
│ └── 02_feature_engineering.ipynb
├── datacloud/
│ ├── calculated_insights.sql
│ └── dmo_relationships.md
├── ed/
│ ├── training_dataset.csv
│ ├── scoring_dataset.csv
│ └── model_readme.md
├── crm_analytics/
│ ├── dashboard_spec.md
│ └── screenshots/
└── assets/
└── architecture.mmd
python -m venv .venv
# Windows: .venv\Scripts\activate
source .venv/bin/activate
pip install -r requirements.txt
jupyter notebookOpen notebooks/01_generate_synthetic_data.ipynb and run all cells.
CSV outputs land in /data.
- Create Data Streams from
/data/*.csv - Define DMOs:
Customer(Profile),Account(Profile Object),Transaction(Event) - Relationships: Customer 1-* Account 1-* Transaction
- Run Calculated Insights (
datacloud/calculated_insights.sql) → produces feature table per customer
- Train model with target
churn_90dusing/ed/training_dataset.csv - Capture top drivers and reason codes; add notes in
ed/model_readme.md
- Build an exec dashboard per
crm_analytics/dashboard_spec.md - Add screenshots to
crm_analytics/screenshots/
High-fee, low-tenure, low-balance customers are 2.3× more likely to churn. Prioritize fee reversal outreach and savings cross-sell for retention.
See /databricks/ for a PySpark notebook that computes the same features at scale in Databricks Community Edition.
See /tableau/ for steps to create a lightweight executive dashboard using a sample CSV.
Primary wrangling is done in Python (pandas notebooks). The Databricks path demonstrates PySpark for scale.