dataset
Pulse Product dataset
Pulse Product is a fictional SQL Trail data world used for product analytics tables for funnels, cohorts, events, and retention. It includes visible and hidden deterministic variants for practice.

Purpose and provenance
Pulse Product is a fictional-domain SQL Trail dataset used for product analytics tables for funnels, cohorts, events, and retention.
Creator/publisher: SQL Trail. Dataset revision/version: pulse-product-2026-06-21.
License/distribution policy: SQL Trail original educational content; public reuse and citation policy are documented in Content Standards.
The data is intentionally small, deterministic, and designed to expose nulls, ties, missing relationships, and fan-out traps.
Schema image: /illustrations/datasets/pulse-product.webp. The accessible relationship summary below is the canonical text alternative.
Tables, grains, keys, relationships, and row counts
Each table has a stated grain, primary key, foreign-key summary, row count, and column count so learners can reason about joins before writing SQL.
| Table | Grain | Primary key | Foreign keys | Row count | Columns |
|---|---|---|---|---|---|
| accounts | one row per product account | account_id | none | 3 | 3 |
| calendar_days | one row per reporting day | day | none | 10 | 1 |
| calendar_weeks | one row per reporting week | week_start | none | 3 | 1 |
| events | one row per ingested product event | event_id | session_id -> sessions.session_id; user_id -> users.user_id | 8 | 6 |
| experiment_assignments | one row per user experiment assignment | assignment_id | experiment_id -> experiments.experiment_id; user_id -> users.user_id | 2 | 5 |
| experiments | one row per experiment | experiment_id | none | 1 | 2 |
| sessions | one row per user session | session_id | user_id -> users.user_id | 5 | 4 |
| subscriptions | one row per subscription interval | subscription_id | account_id -> accounts.account_id | 3 | 4 |
| users | one row per application user | user_id | account_id -> accounts.account_id | 4 | 4 |
Intentional edge cases and relationship summary
Relationship summary is provided as text so the page remains useful without inspecting the schema image.
Relationships: events.session_id -> sessions.session_id; events.user_id -> users.user_id; experiment_assignments.experiment_id -> experiments.experiment_id; experiment_assignments.user_id -> users.user_id; sessions.user_id -> users.user_id; subscriptions.account_id -> accounts.account_id; users.account_id -> accounts.account_id.
Intentional edge cases include nulls, ties, missing relationships, boundary rows, and fan-out traps when the domain can teach them.
| Table | Relationship check |
|---|---|
| accounts | source or lookup table with no outgoing foreign key |
| calendar_days | source or lookup table with no outgoing foreign key |
| calendar_weeks | source or lookup table with no outgoing foreign key |
| events | session_id references sessions.session_id; user_id references users.user_id |
| experiment_assignments | experiment_id references experiments.experiment_id; user_id references users.user_id |
| experiments | source or lookup table with no outgoing foreign key |
| sessions | user_id references users.user_id |
| subscriptions | account_id references accounts.account_id |
| users | account_id references accounts.account_id |
Downloadable distributions
Downloadable SQL distributions are published as deterministic seed files for visible, boundary, null, tie, and project variants.
CSV distributions are not published in this release; result-grid CSV export is separate from dataset landing-page downloads.
Do not invent or link a CSV package until the product actually exposes one.
- SQL distribution asset: /sql-datasets/pulse_product/visible.sql
- SQL distribution asset: /sql-datasets/pulse_product/boundary.sql
- SQL distribution asset: /sql-datasets/pulse_product/nulls.sql
- SQL distribution asset: /sql-datasets/pulse_product/ties.sql
- SQL distribution asset: /sql-datasets/pulse_product/project.sql
Modules, projects, and update history
Modules that use this dataset include M00, M06, M16, M20, M21, M25, and more.
Projects that use this dataset: Pulse Activation, Cohorts, and Retention.
Update history: pulse-product-2026-06-21 is the launch revision for this public dataset page and generated SQL seed files.