Next Best Channel (NBC)

This page outlines the MaxAI's Next Best Channel to enhance customer targeting for improved marketing performance.

The Next Best Channel (NBC) model identifies the most effective communication channel for each customer based on demographics, banking behavior, device preferences, and previous marketing interactions. It helps optimize customer engagement and improve conversion rates across channels like WhatsApp, Email, SMS, IVR, Push Notifications, and more.

MaxAI helps interpret the model's predictions. This includes:

  • SHAP (SHapley Additive exPlanations): To identify how each feature contributed to the predicted channel.
  • Force and Waterfall Plots: For individual predictions – showing positive and negative feature impact.
  • Bar Charts of Feature Importance: To understand which features globally influence channel selection across customers.
  • These visualizations are available via Single Prediction Explanation Report (HTML) and Batch Prediction Explanation Report (PDF).

Key Features

  • Channel Affinity Prediction: AI-driven model analyzes demographics, banking behavior, device preferences, and campaign history.
  • Dynamic Channel Selection: Automatically selects from Email, SMS, WhatsApp, ATM-CP, and more.
  • Personalized Engagement: Tailors outreach strategy per customer.

Key Output

The model predicts a single best-fit channel per customer and provides a confidence score (probability) along with alternative ranked channels. For more information about channel recommendation output, refer MAX AI predictions.

API Overview

Each endpoint allows interaction with different parts of the NBC system — including fetching features, uploading data, retraining the model, making predictions, and monitoring model health

Get Model Features

Retrieve a list of features used for training.

  • URL: /AION/AI091_1/get_features.
  • Method: GET
  • Input: None
  • Output Example:
     { "feature1": "Value", "feature2": "Value", "feature3": "Value" }

Upload File for Retraining

Upload a new dataset for retraining the NBC model to provide updated data if customer behaviors or market dynamics change.

  • URL: /AION/AI091_1/file_upload.
  • Method: POST
  • Input: File (CSV)
  • Output Example:
     { "trainingDataLocation": "/server/path/to/file.csv", "currentDataLocation": "/app/AION/data/preprocesseddata.csv" }

Retrain the Model

Retrain the NBC model using a newly uploaded dataset to improve model accuracy with updated customer data.

  • URL: /AION/AI091_1/retrain
  • Method: POST
  • Input: File (CSV)
  • Output Example:
    { 
    "status": "SUCCESS", 
    "model_information": { ... }, 
    "evaluation_metrics": { ... }, 
    "classification_report": { ... }, 
    "confusion_matrix": [ ... ] 
    }

Prediction with Explainable AI

Perform predictions and generate a HTML file containing feature importance visualizations with explainable results.

  • URL: /AION/AI091_1/xplain_prediction
  • Method: POST
  • Input: File (CSV)
  • Output Example: Returns an HTML file (xplainprediction.html) containing feature importance visualizations like such as bar charts showing feature importance, and information about the model, data.

Model Explainability Report (HTML)

Generate an HTML visual report explaining model behavior to understand internal model decision logic.

  • URL: /AION/AI091_1/xplain_model.
  • Method: POST
  • Input: None
  • Output: HTML File (xplainmodel.html).

Data Drift Monitoring

Detect data drift between training and production data to ensure prediction reliability over time.

  • URL: /AION/AI091_1/monitoring.
  • Method: POST
  • Input: JSON Payload (MonitoringSchema).
  • Output: HTML Report (my_report.html) and JSON Summary.
Note: Return only download link or file path in the response metadata and avoid the full HTML content in the response.

Model Performance Monitoring

Compare model performance across datasets and generate an HTML report to continuous evaluation of model effectiveness.

  • URL: /AION/AI091_1/performance
  • Method: POST
  • Input: JSON payload
  • Output: HTML performance report
Note: Return only download link or file path in the response metadata and avoid the full HTML content in the response.

Prediction Example

Prediction Input Example:

{
  "UN_ENC_CUST_ID": "encstyp1003893548oh",
  "AGE": "55",
  "GENDER": "Male",
  "COMU_CITY": "Bhubaneswar",
  "COMU_STATE": "Odisha",
  "COMU_COUNTRY": "India",
  "NUM_DEVICES_USED": "2",
  "NUM_PRODUCTS_HELD": "2",
  "HAS_CREDIT_CARD": "0",
  "HAS_DEBIT_CARD": "0",
  "ACTIVE_ACCOUNT_TYPES": "2",
  "DEVICE_PREFERENCE": "Tablet",
  "OS_PREFERENCE": "iOS",
  "DEVICE_BRANDS": {
    "Apple": "0",
    "Motorola": "0",
    "OnePlus": "0",
    "Oppo": "0",
    "Other": "1",
    "Realme": "0",
    "Samsung": "0",
    "Vivo": "0",
    "Xiaomi": "1",
    "nan": "0"
  },
  "CARD_TYPES": {
    "Credit Cards": "0",
    "Debit Cards": "0",
    "nan": "2"
  },
  "CARD_VARIANTS": {
    "Amazon": "0",
    "E_Bay": "0",
    "Flipkart": "0",
    "Myntra": "0",
    "Paytm": "0",
    "nan": "2"
  },
  "total_campaigns_sent": "16",
  "total_conversions": "5",
  "total_cost": "0.21",
  "total_revenue": "1576912",
  "avg_conversion_rate": "0.31",
  "avg_response_time": "318600",
  "avg_recency": "171",
  "avg_cost_per_campaign": "0.01",
  "avg_revenue_per_campaign": "98557",
  "avg_campaign_success_rate": "0.31",
  "first_response_time": "2024-08-10",
  "last_response_time": "2024-08-18",
  "avg_product_engagement_rate": "0.31",
  "most_successful_channel": "CRB",
  "channel_revenue": {
    "ATM-CP": "0",
    "CRB": "0",
    "CRM": "0",
    "Email_Deliver": "0",
    "Email_Netcore": "0",
    "Fallback_SMS_Karix": "542517",
    "IVR": "439195",
    "PUSH": "160921",
    "RCS_Karix": "0",
    "SMS_Deliver": "434279",
    "SMS_Karix": "0",
    "WhatsApp": "0"
  },
  "channel_counts": {
    "ATM-CP": "0",
    "CRB": "1",
    "CRM": "2",
    "Email_Deliver": "1",
    "Email_Netcore": "0",
    "Fallback_SMS_Karix": "2",
    "IVR": "1",
    "PUSH": "2",
    "RCS_Karix": "1",
    "SMS_Deliver": "5",
    "SMS_Karix": "0",
    "WhatsApp": "1"
  },
  "product_counts_by_channel": {
    "ATM-CP": "0",
    "CRB": "1",
    "CRM": "2",
    "Email_Deliver": "1",
    "Email_Netcore": "0",
    "Fallback_SMS_Karix": "2",
    "IVR": "1",
    "PUSH": "2",
    "RCS_Karix": "1",
    "SMS_Deliver": "5",
    "SMS_Karix": "0",
    "WhatsApp": "1"
  },
  "prediction": "ATM-CP",
  "probability": "0.51",
  "remarks": {
    "ATM-CP": 0.51,
    "CRB": 0.25,
    "CRM": 0.13,
    "Email_Deliver": 0.08,
    "Email_Netcore": 0.03,
    "Fallback_SMS_Karix": 0.01,
    "IVR": 0.0,
    "PUSH": 0.0,
    "RCS_Karix": 0.0,
    "SMS_Deliver": 0.0
  }
}

Prediction Output Example:

{
  "predicted_best_channel": "ATM-CP",
  "confidence_score": 0.51,
  "alternative_channels": {
    "ATM-CP": 0.51,
    "CRB": 0.25,
    "CRM": 0.13,
    "Email_Deliver": 0.08,
    "Email_Netcore": 0.03,
    "Fallback_SMS_Karix": 0.01,
    "IVR": 0.0,
    "PUSH": 0.0,
    "RCS_Karix": 0.0,
    "SMS_Deliver": 0.0
  }
}

Model Fairness and Ethics:

  • The model uses synthetic data to avoid bias and protect real customer identities during training.
  • No personally identifiable information (PII) is used in decision-making.
  • Features like Gender and Age are monitored for fairness and non-discriminatory behavior.