Blog

Why Scroll Patterns Are Weak Evidence Alone

Scroll behaviour is collected almost everywhere because it is cheap to observe. It is also one of the weaker behavioural signals, and the reasons are worth understanding before weighting it.

The browser mediates heavily

What a page observes is not raw input. Browsers apply smoothing, momentum and rubber-band effects, and they coalesce events to match the display refresh rate.

The result is that two different physical actions can produce nearly identical event streams, and the same action produces different streams in different browsers.

Much of what looks like user behaviour in scroll data is actually the browser's animation curve, which is a property of the software rather than of the person.

Input devices dominate the shape

A mouse wheel produces discrete notches, a trackpad produces continuous deltas with momentum, a touchscreen produces flings, and a keyboard produces fixed jumps.

These four produce dramatically different traces, and the difference between them swamps any variation between individuals using the same device.

Knowing the input class is genuinely useful for consistency checking. It says little about who is scrolling.

Reading behaviour is highly variable

The same person scrolls differently depending on whether they are reading carefully, scanning for a specific item, or moving to a known position further down.

Within-person variation therefore approaches between-person variation, which is the condition under which a biometric stops working.

Content shape adds more noise. A page with long text produces steady progress, while one with distinct sections produces jumps that reflect layout rather than the reader.

Automation can produce plausible traces cheaply

Because the expected shape is smooth and largely determined by the browser, generating a convincing scroll trace is easier than generating convincing pointer movement or typing rhythm.

Replaying a recorded human trace is also straightforward, and the coarse resolution means small imperfections in the replay are not distinguishable from ordinary variation.

Signals that are cheap to imitate have low weight, and scroll data falls squarely in that category.

Its real value is as corroboration

Scroll data works well when checked against other things. Content consumed without any scrolling on a page requiring it, or scroll depth inconsistent with time on page, indicates a session worth examining.

Absence is often more informative than pattern. A session that reports engagement while never scrolling has an internal contradiction, and contradictions are what detection is genuinely good at finding.