User Profile Attributes

Attributes Based on Events#

In addition to the attributes you can import via Offline Customer Import, Velocidi automatically generates a series of attributes per event for a user.

Accumulators and Temporal Attributes per Event Type#

Attribute nameTypeDescription
events.<eventType>.latest.timestampTimestampTime of the most recent event of the type eventType (E.g events.pageView.latest.timestamp).
events.<eventType>.first.timestampTimestampTime of the first event of the type eventType (E.g events.pageView.first.timestamp).
events.<eventType>.historyArray of TimestampTimestamps when eventType was performed, rounded to the day (E.g events.pageView.history).
events.<eventType>.countNumberNumber of events of the type eventType performed all time (E.g events.pageView.count).
events.<eventType>.7days.countNumberNumber of events of the type eventType performed in the last 7 days (E.g events.pageView.7days.count).
events.<eventType>.28days.countNumberNumber of events of the type eventType performed in the last 28 days (E.g events.pageView.28days.count).
events.all.countNumberNumber of events performed all time.
events.all.7days.countNumberNumber of events performed in the last 7 days.
events.all.28days.countNumberNumber of events performed in the last 28 days.
events.last.timestampTimestampTime of the most recent event.
events.first.timestampTimestampTime of the first event.

Custom Events also generate attributes based on the customType of the event.

Attribute nameTypeDescription
events.custom.<customType>.latest.timestampTimestampTime of the most recent custom event with the custom type customType (E.g events.custom.bannerclick.latest.timestamp).
events.custom.<customType>.first.timestampTimestampTime of the first custom event with the custom type customType (E.g events.custom.bannerclick.first.timestamp).
events.custom.<customType>.historyArray of TimestampTimestamps when custom event with the custom type customType was performed, rounded to the day (E.g events.custom.bannerclick.history).
events.custom.<customType>.total.countNumberNumber of custom events with the custom type customType performed all time (E.g events.custom.bannerclick.total.count).
events.custom.<customType>.7days.countNumberNumber of custom events with the custom type customType performed in the last 7 days (E.g events.custom.bannerclick.7days.count).
events.custom.<customType>.28days.countNumberNumber of custom events with the custom type customType performed in the last 28 days (E.g events.custom.bannerclick.28days.count).

Interaction Type#

Attribute nameTypeDescription
events.last.active.timestampTimestampTime of the most recent event of interaction type 'active'.
events.first.active.timestampTimestampTime of the first event of interaction type 'active'.
events.last.passive.timestampTimestampTime of the most recent event of interaction type 'passive'.
events.first.passive.timestampTimestampTime of the first event of interaction type 'passive'.
events.last.outbound.timestampTimestampTime of the most recent event of interaction type 'outbound'.
events.first.outbound.timestampTimestampTime of the first event of interaction type 'outbound'.

Orders#

Attribute nameTypeDescription
ordersTotalNumberSum of all orders' price in the system's default currency.
ordersAvgNumberAverage of all orders' price in the system's default currency.
completedOrdersNumberNumber of completed orders.

Purchases#

Attribute nameTypeDescription
purchaseTotalNumberSum of all purchases' price in the system's default currency.
purchaseAvgNumberAverage of all purchases' price in the system's default currency.
events.purchase.latest.valueNumberValue of the latest purchase in the system's defaut currency.

Email and Campaigns#

Attribute nameTypeDescription
events.emailView.campaignId.latestStringName of the most recently seen campaignId from a emailView.
events.emailClick.campaignId.latestStringName of the most recently seen campaignId from a emailClick.

Geo Location#

Attribute nameTypeDescription
geo.country.latestStringName of the country of the most recent event.
geo.country.listArray of StringList of the 5 latest countries from the most recent events.
geo.city.latestStringName of the city of the most recent event.
geo.city.listArray of StringList of the 5 latest cities from the most recent events.
geo.latlong.latestArray of NumberCoordinates of the most recent event.
geo.latlong.listArray of ArrayList of the 5 latest coordinates from the most recent events.

Devices#

Attribute nameTypeDescription
devices.type.latestStringThe latest type of device used (E.g. "smartphone", "pc").
devices.type.listArray of StringList of the 5 latest types of devices used.
devices.family.latestStringThe latest device family used (E.g. "Mac", "iPhone").
devices.family.listArray of StringList of the latest device families used.
devices.os.latestStringThe latest operating system used (E.g. "Android", "Mac OS X").
devices.os.listArray of StringList of the 5 latest operating systems used.
devices.userAgent.latestStringThe latest normalized user-agent used (E.g. "Samsung Internet", "Safari")
devices.userAgent.listArray of StringList of the 5 latest user-agents used.

Product Interaction#

Attribute nameTypeDescription
brands.<brand>.<eventType>.listArray of TimestampList of the 5 latest timestamp for when a eventType occurred for that product brand (E.g. brands.Nike.productView.list).
categories.<category>.<eventType>.listArray of TimestampList of the 5 latest timestamp for when a eventType occurred for that product category (E.g. brands.Shirts.productView.list).
sizes.<size>.<eventType>.listArray of TimestampList of the 5 latest timestamp for when a eventType occurred for that product size (E.g. brands.XL.productView.list).
productInteraction.customFields.list.<list>.<eventType>.listArray of TimestampList of the 5 latest timestamp for when a eventType occurred for that product list (E.g. productInteraction.customFields.list.Trousers_32__47__32_Jeans.productView.list).
note

Attribute names derived from events like the ones above (E.g. "brand", "category", "sizes") go through a normalization process in order to become valid identifiers to use inside segmentation rules.

For example: calças_adulto / Slim is normalized to cal_231_as__adulto_32__47__32_Slim.

Activations#

Attribute nameTypeDescription
activations.last.timestampTimestampTime of the most recent activation.
activations.first.timestampTimestampTime of the first activation.

Attributes Based on Machine Learning#

Velocidi leverages machine learning to identify high-value users from their historic behavior. Machine learning attributes are created automatically by our built-in models. Velocidi identifies patterns in captured data and delivers recommendations or behavior predictions for specific users in the form of machine learning attributes.

Next Purchase#

Attribute nameTypeDescription
predictions.nextPurchaseTimestampTimestamp of when the next purchase is estimated to occur.
predictions.nextPurchase.<category>TimestampTimestamp of when the next purchase is estimated to occur for a specific category.
note

These attribute names go through the same normalization process as discussed in the Product interaction attributes.

RFM#

The RFM attributes classify users in 0-10 buckets based on their Recency, Frequency and Monetary Value 10-quantiles.

Since the value distribution can get skewed over time (e.g. due to old users that churned or changes in the business model), those attributes are available both for all-time and last year percentiles.

Such attributes will only be available in customers with at least one purchase during the relevant time window.

Attribute nameTypeDescription
performance.rfm.recency.12monthsNumberValue between 0-10 for the Recency attribute of the RFM Model based on data from the last year.
performance.rfm.frequency.12monthsNumberValue between 0-10 for the Frequency attribute of the RFM Model based on data from the last year.
performance.rfm.monetaryvalue.12monthsNumberValue between 0-10 for the Monetary Value attribute of the RFM Model based on data from the last year.
performance.rfm.recency.allTimeNumberValue between 0-10 for the Recency attribute of the RFM Model.
performance.rfm.frequency.allTimeNumberValue between 0-10 for the Frequency attribute of the RFM Model.
performance.rfm.monetaryvalue.allTimeNumberValue between 0-10 for the Monetary Value attribute of the RFM Model.

Lifetime Value#

Attribute nameTypeDescription
predictions.lifetimeValue.12monthsNumberThe predicted monetary value of the customer in the system's currency for next 12 months.
predictions.lifetimeValue.allTimeNumberThe predicted monetary value of the customer in the system's currency for all time.

Likelihood to Buy#

Attribute nameTypeDescription
predictions.likelihoodToBuy.1dayNumberValue between 0-1 representing the likelihood to buy in the next day.
predictions.likelihoodToBuy.2daysNumberValue between 0-1 representing the likelihood to buy in the next 2 days.
predictions.likelihoodToBuy.7daysNumberValue between 0-1 representing the likelihood to buy in the next 7 days.
predictions.likelihoodToBuy.14daysNumberValue between 0-1 representing the likelihood to buy in the next 14 days.

Likelihood to Interact with Email#

Attribute nameTypeDescription
predictions.likelihoodToClickOnEmail.14daysNumberValue between 0-1 representing the likelihood to click on email in the next 14 days.
predictions.likelihoodToOpenEmail.14daysNumberValue between 0-1 representing the likelihood to open an email in the next 14 days.
predictions.likelihoodToUnsubscribeFromEmail.14daysNumberValue between 0-1 representing the likelihood to unsubscribe in the next 14 days.
Last updated on