name: data-conventions description: Apollo.io data naming conventions, schema patterns, and ETL rules
Apollo Data Conventions
Naming Conventions
Tables
- Use
snake_casefor all table and column names - Prefix with domain:
users_,events_,billing_,product_ - Avoid abbreviations unless universally understood (e.g.,
id,ts,amt)
dbt Model Layers
- Staging (
stg_): 1:1 with source, light cleaning only, no joins - Intermediate (
int_): business logic, joins between staging models - Marts (
fct_,dim_): fact and dimension tables for consumption
Timestamps
- Always use UTC
- Column name:
created_at,updated_at,deleted_at - Type:
TIMESTAMP WITH TIME ZONE
Schema Organization
| Schema | Contents |
|---|---|
raw |
Source-loaded data, do not query directly |
staging |
dbt staging models |
intermediate |
dbt intermediate models |
analytics |
Mart tables for BI consumption |
scratch |
Analyst workspace, not production |
ETL Rules
- All pipelines must have monitoring and alerting
- Source-of-truth for each entity is documented in the data catalog
- Breaking schema changes require 2-week notice to downstream consumers
- New tables require a data contract (owner, SLA, description)
Contacts
- #data-infra — pipeline issues, access requests
- #data-conventions — questions about naming or modeling patterns (or wherever this is discussed)
- Data Catalog: [link]