/api/propensity_respond_campaignX-Customer-Api-Id: <uuid>
X-Secret: <secret>
Content-Type: application/json
{
"campaign_id": "string", // required
"customers": [ // required
{
"customer_id": "string", // required
"features": { // required: flat numeric/categorical vector (≤50 attrs)
"<feature_name>": 123,
...
},
"label_respond": 0|1 // optional: ground-truth (1 if responded historically)
}
]
}
{
"campaign_id":"Spring-Promo-2025",
"customers":[
{
"customer_id":"C-2001",
"features":{
"email_click_rate":0.22,
"sms_opt_in":1,
"purchases_last_90d":3
},
"label_respond":0
},
{
"customer_id":"C-2002",
"features":{
"email_click_rate":0.05,
"sms_opt_in":0,
"purchases_last_90d":0
}
}
]
}
{
"predictions":[
{
"customer_id":"C-2001",
"probability":null,
"propensity_tier":"Very Low",
"interpretation":"Very low propensity – deprioritise in current cycle."
},
{
"customer_id":"C-2002",
"probability":null,
"propensity_tier":"Very Low",
"interpretation":"Very low propensity – deprioritise in current cycle."
}
],
"model_info":{
"note":"not enough labelled rows to train (need ≥20 & both classes)"
}
}
Forecast each customer’s likelihood to open/click/purchase when you send a specific campaign, returning calibrated probabilities and five-tier propensity labels for precise audience trimming, discount allocation, and incremental lift measurement.
• Audience Trimming: Send only to Medium–Very High tiers to protect deliverability • Discount Allocation: Full coupons to top deciles; suppress Very Low to save cost • Channel Mix: SMS for High & Very High; cheaper channels for Medium; suppress Very Low • Hold-out Testing: Reserve a subset of Very High tier to measure true incremental ROI
← Back to all routes