Spend
All spend values are net figures (returns and exchanges are subtracted).| Field | Description |
|---|---|
spend_12m | Net spend in the rolling 12-month window, measured back from the profile’s most recent transaction date |
spend_12m_now | Net spend in the rolling 12-month window, measured back from today |
spend_all | Lifetime net spend |
spend_atv_12m | Average net transaction value in the last 12 months |
spend_atv_all | Average net transaction value lifetime |
spend_first_date | Date of the profile’s first transaction |
spend_last_date | Date of the profile’s most recent transaction |
Shop dates and timing
These fields track the timing of shopping behaviour across unique transaction dates.| Field | Type | Description |
|---|---|---|
first_shop_date | Date | Date of the first transaction |
first_shop_days | Integer | Days between join date and first shop date. Can be zero. |
second_shop_date | Date | Date of the next transaction on a unique date after the first |
second_shop_days | Integer | Days between first and second shop date. Minimum 1. |
average_shop_days | Integer | Average days between unique shopping dates: (latest minus first date) divided by count of unique transaction dates. Set on the third shop and recalculated on each subsequent shop. |
total_shop_days | Integer | Total count of unique shopping days |
previous_shop_date | Date | The prior value of latest_shop_date, set when a new latest shop date is established |
latest_shop_date | Date | Date of the most recent transaction on a unique date |
latest_shop_days | Integer | Days between previous_shop_date and latest_shop_date. Minimum 1. |
at_risk_date | Date | latest_shop_date plus (average_shop_days multiplied by 3). Signals when a customer is overdue for their next visit. |
Purchase behaviour
| Field | Description |
|---|---|
shop_count | Total number of unique shopping days where the net of transactions is greater than zero. Pure exchange or return days are excluded. |
shop_days | Average number of days between transactions. Only calculated for profiles with three or more transactions. |
Dimensions
Omneo calculates four behaviour dimensions from transaction history. Each uses a defined set of codes.dimension_recency: how recently the profile last shopped:
| Code | Meaning |
|---|---|
R0 | Never shopped |
RR | Retired (last shop more than 5 years ago) |
RL | Lapsed (last shop 3 to 5 years ago) |
RI | Inactive (last shop 1 to 2 years ago) |
RA | Annual active (last shop 6 to 12 months ago) |
RS | Seasonal active (last shop 3 to 6 months ago) |
RC | Current active (last shop within 3 months) |
dimension_frequency: how frequently the profile shops:
| Code | Meaning |
|---|---|
F0 | Never shopped |
F1 | 1 transaction ever |
F2 | 2 transactions ever |
FL | Low frequency (average shop days greater than 90) |
FM | Medium frequency (average shop days 30 to 90) |
FH | High frequency (average shop days less than 30) |
dimension_channel: the channels the profile has shopped across:
| Code | Meaning |
|---|---|
CC | Concession only |
CF | Branded only (store or outlet) |
CD | Branded or concession only, not online |
CO | Online only |
CS | Outlet only |
CM | Multichannel (branded, concession, or outlet AND online) |
dimension_joined: the profile’s join lifecycle stage:
| Code | Meaning |
|---|---|
JE | Established (joined more than 12 months ago) |
JC | Current (joined 3 to 12 months ago) |
JN | New (joined within 3 months) |
Preferences
| Field | Description |
|---|---|
most_transacted_location | Location object for the profile’s most frequently visited store |
store_join | Location object for the store where the profile was created |
likely_country | Inferred country based on transaction data |
purchased_brands | Array of brand or department names the profile has purchased from |
Using aggregations
Aggregation fields are available in reaction filter conditions and target templates. For example, you can fire a reaction whenaggregations.spend_12m crosses a threshold, or include at_risk_date in a win-back campaign payload.