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



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 using LabelEncoder.

  • 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:

    1. AUM (35%)

    2. Income (25%)

    3. Investment Frequency (15%)

    4. Risk Score (13%)

    5. 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.