This is my attempt to build a recommendation system to subscribers for membership tiers (Premium, Platinum, Titanium) for Range, a Wealth Management Platform, we can approach it using machine learning classification or clustering techniques, depending on whether you have labeled training data or not.
Here is the Web App I developed: https://wealth-tier-selector-yzhao164.replit.app
Here is the github page: https://github.com/emilyzdata/Recommendation-System/tree/main
Assumptions:
You have subscriber data (e.g., income, assets under management, investment frequency, risk tolerance, etc.).
Each subscriber can be recommended one of the membership tiers.
Step by step summary:
1. Data Preparation
Goal: Simulate or collect data relevant to wealth management subscribers to model their membership tier.
Process:
Simulated a dataset of 500 subscribers.
Variables included:
age
: age of the client.income
: annual income.aum
: assets under management.risk_score
: a numerical representation of investment risk tolerance.investment_freq
: number of investments per year.current_membership
: labeled tier (Premium, Platinum, Titanium).
Insight:
This diverse and relevant feature set reflects the behavior and profile of different subscribers in a wealth management ecosystem.
2. Exploratory Data Analysis (EDA)
Goal: Understand the distribution of current memberships and how subscriber traits vary.
Visuals Generated:
A count plot showing distribution among Premium, Platinum, and Titanium tiers.
Premium: 40%
Platinum: 35%
Titanium: 25%
Insight:
This imbalance is important to consider when training the model to avoid bias.
3. Data Preprocessing
Goal: Prepare the data for machine learning models.
Process:
Encoded
current_membership
usingLabelEncoder
.Scaled features using
StandardScaler
for consistent input distribution.Split into training and testing sets (80/20).
Insight:
Preprocessing ensures that model performance is not skewed due to value magnitude differences or class imbalance.
4. Model Training
Goal: Train a predictive model to classify new users into the appropriate membership tier.
Model Used: RandomForestClassifier
(100 trees)
Why Random Forest?
Handles nonlinear relationships.
Resistant to overfitting.
Handles categorical and numerical data well.
5. Model Evaluation
Metrics Used:
Confusion Matrix
Classification Report (Precision, Recall, F1-score)
Result (example):
Accuracy >85% (based on simulation)
Good balance across classes
Insight:
The model performs well in distinguishing between tiers based on the selected features.
6. Feature Importance Analysis
Goal: Understand what features are driving predictions.
Visual Generated:
Bar plot showing most important predictors:
AUM (35%)
Income (25%)
Investment Frequency (15%)
Risk Score (13%)
Age (12%)
Insight:
Financial capacity (AUM and income) and investment behavior are critical to determining the right membership tier.
7. Making Predictions
Goal: Recommend a membership tier for a new subscriber.
Example Input:
Age: 50
Income: 180,000
AUM: 950,000
Risk Score: 7
Investment Frequency: 15/year
Predicted Tier: Titanium
Insight:
A high AUM and frequent investment behavior align with high-tier recommendations like Titanium.