Intermediate
Open
Pro
Session Analytics Are Wrong for Users Who Go Offline
A mobile app logs user interaction events locally when the device is offline and batch-uploads them once connectivity returns, each event carrying its original client-side timestamp. A streaming job computes "session windows" (30-minute inactivity gap) over these events to measure session length and engagement, using processing time (the time the event is received by the server) rather than the client-side event timestamp. Analytics report a large spike in artificially long, low-engagement "sessions" specifically for users who use the app on subways or in areas with poor connectivity.
- Explain the mechanism by which using processing time produces this specific symptom (artificially long sessions for offline-prone users).
- Would switching to event time alone fully fix session-length accuracy for this population? What additional consideration does event time introduce that processing time didn't have?
- Describe the concrete change(s) you'd make, including how you'd validate the fix before rolling it out broadly.
Share this question