Guide: build a churn-risk segment from a computed trait
Turn a churn score into an actionable segment you can preview, save and feed straight into a win-back journey.
Predictive scores are only useful once they're a segment you can act on. Here's the shortest path from score to send.
1. Confirm scoring is running
curl https://api.wezend.com/v1/ml/summary \
-H "X-API-Key: $WEZEND_API_KEY"
If you haven't configured the optional ML sidecar, this still works — scores come from the built-in heuristic fallback instead of a trained model. Either way, every contact gets an ml_churn_score.
2. Preview the segment before saving it
curl -X POST https://api.wezend.com/v1/segments/preview \
-H "X-API-Key: $WEZEND_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "rules": [{ "field": "trait:ml_churn_score", "op": "gt", "value": 0.7 }] }'
This returns a live count with nothing saved yet — adjust the threshold until the segment size matches what your team can realistically act on.
3. Save it
POST /v1/segments with the same rule set persists it and starts keeping membership current in real time as scores update.
4. Point a journey at it
Set the segment as a segment_enter trigger on a journey (see Building a journey) — reuse the Win-back Lapsed Customers template as a starting point, or build a custom one. From here, a contact crossing into high churn risk enrolls automatically; nothing needs to poll the score.
Keep it honest
Because trait:ml_churn_score is just a computed trait, it composes with any other rule — combine it with plan or lifetime_value to target only the segment worth the retention spend, instead of every at-risk contact indiscriminately.