/api/churn_label

Header
POST /api/v1/ai/churn_label
Content-Type: application/json
X-Customer-Api-Id: <uuid>
X-Secret: <secret>
Request Body Schema
{
  "business_type": "ecommerce|saas|prepaid",
  "data": [
    {
      "customer_id": "string",
      "snapshot_date": "YYYY-MM-DD",
      // ecommerce:
      "last_purchase_date": "YYYY-MM-DD",
      // saas:
      "subscription_cancelled": true|false,
      // prepaid:
      "balance_after_t": number,
      "topped_up_within_cycle": true|false,
      // extra fields ignored
    }
  ]
}
Example Request Body
{
  "business_type": "ecommerce",
  "data": [
    { "customer_id": "E-101", "snapshot_date": "2025-04-01", "last_purchase_date": "2024-12-15" },
    { "customer_id": "E-102", "snapshot_date": "2025-04-01", "last_purchase_date": "2025-03-20" }
  ]
}
Example Response Body
[
  { "customer_id": "E-101", "snapshot_date": "2025-04-01", "churned": 1 },
  { "customer_id": "E-102", "snapshot_date": "2025-04-01", "churned": 0 }
]
Description

Generate a binary churn label per customer snapshot using: - **ecommerce**: 90 days since last purchase - **saas**: subscription_cancelled = true - **prepaid**: zero balance & no top-up in cycle

Business Usage

• Build true/false datasets for `/api/churn_risk` • Automate “new churn” KPI tracking • Trigger retention campaigns exactly on churn event

← Back to all routes