Skip to main content

Predictive Events

Predictive Events let you pick any event you track - a purchase, a subscription renewal, a churn signal - and train a machine-learning model that scores every user on how likely they are to perform that event within a window you choose. Scores range from 0 to 100 and can be turned directly into segments for targeting.

Navigate to Analytics → Predictive Events from the sidebar. This is the single home for both configuring predictions (add, train, delete) and viewing the resulting analytics.

How predictions work

For each predictive event you configure, Joryio trains an XGBoost classifier on your workspace's own event history: users who performed the event within the prediction window are the positive examples, users who didn't are the negative examples. The trained model then scores your whole audience with a 0-100 likelihood score.

Predictions are only as good as the data behind them, and they are not instant:

  • The model trains on real traffic. A brand-new workspace, or an event with little history, cannot produce meaningful scores yet. Keep sending events and the models improve as data accumulates.
  • Training requires both outcomes. The model needs at least some users who performed the event in the window and some who didn't. If nobody (or everybody) performed it, training fails with an explanatory error and no scores are produced.
  • Scores appear after training and scoring complete. Until the model has trained and scored your audience, the analytics page shows an honest empty state rather than placeholder numbers.

Once a model exists, it stays fresh automatically:

  • Daily re-scoring - every day (04:00 UTC) all users are re-scored with the existing model, so scores reflect recent behavior.
  • Weekly retraining - every Sunday (03:00 UTC) the model itself is rebuilt from the latest data, then all users are re-scored.

Adding a predictive event

  1. Click Add Prediction.
  2. Choose the Event to predict from your tracked event names (searchable).
  3. Pick a Prediction window - 7, 14, 30, 60, or 90 days. This is the horizon the score refers to: "how likely is this user to perform the event within N days".
  4. Optionally set a Label (for example "Likely to purchase") - this is the display name shown on the card and in generated segment names.
  5. Click Add.

Each event can only be configured once; adding a duplicate is rejected.

Training a model

A newly added prediction starts in the not trained state. Click Train on its card to start model training. Training runs in the background and typically takes a few minutes, depending on audience size.

Each card shows the model status:

StatusMeaning
not trainedConfigured, but no model exists yet
trainingA training job is running
trainedA model exists and users can be scored
failedThe last training attempt failed (for example, not enough data)

View Analytics on a card is enabled once the model is trained.

Reading the analytics

Click a card (or View Analytics) to open the detail page for that event. It shows likelihood scores for users to perform the event:

Summary cards

  • Total Users Scored - how many users have a score for this event.
  • Average Score - the mean likelihood score across scored users.
  • High Likelihood - users scoring 75 or above.
  • Low Likelihood - users scoring below 25.

Score Distribution

A histogram of scores across your audience, colored by range (green for 75+, amber for 50-74, red for 25-49, gray below 25). A healthy model usually shows a spread - most users at low scores with a smaller high-likelihood tail.

Audience Buckets

Users are grouped into four buckets by score:

BucketScore range
High75 - 100
Medium50 - 74
Low25 - 49
Very Low0 - 24

Each bucket card shows its user count and a Create Segment button.

Targeting by likelihood

Click Create Segment on any bucket to generate a segment of users in that likelihood bucket for this event. You are taken straight to the segment editor, where you can refine it further and then use it anywhere segments are used - campaign targeting, journey entry, exclusions.

Typical plays:

  • High likelihood to purchase - suppress discounts for users who would likely buy anyway, or fast-track them to checkout messaging.
  • Medium likelihood - the classic nurture audience; an incentive can tip them over.
  • Low / Very Low likelihood - exclude from expensive channels, or test win-back content.

The underlying likelihood value is also available as a segment filter (predictive event likelihood), so you can build your own conditions instead of starting from a bucket.

Deleting a prediction

Click the delete button on a card and confirm. This removes the predictive event configuration, and trained model data for it is lost. Recreating the same event later requires training again.

Troubleshooting

  • "No users performed the event in the last N days" - training needs positive examples inside the window. Pick a more common event or a longer window, or wait for more traffic.
  • Analytics page is empty after training - scoring may not have completed yet, or the audience had no usable feature data. Scores also refresh daily, so check back after the next scoring run.
  • Scores seem stale - scores are recomputed daily and the model is rebuilt weekly; a sudden behavior change shows up after the next run, not immediately.