Event Propensity model

Event propensity is a predictive model that finds the likelihood that a customer performs a target event within the next 30 days.

Use event propensity modeling to associate individual customers to specific events that, depending on the type of event, are most likely to lead to engagement with your brand. Customers are grouped by audience size and by ranking.

Use cases

The event propensity model enables support for marketing campaigns that benefit from knowing a customer’s likelihood to perform a target event, including:

Customer ranking

Use customer ranking to define an audience using the top N customers. Use customer ranking as an alternate to recommended audience sizes when an audience is too large (or small) or if a recommended audience size is unavailable for a specific event.

The Ranking attribute in the Event Propensity table ranks customer scores by event. A rank that is less than or equal to X provides the top N customers with a propensity for this event. Combine this attribute with the Target Event attribute to build customer rankings for a specific target event. You can access this attribute directly from the segment editor.

Build an event propensity model

You can build event propensity models from the Predictive models page. Any database that has a Merged Customers table may be configured for event propensity modeling. Unlike churn propensity, predicted CLV, and product affinity, event propensity does not require the Unified Transactions or Unified Itemized Transactions tables. Instead, you select the event tables to use during model setup. You may build any number of event propensity models in a database.

Important

Event propensity models are highly configurable. The only table used by default is Merged Customers; every other input is an event table that you select during model setup. Unlike churn propensity, predicted CLV, and product affinity, event propensity does not require the Unified Transactions or Unified Itemized Transactions tables.

Each model predicts a single target event, such as a loyalty signup, a credit card signup, or a repeat booking. The target event table must have one row per event occurrence and must contain an amperity_id field and a date (or datetime) field.

Each model predicts the target event for one of two prediction audiences:

  • Repeat event: the likelihood that a customer who has already performed the event will perform it again (for example, repeat bookings).

  • One-time event: the likelihood that a customer who has never performed the event will perform it for the first time (for example, loyalty signups).

Input events provide the behavioral signal that the model learns from. Each input event table must have one row per event occurrence, must contain an amperity_id field and a date (or datetime) field, and must represent a single type of event. Use one table per event type. At least one input event is required for one-time-event models and is recommended for repeat-event models. Input events that include revenue data (for example, transactions or bookings) are especially valuable, and adding more input events generally improves predictions.

For each input event you may also configure:

  • A revenue field: a numeric field that captures the revenue generated by the event.

  • A realization date: for events where revenue is generated at one point in time but realized at another–such as a hotel booking (generation) versus the hotel stay (realization)–the date on which the revenue is realized. Supply both the event date and the realization date to the model.

  • Properties: string fields that the model uses as categorical features (for example, brand, channel, or tier). Properties are optional, but can improve accuracy when they capture meaningful behavioral variation.

Choose a model type

When you add an event propensity model you first choose a model type. The four preset types come pre-filled with a name and description, use AmpAI to identify the target event table for you, and set the prediction audience automatically. Choose Custom event when the event you want to predict doesn’t match a preset; you then provide the target event, prediction audience, and inputs yourself.

Model type

Predicts

Prediction audience

Loyalty signups

The likelihood that each customer signs up for a loyalty program.

One-time event

Repeat bookings

The likelihood that a customer makes a repeat booking or purchase.

Repeat event

Credit card signups

The likelihood that each customer signs up for a credit card.

One-time event

Email signups

The likelihood that each customer signs up for an email list.

One-time event

Custom event

How likely each customer is to perform an event that you define.

Repeat event or one-time event (you choose)

To build an event propensity model

Step one.

Open the Customer 360 page, and then select the Predictive models tab. This opens the Predictive models page.

Step two.

Click Add model. In the Select model type dialog, choose an event propensity model type–Loyalty signups, Repeat bookings, Credit card signups, Email signups, or Custom event–and then continue. See Choose a model type.

Step three.

In the New model dialog, enter the model details:

  1. Enter a Name for the model.

  2. For a preset type, enter a Symbolic name–an identifier used to name the model’s output tables. For a Custom event model, enter a Target event name, a descriptive identifier for the event being predicted (for example, loyalty_signup or hotel_booking).

  3. Optionally, enter a Description.

  4. Under Target event, select the Event table that contains the target event and the Event date field that records when the event occurred. Click Select with AmpAI to have AmpAI identify the target event table for you.

    Note

    Only tables that contain an amperity_id field and at least one date (or datetime) field are eligible to use as the target event table.

  5. For a Custom event model, choose a Prediction audience:

    • Customers who have completed this action at least once (a repeat event)

    • Customers who have not yet completed this action (a one-time event)

    For preset types the prediction audience is set automatically.

Click Create. This opens the New version dialog.

Step four.

On the General tab of the New version dialog, enter a version Name and an optional Note to document the version.

Step five.

Configure Input events. Add revenue fields and additional events to improve predictions. For each input event:

  1. Select a Table. The table must contain one row per event occurrence.

  2. Select an Event date field. This must be a date or datetime field.

  3. (Optional) Select a Revenue field, a numeric field that captures the revenue generated by the event. Revenue-generating events improve predictions.

  4. (Optional) Select a Realization date for events where revenue is generated at one point in time but realized at another, such as a booking (generation) versus a stay (realization).

  5. (Optional) Add Properties–string fields used to generate categorical features for the model (for example, max, mean, most recent, and most common values).

Click Add input event to add another event.

Note

At least one input event is required for one-time-event models and is recommended for repeat-event models.

Step six.

(Optional) Open the Advanced tab to configure:

  • Customer exclusions: Exclude customers based on boolean fields in the Customer Attributes table. For example, exclude employees of your brand or resellers of products within your brand’s product catalog.

  • Alert when evaluation is complete: Send an email to one or more addresses when the evaluation workflow finishes.

Step seven.

Click Evaluate. Amperity creates the model version and starts an evaluation workflow that backtests the model and reports the average recall and precision improvement for the version.

After a model version passes evaluation, activate the model to begin generating predictions. See predictive model how-tos for the steps to activate a model.

An active model produces a Predicted Propensity table named Predicted_Propensity_{EventName}, where {EventName} is generated based on the target event name provided during model creation. The fields in this table are available in segments.

Examples

The following examples show how to set up the four preset model types and several custom events, including the example tables and fields to use for each (note: some of these tables and fields are optional). Every event table must have one row per event occurrence and must contain an amperity_id field and a date field. Date fields do not need a specific name–you select the date column during setup.

Loyalty sign-ups

Predicts the likelihood that each customer signs up for a loyalty program.

  • Model type: Loyalty sign-ups (preset)

  • Prediction audience: One-time event

Use a target event table with one row per loyalty sign-up:

Loyalty_Signups (target event)

amperity_id

signup_date

loyalty_tier

signup_channel

abc-123

2025-03-15

Gold

web

def-456

2025-04-02

Silver

in_store

ghi-789

2025-04-18

Gold

mobile_app

At least one input event is required. An input event that includes revenue data works well:

Flight_Bookings (input event)

amperity_id

booking_date

fare_amount

seat_class

booking_channel

abc-123

2025-01-08

420.00

economy

web

abc-123

2025-02-22

1250.00

business

mobile_app

def-456

2025-03-10

380.00

economy

call_center

Recommended for better predictions:

  • Revenue fields on input events where available (for example, fare_amount or an ancillary purchase_amount).

  • String properties on the target event (for example, loyalty_tier, signup_channel) and on input events (for example, seat_class, booking_channel).

  • Other input events to consider: ancillary purchases, email engagement, check-ins, cancellations, upgrades, lounge visits, in-flight purchases, mobile app sessions, customer service interactions, survey responses, and co-brand credit card transactions.

Repeat bookings

Predicts the likelihood that a customer makes a repeat booking or purchase.

  • Model type: Repeat bookings (preset)

  • Prediction audience: Repeat event

Use a target event table with one row per booking. Because bookings generate revenue, add a revenue field:

Hotel_Bookings (target event)

amperity_id

booking_date

property_type

booking_channel

booking_revenue

abc-123

2025-01-10

resort

web

450.00

abc-123

2025-06-22

urban

mobile_app

220.00

def-456

2025-03-05

resort

phone

380.00

Input events are optional for repeat-event models, but recommended:

Loyalty_Activity (input event)

amperity_id

activity_date

activity_type

points_earned

abc-123

2025-02-15

points_redemption

-500

abc-123

2025-04-01

tier_upgrade

0

def-456

2025-01-20

points_earn

200

Recommended for better predictions:

  • A revenue field on the target event table (for example, booking_revenue).

  • String properties on the target event (for example, property_type, booking_channel) and on input events (for example, activity_type).

  • Other input events to consider: restaurant or spa reservations, room service orders, room upgrades, loyalty point redemptions, email engagement, website browsing sessions, mobile app check-ins, customer service interactions, and guest reviews.

Credit card sign-ups

Predicts the likelihood that each customer signs up for a credit card.

  • Model type: Credit card sign-ups (preset)

  • Prediction audience: One-time event

Use a target event table with one row per credit card sign-up:

Credit_Card_Signups (target event)

amperity_id

signup_date

card_type

abc-123

2025-02-20

rewards

def-456

2025-05-11

cashback

At least one input event is required. A transactions table works well:

Transactions (input event)

amperity_id

transaction_date

transaction_amount

payment_method

abc-123

2025-01-12

210.00

debit

abc-123

2025-03-05

75.00

debit

def-456

2025-02-28

320.00

credit

Recommended for better predictions:

  • A revenue field on the input event table (for example, transaction_amount).

  • String properties on the target event (for example, card_type) and on input events (for example, payment_method).

  • Other input events to consider: purchase history, store visits, website browsing sessions, mobile app sessions, email engagement, customer service interactions, loyalty program activity, and financial product inquiries.

Email sign-ups

Predicts the likelihood that each customer signs up for an email list.

  • Model type: Email sign-ups (preset)

  • Prediction audience: One-time event

Use a target event table with one row per email sign-up:

Email_Signups (target event)

amperity_id

signup_date

signup_source

email_list

abc-123

2025-01-05

checkout

weekly_deals

def-456

2025-02-14

homepage_banner

new_arrivals

At least one input event is required. An orders table works well:

Orders (input event)

amperity_id

order_date

order_revenue

product_category

abc-123

2024-11-25

55.00

home_goods

def-456

2025-01-03

89.00

apparel

def-456

2025-02-10

112.00

electronics

Recommended for better predictions:

  • A revenue field on the input event table (for example, order_revenue).

  • String properties on the target event (for example, signup_source, email_list) and on input events (for example, product_category).

  • Other input events to consider: purchase history, website browsing sessions, mobile app sessions, store visits, account creation events, SMS opt-ins, loyalty program activity, cart abandonment events, and product reviews.

Custom events

Use the Custom event model type when the event you want to predict doesn’t match a preset. You provide the target event name, target event table, prediction audience, and all input events yourself.

Subscription renewal–predict whether existing subscribers will renew.

  • Prediction audience: Repeat event

  • Target event name: subscription_renewal

Subscription_Renewals (target event)

amperity_id

renewal_date

plan_type

renewal_channel

abc-123

2025-01-15

annual

auto

abc-123

2026-01-15

annual

auto

def-456

2025-06-01

monthly

manual

Recommended input events: an Orders table (with order_revenue and product_category) and a Support_Tickets table (with a ticket_category property).

Store visit–predict which customers are likely to visit a physical store for the first time.

  • Prediction audience: One-time event

  • Target event name: store_visit

Store_Visits (target event)

amperity_id

visit_date

store_region

abc-123

2025-03-10

northeast

def-456

2025-04-22

west

Recommended input event: an Online_Orders table with order_revenue and a fulfillment_type property.

Webinar attendance–predict which customers are likely to attend a webinar.

  • Prediction audience: Repeat event (for customers who have attended before) or one-time event (for first-time attendees)

  • Target event name: webinar_attendance

Webinar_Attendance (target event)

amperity_id

attendance_date

webinar_topic

abc-123

2025-02-01

product_demo

abc-123

2025-04-15

best_practices

def-456

2025-03-10

onboarding

Tips

  • Start small and iterate. Begin with the minimum required data–the target event and one input event–to deliver value quickly, and then add inputs to improve performance.

  • More data is better. Adding input events meaningfully improves predictions. Events that include revenue data are especially valuable.

  • Add string properties. Fields like brand, category, channel, or region give the model categorical signal. Add them as properties when available.

  • Check date field types. Event date fields must be a date or datetime type. If a date is stored as a string, cast it in the table schema first.

  • Use one row per event. Event tables must have one row per event occurrence, not one row per customer. Data that is aggregated to the customer level cannot be used as an event table.

  • Use one table per event type. Each event type must have its own table. For example, keep flight bookings and seat upgrades in separate tables.

  • Use a preset when it fits. Preset model types auto-identify the target event table with AmpAI, which saves setup time. Use Custom event only when no preset matches.

Use in segments

The following table describes the fields that are available when using event propensity modeling in segments.

Column name

Data type

Description

Amperity ID

String

The unique identifier assigned to clusters of customer profiles that all represent the same individual. The Amperity ID does not replace primary, foreign, or other unique customer keys, but exists alongside them within unified profiles.

Note

The Amperity ID is a universally unique identifier (UUID) that is 36 characters spread across five groups separated by hyphens: 8-4-4-4-12.

For example:

123e4567-e89b-12d3-a456-426614174000

Audience Size Large

Boolean

A flag that indicates the recommended audience size. When this value is True the recommended audience size is large.

A large audience is predicted to include ~90% of customers who are likely to perform the target event.

Audience Size Medium

Boolean

A flag that indicates the recommended audience size. When this value is True the recommended audience size is medium.

A medium audience is predicted to include ~70% of customers who are likely to perform the target event.

Audience Size Small

Boolean

A flag that indicates the recommended audience size. When this value is True the recommended audience size is small.

A small audience is predicted to include ~50% of customers who are likely to perform the target event.

Use a small audience size to help prevent wasted spend and to reduce opt-outs.

Ranking

Integer

A ranking of customers by score for this event. A rank that is less than or equal to X provides the top N customers with an propensity for this event.

Score

Float

The strength of a customer’s propensity for this event, shown as an uncalibrated probability between 0 and 1.

Tip

Ranking is derived directly from the score–customers are ranked in descending order of score–so a higher score corresponds to a higher ranking. Because the score is uncalibrated, target customers using Ranking and audience size rather than the raw score.

Sort results by Ranking, and then compare those results to audience sizes. Higher rankings within smaller audience sizes correlate with higher propensity.

Target Event Name

String

The name of the target event used with an event propensity model.