Customer data tells us what happened. Computed Traits help us understand what that history means now, and make it usable for segmentation, journeys, personalization, and decisioning.
A customer has not purchased anything for 42 days.
Over the past month, they have returned several times to products from the same category. Their historical average order value is considerably higher than the broader customer base. At the same time, their engagement with marketing messages has declined compared with previous months.
None of these observations necessarily exists as a ready-made field in the customer database.
What usually exists is the underlying evidence: purchase events, product views, campaign interactions, profile attributes, timestamps, transaction values, channel responses, and dozens of other signals.
The difference matters.
Collecting events gives us history.
Decision-making requires state.
This is where Computed Traits become useful.
What Is a Computed Trait?
A Computed Trait is a customer attribute derived from other data already available in the platform.
Instead of being directly supplied by a CRM, SDK, API, or transactional system, the value is calculated from existing customer behavior or profile data.
Examples include:
days_since_last_purchase
orders_last_90_days
average_order_value
total_spend_12m
purchase_frequency
engagement_rate_30d
active_days_last_60d
preferred_category
category_affinity
days_since_last_meaningful_activity
The individual inputs may already exist as events or attributes. The Computed Trait expresses something new about the customer by combining, aggregating, comparing, or transforming those inputs.
That makes it different from simply storing more data.
- A purchase event answers: "What happened?"
- A profile attribute may answer: "What do we know about this customer?"
- A Computed Trait can answer: "Given everything we know so far, what is true about this customer now?"
That distinction is one of the foundations of a useful customer intelligence layer.
Events Are Evidence, Not Decisions
Suppose a retail customer generated these events:
purchase_completed
purchase_completed
product_viewed
product_viewed
product_viewed
push_opened
product_viewed
These events are useful, but they are still observations.
A marketer or CRM manager rarely wants to manually reason over hundreds of rows in an event timeline. They want concepts such as:
days_since_last_purchase = 42
orders_last_90_days = 3
average_order_value = 2.1x customer median
beauty_category_views_30d = 7
push_engagement_trend = declining
Those traits compress a sequence of historical facts into something that can participate directly in a decision.
For example:
IF
days_since_last_purchase > 30
AND historical_customer_value = high
AND category_affinity = skincare
AND push_reachability = true
THEN
include customer in a high-value reactivation audience
The point is not the rule itself.
The point is that an activation system becomes considerably more useful once it can operate on derived customer state, rather than only raw events and manually maintained attributes.
Four Common Types of Computed Traits
Computed Traits can represent several different kinds of customer state.
1. Aggregations
These summarize activity over a period of time.
Examples:
orders_last_30_days
total_spend_last_12_months
product_views_last_7_days
sms_clicks_last_90_days
The underlying operation is usually a count, sum, average, minimum, maximum, or distinct count.
These are among the simplest Computed Traits, but often among the most useful.
2. Recency and Time-Based Traits
These express how far the customer is from an important event.
Examples:
days_since_last_purchase
days_since_last_session
days_since_last_cart
days_since_last_campaign_response
Recency is especially useful because time changes customer state even when the customer does nothing.
A customer who purchased yesterday and a customer who last purchased six months ago may have identical static profile attributes, but they are operationally very different customers.
3. Behavioral Affinities
These describe repeated interest or preference inferred from behavior.
Examples:
preferred_category = skincare
category_affinity_score = 0.81
preferred_purchase_day = friday
most_engaged_channel = push
A trait like category affinity may be calculated from product views, searches, cart activity, purchases, recency, or different weights assigned to each behavior.
This creates a reusable expression of intent that can later be used across multiple workflows.
4. Relative or Comparative Traits
Sometimes absolute values are less useful than relative position.
For example:
customer_value_percentile = 93
purchase_frequency_vs_previous_period = -28%
engagement_vs_90d_baseline = -41%
A customer spending 20 million units of currency may mean very different things in two businesses. Knowing that the customer belongs to the top 5% of buyers can be more actionable.
Computed Traits Are Not Predictive Scores
This distinction becomes important as CDXPs evolve toward AI and decisioning.
Consider three values:
days_since_last_purchase = 42
churn_probability = 0.78
next_best_action = retention_offer
They may eventually appear together on the same customer profile, but they represent different layers of intelligence.
days_since_last_purchase is a Computed Trait.
It is derived deterministically from known data.
churn_probability is a predictive score.
It normally comes from a statistical or machine-learning model.
next_best_action is a decision output.
It may combine traits, model scores, business rules, consent, channel availability, commercial constraints, and other context.
A useful architecture therefore looks more like this, rather than treating every derived value as "AI":
This separation also matters operationally. Computed Traits are often easier to inspect, explain, validate, and govern than model outputs.
Computed Trait vs. Segment
A Computed Trait is also not the same thing as a segment.
Consider:
days_since_last_purchase = 42
That is a property of one customer.
Now consider:
days_since_last_purchase > 30
AND
average_order_value > 5,000,000
That is a segment definition selecting multiple customers based on their traits.
Keeping these concepts separate is powerful.
The same days_since_last_purchase trait might later be used in:
- a churn-prevention segment
- a VIP reactivation segment
- a Journey branching condition
- a customer profile
- an analyst report
- an eligibility rule
- a predictive model feature
Instead of rebuilding the same logic inside every campaign, the platform calculates the customer state once and makes it reusable.
A Computed Trait is calculated once and reused everywhere. A segment is one of the many places that calculation gets used. The reuse principle
Why This Matters Beyond Marketing Automation
Marketing Automation systems are primarily optimized around execution: audiences, triggers, messages, journeys, channels, and campaign outcomes.
Modern platforms may certainly support calculated fields or similar functionality. The architectural distinction is therefore not that Marketing Automation cannot calculate things.
The more important difference is where customer computation sits in the system.
In a CDXP, derived customer state can belong to the customer data layer itself.
That means a trait does not need to exist only inside one campaign or one automation.
It can become part of the reusable customer representation that multiple systems and workflows consume.
For example:
category_affinity = home_appliances
could be used by:
- Segment Builder
- Journey Builder
- campaign personalization
- Retail Media targeting
- onsite personalization
- analytics
- recommendation logic
- an external destination or API
The value is not the calculation alone. The value is that the result becomes reusable across the operating system around the customer.
A Computed Trait Is Only Useful If It Can Be Reused
This leads to an important product principle.
A calculated number hidden inside a report is not necessarily a useful Computed Trait.
To become operational, a trait should ideally have several properties.
A Clear Definition
Users should know exactly what the trait represents.
For example:
average_order_value_90d
is clearer than:
customer_value
unless customer_value itself has a formally defined formula.
A Known Calculation Window
The same calculation over 7, 30, 90, or 365 days can produce completely different meanings.
Time windows should therefore be explicit.
A Refresh Strategy
Some traits only need daily recalculation.
Others may need near-real-time updates.
For example:
lifetime_orders
may tolerate periodic updates. But:
minutes_since_cart_abandonment
may only be valuable if refreshed rapidly.
A Defined Entity Scope
Most Computed Traits belong to a customer profile, but the same pattern can apply beyond customers.
A platform may eventually compute traits for:
- products
- advertisers
- campaigns
- segments
- placements
- accounts
Governance and Explainability
A user should be able to answer:
- What data does this trait use?
- Over what time range?
- When was it last updated?
- Which definition or version produced it?
- Where is it currently being used?
As platforms become more sophisticated, lineage becomes increasingly important. A derived trait that silently changes definition can alter audience membership, campaign behavior, analytics, and model outputs simultaneously.
From Computed Traits to Better Customer State
The real opportunity is not creating hundreds of arbitrary metrics.
It is identifying the derived states that matter to the business.
A retailer might care about:
- purchase recency
- purchase frequency
- category affinity
- basket value
- discount dependency
- return frequency
A streaming service might care about:
- days since meaningful viewing
- weekly active days
- completion rate
- genre affinity
- declining consumption
A fintech product might care about:
- transaction frequency
- wallet inactivity
- balance movement
- service adoption breadth
- recurring payment behavior
A marketplace may care about:
- buyer frequency
- seller affinity
- category breadth
- search-to-purchase ratio
- promotion responsiveness
The relevant Computed Traits are therefore rarely discovered by asking:
What functions can our database calculate?
A much better question is:
What do we repeatedly wish we knew about the current state of our customers?
That question starts from the business decision and works backward into the data.
Computed Traits in Binoban
In Binoban, Computed Traits are designed to turn existing customer data and behavioral history into reusable customer attributes.
That means teams can define meaningful values from available events and profile data, then use those values as part of customer understanding and downstream activation.
A retailer might calculate:
days_since_last_purchase
orders_last_90_days
average_order_value
category_affinity
and then use them to identify customers whose buying behavior is weakening despite historically high value.
A CRM team might calculate:
engagement_rate_30d
engagement_change_vs_previous_30d
preferred_channel
to distinguish between a customer who is inactive everywhere and one whose engagement has merely shifted between channels.
This fits into a larger direction inside Binoban: making customer data reusable across Profiles, Audience, Engage, Retail Media, measurement, and intelligence layers, rather than leaving it as disconnected event history.
The Next Question Is Usually the Most Interesting One
Computed Traits begin with a simple idea:
Raw data records what happened. Derived state helps explain what it means now.
Once customer state becomes reusable, another layer becomes possible.
A platform can move from "What has this customer done?" to "What state is this customer in?", then eventually to "What is likely to happen next?", and finally to "What should we do about it?"
That progression, from data to state, from state to intelligence, and from intelligence to action, is where a CDXP becomes more than a repository of customer history.
So there is a useful question to ask inside almost any customer-facing business:
What have you repeatedly wanted to know about your customers and thought, "If only we could calculate this?"
There is a good chance that the answer should become a Computed Trait.
Take the next step