Wire BigQuery core_api.events ↔ users join for true ghost-rate delta
- Assignees
- Unassigned
- Created
- 5/11/2026, 10:34:52 PM
- Source
content/artifacts/toby-state-of-business---nightly-report/b9bfe5ec-9a61-4206-89bf-3257224a21dc/state-of-business-2026-05-18.html
Today 'ghost' (never-active) rate is 62.5% of all users, but this is computed only from users.last_active which is fed by extension heartbeats. core_api.events has anonymous extension events without a user_id at the JSON root — so we can't join to confirm whether ghosts are truly inactive or just have a broken heartbeat path. Action: surface the user_id from core_api.events (likely in a properties subfield) and persist it during ETL, then join to users.id for a real ghost rate. Until then ghost % is a proxy only.