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:
Recommended audience sizes¶
A recommended audience is a feature of event propensity modeling that answers the following question: “Which audience size best captures the customers who are most likely to perform the target event over the next 30 days?” Event propensity modeling answers this question with small, medium, and large recommended audience sizes.
Recommended audience sizes are calculated for a 30-day window. An event curve is generated, along with corresponding audience sizes that show what size audience is required to capture 50%, 70%, and 90% of occurrences of a given target event during the previous 30 days.
Audience sizes are inclusive of all smaller audience sizes.
A medium audience size (70%) includes all of your customers who are in the small audience size (50%).
A large audience size (90%) includes all of your customers who are in the small and medium audiences.
Recommended audience sizes for event propensity modeling identify customers who are most likely to perform a target event. Use recommended audience sizes to find customers who are likely to:
Join your brand’s loyalty program
Sign up for your brand’s credit card
Make a repeat booking for a car rental, airline ticket, or hotel stay
Attributes for recommended audience sizes are available from the Event Propensity table:
Attribute Name |
Description |
|---|---|
Audience Size Small |
A small audience is predicted to include ~50% of customers who are likely to perform a target event. |
Audience Size Medium |
A medium audience is predicted to include ~70% of customers who are likely to perform a target event |
Audience Size Large |
A large audience is predicted to include ~90% of customers who are likely to perform a target event |
Combine these attributes with the Target Event attribute to build audiences for a specific target event. You can access these attributes directly from the segment editor.
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
|
Open the Customer 360 page, and then select the Predictive models tab. This opens the Predictive models page. |
|
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. |
|
In the New model dialog, enter the model details:
Click Create. This opens the New version dialog. |
|
On the General tab of the New version dialog, enter a version Name and an optional Note to document the version. |
|
Configure Input events. Add revenue fields and additional events to improve predictions. For each input event:
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. |
|
(Optional) Open the Advanced tab to configure:
|
|
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:
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:
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_amountor an ancillarypurchase_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:
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:
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:
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:
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:
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:
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
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
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
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 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 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 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. |