> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sequenzy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Predictive Analytics

> Per-customer predictions - predicted spend, churn risk, and expected next order date - computed from your store's order history

Sequenzy computes per-customer predictions from your commerce order history:
how much each customer is likely to spend over the next 12 months, how likely
they are to churn, and when their next order is expected. Predictions refresh
nightly and after each store sync, and they power segments, automations, and
the subscriber profile.

Predictions work with any commerce order source - Shopify, WooCommerce, or
the [Commerce API](/concepts/custom-commerce) - because they are computed
from provider-neutral `ecommerce.order_placed` events.

## Prediction attributes

Each scored customer gets these subscriber attributes. You can filter on them
anywhere attributes work: segments, campaign targeting, and the API.

| Attribute              | Type   | Meaning                                                                                                                     |
| ---------------------- | ------ | --------------------------------------------------------------------------------------------------------------------------- |
| `predictedLtv`         | number | Predicted spend over the next 12 months, in your store currency                                                             |
| `churnRisk`            | number | Churn risk percent (0-95, in steps of 5)                                                                                    |
| `expectedNextOrderAt`  | date   | When the next order would typically arrive if one is coming (`YYYY-MM-DD`) - `churnRisk` reflects how likely that is at all |
| `avgDaysBetweenOrders` | number | Typical days between this customer's orders                                                                                 |
| `predictionConfidence` | text   | `low`, `medium`, or `high`                                                                                                  |
| `predictionsUpdatedAt` | date   | When the values last changed                                                                                                |

Because predictions are ordinary subscriber attributes, they appear on the
subscriber profile, in attribute autocomplete, and in subscriber responses
from the [API](/api-reference/subscribers/get), the CLI
(`sequenzy subscribers get`), and the MCP `get_subscriber` tool - no special
endpoints needed.

<Note>
  Prediction attributes are managed by Sequenzy. You can read and filter on them
  freely, but manual edits are overwritten by the next nightly refresh.
</Note>

## How the model works

The model is deliberately explainable rather than a black box:

* **Expected reorder interval** blends the customer's own median gap between
  orders with your store's median. A customer with four or more observed gaps
  is scored mostly on their own cadence; a one-order customer starts from the
  store's cadence.
* **Repeat probability** starts at your store's repeat-purchase rate for
  one-order customers and rises with every repeat order the customer places.
* **Churn risk** combines repeat probability with how overdue the customer is:
  the survival score halves for every expected interval that passes without an
  order.
* **Predicted spend** multiplies a blended average order value (personal
  history weighted against the store's predicted AOV) by the expected number
  of orders over the next year. It counts future spend only, so it can be
  lower than the customer's lifetime value - a customer who already spent
  $500 but is unlikely to reorder may show a predicted spend of $40.

<Note>
  A brand-new customer can show a high churn risk minutes after their first
  order. That is the store baseline, not a judgment of that customer: if only
  15% of your customers ever place a second order, every first-time buyer
  starts near 85% until a repeat purchase proves otherwise. The number drops
  sharply after a reorder, and the at-risk segment and automation events only
  pick customers up once they are actually past their expected next order
  date.
</Note>

Confidence is `high` for customers with 5+ orders, `medium` for 2-4, and
`low` for one-order customers - and never exceeds your store-level
[forecast confidence](/api-reference/analytics/metrics), which depends on how
much order history the store has.

## Eligibility

Predictions require the same baseline as the store-level commerce forecast: at
least 20 orders from 10 customers, 30 days of history, 3 repeat customers, and
an order in the last 45 days. Until your store qualifies, the Metrics
dashboard lists exactly what's missing.

## Predictive segments

Three predefined segments are available out of the box under Segments →
Templates:

* **At-risk customers** - `churnRisk >= 70` and `expectedNextOrderAt` before
  `today`, so first-time buyers who start at the store's baseline churn risk
  are not flagged until they actually miss their expected reorder window
* **Predicted VIPs** - `predictedLtv >= 200`
* **Due to reorder soon** - `expectedNextOrderAt` within the next 7 days

You can build your own with attribute filters, including relative dates - for
example `expectedNextOrderAt` before `today` targets everyone overdue for
their predicted reorder.

## Automation events

The nightly job emits two built-in events you can use as sequence triggers:

* **`ecommerce.reorder_window_missed`** - fires once per order cycle when a
  customer passes their expected next order date plus a grace period (25% of
  their interval, at least 3 days) without ordering. Ideal for winback
  sequences timed to each customer's actual buying cadence instead of a fixed
  delay.
* **`ecommerce.churn_risk_elevated`** - fires when a customer's churn risk
  crosses 70%. Ideal for at-risk offers before the customer is gone.

Both events carry `churnRisk`, `predictedLtv`, `orderCount`, `lastOrderAt`,
`expectedNextOrderAt`, and `currency` properties for use in email content and
conditional blocks.

<Note>
  Events only fire for crossings that happened in the last couple of days.
  Enabling predictions on a store with years of dormant customers never sends a
  burst of late winback automations.
</Note>

For product-specific reminders ("your protein powder should be running low"),
see [replenishment reminders](/integrations/shopify#replenishment-reminders) -
they complement the customer-level reorder prediction.

## Store-level forecasts

The Metrics dashboard also shows store-level predictions - predicted AOV,
12-month customer value, and expected 90-day revenue with confidence ranges.
Those are documented in the
[analytics API reference](/api-reference/analytics/metrics) and available via
`GET /api/v1/metrics`, `sequenzy stats`, and the MCP `get_stats` tool.
