This project contains the full workflow and documentation for engineering user-level behavioural features from transaction data and performing segmentation using K-Means clustering. It transforms raw transaction logs into interpretable behavioural, psychographic, and lifestyle features, and then identifies meaningful user segments through unsupervised learning.
Feel free to inspect each part, run it locally, and modify as needed. Click here to learn more about the project: dana-fc-us/assets/test.txt.
dana-fc-us
β
ββ data/
β ββ transactions.csv
β
ββ user_features_segmentation_code.ipynb
ββ user_features_segmentation_report.docx
ββ requirements.txt
user_features_segmentation_code.ipynb: A detailed jupyter noteboook containing the complete Python code for data cleaning, feature engineering, derived behavioural scoring, and user segmentation (K-Means + PCA visualization).user_features_segmentation_report.docx: A detailed analytical report explaining the reasoning, methodology, and findings for all engineered features and the segmentation results.
-
Make sure to have the prerequisites:
- Git
- Git Large File Storage
- Python
- Conda or venv
-
Clone the repository:
git clone https://github.com/verneylmavt/dana-fc-us.git cd dana-fc-us -
Create environment and install dependencies:
conda create --name dana-fc-us python=3.10 conda activate dana-fc-us pip install -r requirements.txt
-
Open the
user_features_segmentation_code.ipynbin Jupyter Notebook:jupyter notebook user_features_segmentation_code.ipynb
-
Run all cells sequentially from top to bottom
The notebook is designed so that each section depends on the previous one. -
Review outputs
-
Refer to the report
For interpretation, assumptions, and insights, readuser_features_segmentation_report.docx.