Skip to content
Back to challenges
Metrics-first Product ModelingConcept Challengeintermediate25 min

Invite-activation grain

Turn an activation-rate question into an invite event fact that supports denominator, numerator, time window, and debugging dimensions.

How this preview works
Preview this problem before signing in. Sign in to save progress and submit work.

Concept

fact-table-grain

The primary modeling idea this problem reinforces.

Requirements

4

Business needs the model must satisfy.

Read the concept guide: Fact table grain
Scenario

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.

Why this matters

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.

Requirements
  • 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.
Read-only starter workspace
Inspect the authored starting ERD, then open the workspace to edit and run the checks. Saving your progress needs a free account.

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.

Mini Map

This preview is read-only. Open the workspace to edit and verify; saving needs a free account.

Open workspace

Try the question first.

The discussion has other people's approaches and solutions. Give it a real attempt before you read them.