Skip to main content
An access session is the daily summary of a person’s access activity at a site. An access session is built from raw access events, where each event has a timestamp and a direction, usually inbound or outbound. Once those events are grouped into a day, you can ask higher-level questions like whether the day starts with an entry and ends with an exit, whether inbound and outbound counts match, and how much time the person appears to have spent onsite.

How sessions are calculated

Sessions are calculated from the full set of access events for a person on a given day at a given site. The events are ordered chronologically, and then the system derives attributes (Active, Compliant, Balanced) and duration-based metrics (naive gross span, balanced gross span, net onsite span, net offsite span) from that ordered set. Some calculations use only the first and last events of the day. Others use counts of inbound and outbound reads. Others look across the full sequence and pair inbound and outbound events into smaller sub-sessions. Because of that, the same underlying set of badge reads supports several different interpretations of time onsite, each useful in different situations. In practice, this means a session is not just “one entry and one exit.” It is a structured interpretation of all access reads for that day.

Understanding session attributes

Active

A session is active when the last access event of the day is an inbound event. In other words, the final recorded action for that person on that day is an entry rather than an exit. This usually means the data suggest the person is still onsite at the end of the recorded sequence, or at least that no outbound event was recorded after the last inbound event.

Compliant

A session is compliant when the first access event of the day is inbound and the last access event of the day is outbound. This calculation intentionally ignores everything in between and only evaluates the outer edges of the day’s event set. That means compliance is stricter and simpler than it may first appear. It does not ask whether every swipe alternates correctly or whether counts are balanced. It only asks whether the day begins with an entry and ends with an exit. This is important for sites with kiosks or readers that only generate inbound reads. In those environments, sessions will tend to be non-compliant because the last event of the day is never outbound.
On kiosk or inbound-only sites, sessions will usually be marked non-compliant because no outbound event is recorded. This does not mean the person never left, only that the system did not capture an outbound read.

Balanced

A session is balanced when the number of inbound reads matches the number of outbound reads for the day. This is a count-based check rather than an ordering-based one. A balanced session suggests that the day’s events can be cleanly paired into entry and exit segments. An unbalanced session means there are unmatched reads somewhere in the day, such as an extra inbound with no later outbound, or an outbound without a corresponding prior inbound in that day’s event set. Balanced and compliant are related but not the same. A session can be compliant without being balanced, and it can be balanced without being compliant.

Understanding session time spans

Naive gross span

The naive gross span is the amount of time between the first and last access event of the day, regardless of direction. It is the broadest and simplest measure of the session. This span is useful because it can still be computed even when direction data are incomplete or asymmetric. For example, on kiosk-only sites where all events are inbound, the naive gross span still gives a rough measure of the day’s first-to-last observed activity.

Balanced gross span

The balanced gross span is the amount of time between the first inbound event of the day and the last outbound event of the day, ignoring all other events in between. This gives a more direction-aware “outer envelope” of the day than the naive gross span. It assumes there is at least one inbound and one outbound event to anchor that span. If one of those is missing, then balanced gross span is not meaningful for that session.

Net onsite span

The net onsite span is the sum of time spent on site across each paired inbound-to-outbound segment of the day. Rather than treating the day as one continuous block, it breaks the day into sub-sessions and adds together the time inside each one. For example, if someone badges in, badges out for lunch, badges back in, and then badges out again, the net onsite span is the total of those two inside segments. This is usually the best representation of actual onsite time when the access pattern is well-formed.

Net offsite span

The net offsite span is the sum of time between those paired onsite segments. It measures the gaps from an outbound event to the next inbound event. This is effectively the complement of the net onsite sub-sessions within the observed day. If someone leaves the site and later returns, the time away contributes to net offsite span.