Incident Lab · SEV2 · dbt
Mobile purchases missing from fct_events
Product: a purchase and a signup from yesterday are in the app logs but not in fct_events.
fct events is a dbt incremental model. On each run it inserts only the rows from raw events whose event time is newer than the newest event time it already has. The mobile app queues events while a phone is offline and sends them later. Those rows arrive with an old event time and a new loaded at , so the filter skips them, and no later run will pick them up either. Investigate: Fix the incremental filter so the run picks up everything that was loaded since the last run, whatever its event time . A lookback window on event time also works in practice, but here every row must arrive exactly once. Keep the INSERT INTO fct events SELECT event id, user id, event type, event time, loaded at ... shape, then SELECT FROM fct events ORDER BY event id .
