# Predict churn before customers leave

> Source: <https://github.com/team-telnyx/telnyx-code-examples/tree/main/ai-customer-churn-predictor-python>
> Published: 2026-06-29 22:06:59+00:00

| name | ai-customer-churn-predictor | |
|---|---|---|
| title | AI Customer Churn Predictor | |
| description | AI Customer Churn Predictor - analyze call/message patterns via Telnyx APIs, AI predicts churn risk and suggests interventions. | |
| language | python | |
| framework | flask | |
| telnyx_products |
|

AI Customer Churn Predictor - analyze call/message patterns via Telnyx APIs, AI predicts churn risk and suggests interventions.

**AI Inference**:`POST /v2/ai/chat/completions`

-[API reference](https://developers.telnyx.com/api/inference/chat-completions)

```
  API Request
        │
        ▼
  ┌──────────────────┐
  │ Your App          │
  └────────┬─────────┘
           │
           ├──► Telnyx AI Inference
           │
           ├──► Classification / triage
           │
           ▼
     JSON response
```

Copy `.env.example`

to `.env`

and fill in:

| Variable | Type | Example | Required | Description | Where to get it |
|---|---|---|---|---|---|
`TELNYX_API_KEY` |
`string` |
`KEY0123456789ABCDEF` |
yes |
Telnyx API v2 key |
|

`AI_MODEL`

`string`

`moonshotai/Kimi-K2.6`

[Portal](https://developers.telnyx.com/docs/inference/models)`PORT`

`integer`

`5000`

```
git clone https://github.com/team-telnyx/telnyx-code-examples.git
cd telnyx-code-examples/ai-customer-churn-predictor-python
cp .env.example .env    # ← fill in your credentials
pip install -r requirements.txt
python app.py           # starts on http://localhost:5000
```

Triggers predict

```
curl -X POST http://localhost:5000/predict \
  -H "Content-Type: application/json" \
  -d '{}'
```

**Response:**

```
{
  "id": "item-1750280400",
  "status": "created",
  "created_at": "2026-07-15T14:30:00Z"
}
```

Triggers batch

```
curl -X POST http://localhost:5000/predict/batch \
  -H "Content-Type: application/json" \
  -d '{}'
```

**Response:**

```
{
  "id": "item-1750280400",
  "status": "created",
  "created_at": "2026-07-15T14:30:00Z"
}
```

Returns predictions

```
curl http://localhost:5000/predictions
```

**Response:**

```
{
  "items": [
    {
      "id": "item-001",
      "status": "active",
      "created_at": "2026-07-15T14:30:00Z"
    }
  ]
}
```

Returns health

```
curl http://localhost:5000/health
```

**Response:**

```
{
  "status": "ok",
  "uptime_seconds": 3842,
  "active_sessions": 2,
  "version": "1.0.0"
}
```

| Issue | Cause | Fix |
|---|---|---|
`401 Unauthorized` |
Invalid or missing API key | Verify `TELNYX_API_KEY` in `.env` matches your key in the
|
| Webhook not received | Local server not publicly reachable | Expose it with a tunnel (e.g. ngrok) and set the webhook URL in the
|

`422 Unprocessable Entity`

[AI After Hours Emergency Triage (Python)](https://raw.githubusercontent.com/team-telnyx/telnyx-code-examples/main/ai-after-hours-emergency-triage-python/README.md)[AI Assistant Knowledge Base (Python)](https://raw.githubusercontent.com/team-telnyx/telnyx-code-examples/main/ai-assistant-knowledge-base-python/README.md)[AI Assistant Multi Tool (Python)](https://raw.githubusercontent.com/team-telnyx/telnyx-code-examples/main/ai-assistant-multi-tool-python/README.md)[AI Assistant Phone Setup (Python)](https://raw.githubusercontent.com/team-telnyx/telnyx-code-examples/main/ai-assistant-phone-setup-python/README.md)[AI Audiobook Narrator (Python)](https://raw.githubusercontent.com/team-telnyx/telnyx-code-examples/main/ai-audiobook-narrator-python/README.md)

Telnyx is an **AI Communications Infrastructure** platform - voice, messaging, SIP, AI, and IoT on one private, global network.
