Computed Attributes
Computed attributes are derived metrics about customer entities. They transform raw warehouse data into meaningful values — like a customer’s lifetime value, their most-purchased product category, or the number of days since their last login — that can then be used to build audiences.
What Is a Computed Attribute?
A computed attribute is a single computed value attached to an entity type. Every computed attribute produces one value per entity instance. For example, a computed attribute called total_order_value on the User entity type would compute one number for each user in your warehouse.
Computed attributes are warehouse-native: Zeotap generates SQL and executes it directly against your data warehouse. No data is copied out of your warehouse to compute them. The results are materialized back into a computed attribute table in your warehouse schema for fast audience evaluation.
Computed Attribute Types
Zeotap offers three ways to define computed attributes, ranging from full SQL flexibility to visual no-code builders:
SQL Computed Attributes
SQL Computed Attributes let you write custom SQL to compute any metric. This is the most flexible option — anything you can express in a SQL query, you can turn into a computed attribute.
Use when: You need multi-table joins, window functions, CTEs, warehouse-specific functions, or any computation that doesn’t fit the visual builders.
-- Example: Customer lifetime value
SELECT
user_id,
SUM(order_total) - SUM(refund_amount) AS lifetime_value
FROM orders
LEFT JOIN refunds ON orders.order_id = refunds.order_id
GROUP BY user_idAggregation Computed Attributes
Aggregation Computed Attributes use a visual builder to define common aggregations without writing SQL. You pick a source table, an aggregation function, a column to aggregate, and optional filters.
Use when: You need a straightforward count, sum, average, min, max, or count distinct over a single table.
Supported functions:
| Function | Description | Example |
|---|---|---|
| Count | Number of rows | Total number of orders |
| Sum | Sum of a numeric column | Total revenue |
| Average | Mean of a numeric column | Average order value |
| Min | Minimum value | First purchase date |
| Max | Maximum value | Most recent login |
| Count Distinct | Unique values in a column | Number of distinct products purchased |
Formula Computed Attributes
Formula Computed Attributes combine existing computed attributes using arithmetic and logical expressions. They don’t query the warehouse directly — instead, they operate on the materialized results of other computed attributes.
Use when: You want to derive new metrics from computed attributes you’ve already built, like ratios, scores, or boolean flags.
average_order_value = total_revenue / order_count
is_high_value = lifetime_value > 1000Computed Attribute Properties
Every computed attribute has these core properties:
| Property | Description |
|---|---|
| Name | Human-readable label displayed in the UI and available for audience building |
| Slug | URL-safe identifier used in the API and as the materialized column name |
| Entity Type | The entity type this computed attribute is computed for (e.g., User, Account) |
| Data Type | The output type: string, number, boolean, date, or timestamp |
| Type | SQL, Aggregation, or Formula |
| Schedule | How often the computed attribute is re-evaluated (manual, hourly, daily, weekly, or custom cron) |
How Computed Attributes Are Used
Once computed, computed attributes are available throughout Activation:
- Audience conditions — Filter customers by computed attribute values (e.g.,
lifetime_value > 500) - Formula inputs — Reference computed attributes in formula expressions to derive new metrics
- Audience sync fields — Include computed attribute values as fields sent to destinations
- Insights — Track computed attribute distributions and trends over time
Computed Attribute Evaluation
Computed attributes are evaluated by the computed attribute evaluation pipeline, which generates SQL, executes it against your warehouse, and materializes results into a dedicated computed attribute table. The pipeline handles scheduling, dependency ordering (formula computed attributes that depend on other computed attributes), and error tracking.
Next Steps
- SQL Computed Attributes — Write custom SQL for maximum flexibility
- Aggregation Computed Attributes — Use the visual builder for common metrics
- Formula Computed Attributes — Combine existing computed attributes with expressions
- Computed Attribute Evaluation — Understand how and when computed attributes are evaluated