Send Time Optimization (STO)

This page outlines the MaxAI's Send Time Optimization to enhance optimize communication channels and timing for improved marketing performance.

The Send Time Optimization (STO) Model enhances customer engagement and boost conversion rates by predicting the optimal time and channel to send marketing communications for each customer. By analyzing customer demographics, behaviors, device preferences, and historical engagement patterns, the model personalizes marketing strategies for improving open rates, click-through rates, conversions, and marketing ROI.

Key Features

  • Time-Based Personalization: Predicts the optimal send time for each user based on historical engagement.
  • Performance-Driven: Improves open rates, click-throughs, and conversions.
  • Automated Scheduling: Outbound messages are sent at the time users are most likely to engage.

Key Output

The model predicts the preferred contact time and preferred contact time probability to send communications to individual users. For more information about channel recommendation output, refer MAX AI predictions.

API Overview

Get Model Features

Fetch the list of input features used by the model (excluding the target feature).

  • Endpoint: /AION/AI092_1/get_features
  • Method: GET
  • Input: None
  • Output:
    {
                            "feature1": "Value",
                            "feature2": "Value",
                            "feature3": "Value"
                            }

Retrain Model

Retrain the machine learning model with a new dataset.

  • Endpoint:: /AION/AI092_1/retrain
  • Method: POST
  • Input: Upload a CSV file with the new training data.
  • Output:
    {
                                "status": "SUCCESS",
                                "model_info": {
                                "features_used": ["feature1", "feature2"],
                                "problem_type": "classification",
                                "model_name": "AI0261_1",
                                "target_feature": "Best_conversion_Time"
                                },
                                "evaluation_metrics": {
                                "Accuracy": 0.92,
                                "Precision": 0.90,
                                "Recall": 0.91,
                                "F1": 0.905,
                                "ROC_AUC": 0.94
                                },
                                "classification_report": {...},
                                "confusion_matrix": [...]
                                }

Prediction with Explainability

Perform batch predictions and return a HTML report containing feature importance visualizations.
  • Endpoint: /AION/AI092_1/xplain_prediction
  • Method: POST
  • Input: Upload a CSV file containing customer records.
  • Output: Returns an HTML file (xplainprediction.html) containing feature importance visualizations like such as bar charts showing feature importance, and information about the model, data.

Explain Model (HTML Report)

Generate an HTML visualization of model explainability.

  • Endpoint: /AION/AI092_1/xplain_model
  • Method: POST
  • Input: No direct input; uses configuration and model files internally.
  • Output: Returns an HTML file (xplainmodel.html) containing feature importance visualizations.

Drift Monitoring

Detect data drift between historical and incoming datasets.

  • Endpoint: /AION/AI092_1/monitoring
  • Method: POST
  • Input: JSON payload as per MonitoringSchema.
  • Output:
    {
                            "status": "SUCCESS",
                            "html_report_path": "/path/to/my_report.html"
                            }
Note: Return only download link or file path in the response metadata and avoid the full HTML content in the response.

Model Performance Monitoring

Generate a performance report based on current vs. production data.

  • Endpoint: /AION/AI092_1/performance
  • Method: POST
  • Input: JSON payload specifying currentDataLocation and trainingDataLocation.
  • Output:
    {
                            "status": "SUCCESS",
                            "html_report_path": "/path/to/performance.html"
                            }
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": "encstyp1000129421pr",
                        "Age": 45,
                        "Gender": "Female",
                        "City": "Jaipur",
                        "State": "Rajasthan",
                        "NUM_DEVICES_USED": 4,
                        "HAS_CREDIT_CARD": 0,
                        "HAS_DEBIT_CARD": 0,
                        "ACTIVE_ACCOUNT_TYPES": 2,
                        "DEVICE_PREFERENCE": "Tablet",
                        "OS_PREFERENCE": "iOS",
                        "Total_Campaigns_Received": 6,
                        "Total_Conversions": 6,
                        "Distinct_Channels_Used": 5,
                        "Total_Revenue": 243070,
                        "Overall_Response_Rate": 1.0,
                        "Overall_Conversion_Rate": 1.0,
                        "Most_Frequent_Response_Channel": "CRM",
                        "Most_Frequent_Conversion_Channel": "CRM",
                        "Mean_Channel_Campaigns": 1.2,
                        "Max_Channel_Campaigns": 2,
                        "Min_Channel_Campaigns": 1,
                        "Mean_Channel_Conversion_Rate": 1.0,
                        "Max_Channel_Conversion_Rate": 1.0,
                        "Min_Channel_Conversion_Rate": 1.0,
                        "Mean_Channel_Revenue": 48614.0,
                        "Max_Channel_Revenue": 106564,
                        "Min_Channel_Revenue": 4445,
                        "most_engaged_hour_day": 2,
                        "most_engaged_day": "Sunday",
                        "time_since_last_conversion": "196 days 17:52:02.560855",
                        "ATM-CP_best_time": 0,
                        "CRB_best_time": 0,
                        "CRM_best_time": 2,
                        "Email_Deliver_best_time": 2,
                        "SMS_Deliver_best_time": 18,
                        "SMS_Karix_best_time": 16,
                        "WhatsApp_best_time": 16,
                        "ATM-CP_best_day": "Unknown",
                        "CRM_best_day": "Monday",
                        "Email_Deliver_best_day": "Monday",
                        "SMS_Deliver_best_day": "Monday",
                        "SMS_Karix_best_day": "Monday",
                        "WhatsApp_best_day": "Monday",
                        "Best_conversion_Channel": "CRM",
                        "Best_conversion_Time": 2
                        }

Prediction Output Example

{
                        "predicted_best_channel": "ATM-CP",
                        "predicted_best_time": 2,
                        "confidence_score": 0.91,
                        "alternative_times": {
                        "3": 0.06,
                        "16": 0.01,
                        "0": 0.0,
                        "1": 0.0,
                        "4": 0.0,
                        "15": 0.0,
                        "17": 0.0,
                        "18": 0.0,
                        "19": 0.0,
                        "20": 0.0,
                        "21": 0.0,
                        "22": 0.0,
                        "23": 0.0
                        }
                        }