Entities
An entity is a uniquely identifiable business object in Sundial's semantic layer that represents core analytical units like users, accounts, or products. Entities serve as join points between metrics and dimensions, enabling analysis at the entity level.
Definition
An entity consists of:
- Name: A unique identifier for the entity (e.g.,
user,account,product) - ID Column: The column containing unique identifiers for this entity type
- Source Table: The table/view containing the entity ID column
Examples
Common entity types include:
- User entities: user_id, customer_id, subscriber_id
- Session entities: session_id, visit_id
- Product entities: product_id, sku_id
- Order entities: order_id, transaction_id
- Account entities: account_id, organization_id
Usage in Analysis
As part of Sundial's semantic layer, entities enable you to:
- Join metrics across different tables using entity IDs
- Analyze metrics at the entity level (e.g., revenue per user)
- Track entity behavior over time (e.g., user retention)
- Group entities by their dimensional attributes
- Filter metrics to specific entity segments
- Create and analyze custom cohorts of entities
- Deep dive into specific entity behaviors and patterns
- Compare entity cohorts across different dimensions and metrics
Entity Analytics
Sundial provides powerful entity analytics capabilities:
- Custom Cohorts: Create and analyze specific groups of entities based on behaviors or attributes
- Entity Deep Dives: Investigate individual entity details and patterns through entity pages
- Composition Analysis: Understand how entity cohorts are distributed across different dimensions
- Outcome Analysis: Compare cohort performance across key metrics like retention and revenue
- Entity Enrichment: Leverage intelligent entity classification for deeper insights
Best Practices
When defining entities in your semantic model:
- Choose business objects that are central to your analysis
- Use stable, unique identifiers as entity ID columns
- Document the entity lifecycle and valid ID patterns
- Map relevant dimensions to describe entity attributes
- Maintain consistent entity definitions across tables
- Consider whether entity attributes change over time
- Plan for cohort analysis and entity comparison use cases