playground explore freely · no grades
SQL Playground
Explore any Runtime dataset with SQL. Nothing here affects course progress.
Eighteen months of a fictional collaboration product: workspaces, users, invitations, projects, sessions, raw event deliveries, experiments, plan changes and billing.
238,014 rows10 tables2024-01 – 2025-06
tables
Open a table to see what one row means, its columns and keys, and a preview. Start from events: it is the dataset's central table.
accounts3,200 rows · 7 columns
One customer workspace (a company or team).
- account_id
Workspace key
- account_name
Fictional company name
- industry
Self-reported industry
- company_size
Employee band
- country
Billing country
- acquisition_channel
How the workspace was acquired
- created_at
Workspace signup time (UTC)
users11,348 rows · 9 columns
One person in one workspace.
- user_id
User key
- account_id
Workspace
- full_name
Fictional name
- email
Login email
- role
owner, admin or member
- signup_source
workspace_creator, invitation or domain_join
- referred_by_user_id
User in another workspace who referred this workspace creator; NULL otherwise
- created_at
Account creation time (UTC)
- deactivated_at
When an admin removed the user; NULL if still active
subscriptions4,583 rows · 8 columns
One plan period for a workspace. Each workspace has exactly one current plan (no end date).
- subscription_id
Subscription interval key
- account_id
Workspace
- plan
free, starter, pro or business
- billing_period
monthly or annual; NULL on the free plan
- mrr_cents
Monthly recurring revenue in US cents (annual plans divided by 12)
- started_at
Interval start (inclusive)
- ended_at
When this plan period ended; NULL for the current plan
- end_reason
upgrade, downgrade or canceled; NULL for the current plan
sessions47,891 rows · 5 columns
One product session by one user.
- session_id
Session key
- user_id
User
- started_at
First activity (UTC)
- ended_at
Last activity (UTC)
- device
web, desktop_app, ios or android
events135,428 rows · 8 columns
One product event as received. Retries can repeat the same event, and some events arrive late.
- delivery_id
Ingestion order key
- event_id
Logical event id; repeats when the client retried
- user_id
Acting user
- account_id
Workspace
- session_id
Session; NULL for server-side events
- event_name
What happened
- occurred_at
When it happened on the client or server (UTC)
- received_at
When the pipeline ingested this delivery (UTC)
projects9,962 rows · 6 columns
One project created in a workspace.
- project_id
Project key
- account_id
Workspace
- created_by_user_id
Creator
- project_name
Project name
- created_at
Creation time (UTC)
- archived_at
Archive time; NULL while active
invitations6,450 rows · 7 columns
One invitation sent from a workspace.
- invitation_id
Invitation key
- account_id
Workspace
- invited_by_user_id
Sender
- invitee_email
Address invited
- sent_at
Sent time (UTC)
- accepted_at
Acceptance time; NULL if never accepted
- accepted_user_id
User created by accepting; NULL if not accepted
experiments20 rows · 6 columns
One product experiment.
- experiment_id
Experiment key
- experiment_key
Stable code name
- experiment_name
Description
- primary_metric
Event name the experiment aims to increase
- started_at
Start date
- ended_at
When the experiment ended; NULL while it is still running
experiment_assignments14,939 rows · 4 columns
One user’s assigned experiment variant, recorded the first time they see it.
- experiment_id
Experiment
- user_id
User
- variant
control, treatment, or variant_b in three-arm tests
- assigned_at
First exposure time (UTC)
billing_events4,193 rows · 6 columns
One billing charge or credit for a paid subscription.
- billing_event_id
Billing event key
- account_id
Workspace
- subscription_id
Subscription interval billed
- event_type
invoice_paid, payment_failed or refund_issued
- occurred_at
Event time (UTC)
- amount_cents
US cents; refunds are negative, failed payments record the attempted amount
relationships
How to join these tables. Left column matches the right column.
- users.account_id joins to accounts.account_id
- users.referred_by_user_id joins to users.user_id
- subscriptions.account_id joins to accounts.account_id
- sessions.user_id joins to users.user_id
- events.user_id joins to users.user_id
- events.account_id joins to accounts.account_id
- events.session_id joins to sessions.session_id
- projects.account_id joins to accounts.account_id
- projects.created_by_user_id joins to users.user_id
- invitations.account_id joins to accounts.account_id
- invitations.invited_by_user_id joins to users.user_id
- invitations.accepted_user_id joins to users.user_id
- experiment_assignments.experiment_id joins to experiments.experiment_id
- experiment_assignments.user_id joins to users.user_id
- billing_events.account_id joins to accounts.account_id
- billing_events.subscription_id joins to subscriptions.subscription_id