Invite-activation grain
Turn an activation-rate question into an invite event fact that supports denominator, numerator, time window, and debugging dimensions.
Concept
fact-table-grain
The primary modeling idea this problem reinforces.
Requirements
4
Business needs the model must satisfy.
A collaboration product team changed onboarding and now invite activation looks worse. They define activation as an invite accepted within 7 days of being sent. They need activation rate by acquisition channel and workspace plan, plus the ability to inspect expired and resent invites.
The model needs the events behind the rate. If the fact starts as a user-day summary, the team cannot separate sent, accepted, expired, and resent invite behavior.
- Create an invite event fact where one row represents one invite state event.
- Keep invite id queryable on the fact as a degenerate dimension.
- Add event time and event type fields for sent, accepted, expired, and resent events.
- Connect the fact to user and workspace dimensions through explicit surrogate-key foreign keys.
Template
Workspace invite activation starter workspace
The model users start from in the full workspace.
Entities
2
Seeded tables visible in the public preview.
Dialect
postgresql
Generated SQL target for this starter model.
This preview is read-only. Open the workspace to edit and verify; saving needs a free account.
Open workspaceTry the question first.
The discussion has other people's approaches and solutions. Give it a real attempt before you read them.