Articles in this section

Traffic-Based Occupancy Logic and Specifications

Overview

Traffic Mode estimates occupancy by counting how many people enter and exit a space.

Occupancy = cumulative IN − cumulative OUT

This approach is scalable and effective for tracking movement and usage trends across entrances, floors, and large spaces.

However, because occupancy is derived from movement events (not directly measured), it follows a natural statistical behavior called drift.

This article explains:

  • how traffic-based occupancy works
  • what drift is and why it happens
  • how Butlr ensures reliable occupancy through calibration
  • how this logic is reflected in the product (live vs historical views)

👉 For how this fits into the broader system, see: How Sensor Setup Determines Data in Butlr

1. How Traffic-Based Occupancy Works (Conceptual Model)

Traffic sensors detect directional movement at entrances:

  • IN → person enters
  • OUT → person exits

Occupancy is calculated by accumulating these events over time.

This enables:

  • traffic flow analysis
  • entry/exit monitoring
  • occupancy estimation at scale

2. What Is Drift

Drift is the difference that can build up over time between:

  • estimated occupancy (from traffic), and
  • actual occupancy in the space

It happens because traffic-based occupancy is cumulative.

Even small counting variations (e.g., a missed or extra event) can persist and accumulate throughout the day.

Simple example

This behavior is expected in any system that estimates occupancy from movement events.

3. Why Drift Happens

Drift reflects how real-world movement and event counting interact.

Key factors include:

  • Counting variation (no system is 100% perfect)
  • Cumulative calculation (errors carry forward)
  • Movement patterns (e.g., back-and-forth traffic, groups)

As a result:

  • occupancy may gradually shift during the day
  • values can temporarily over- or under-estimate true occupancy

👉 Even with high traffic accuracy, drift can still occur because occupancy depends on how events accumulate over time

4. Why Traffic Accuracy ≠ Occupancy Accuracy

The traffic spec distinguishes between two things:

  • Traffic accuracy: how accurately IN/OUT events are detected
  • Occupancy accuracy: how closely the cumulative estimate matches actual occupancy over time

We recommend IN/OUT traffic accuracy for engineering validation and customer evaluations. It has clear targets, is easy to reproduce, and measures entrance-level sensor performance directly. Occupancy accuracy is harder to pin down: it's less consistent and highly sensitive to edge cases, sample size, drift, and the number of traffic sensors.

Key takeaway

Occupancy accuracy is not a direct measure of product quality. It's a combined result of traffic accuracy and real-world movement patterns. The two are decoupled: high IN/OUT precision doesn't guarantee high occupancy accuracy, because occupancy accuracy is dominated by how people actually move through the space. That's why two systems with near-identical IN/OUT accuracy can show very different occupancy behavior.

How to read the table below

Compare the two extremes. In Scenario 1, near-perfect IN/OUT accuracy (99.2%) still produces just 47% occupancy accuracy, because traffic is so low that a single missed event swings the percentage hard. In Scenario 4, much lower IN/OUT accuracy lands at 92% occupancy accuracy, because a consistent directional bias gets absorbed into a growing count. Same sensor precision, opposite occupancy outcomes. The driver is the traffic pattern, not the precision.

This gap between traffic accuracy and occupancy accuracy is exactly what calibration works to close. See Section 5 for how Butlr reduces it, and why some residual difference remains regardless of sensor quality.

5. How Butlr Keeps Occupancy Reliable

Butlr applies a calibration system that re-anchors traffic-based occupancy to real-world conditions at known reference points. This reduces drift over the course of a day and keeps occupancy interpretable.

Calibration anchors

  • Day boundary → resets occupancy at the start of the day 
  • PIR Zeroing → detects when a space is empty and corrects to zero 
  • User calibration (optional) → manual or API inputs

Each anchor gives the system a known-good value to reset to, pulling estimated occupancy back in line with reality.

What calibration does and doesn't do

Calibration corrects occupancy at anchor points: the start of the day, the moment PIR detects an empty space, or when a user calibrates. Between those anchors, cumulative counting variation can still build up, so the live number may differ somewhat from true occupancy before the next reset.

This residual difference is a property of any occupancy estimate built from cumulative IN/OUT events. It isn't specific to Butlr, and it isn't a sign of a sensor fault. Calibration shrinks the gap and re-zeros it at each anchor; it doesn't change the underlying math. The more frequent the anchors, the smaller the residual difference stays, which is why spaces with PIR Zeroing track closer to true occupancy throughout the day.

When you need exact, moment-to-moment occupancy for a specific room or zone, Presence Mode is the better fit, since it measures occupancy directly rather than accumulating it from movement. (See Section 7.)

Processing pipeline

Traffic data is processed into usable occupancy through:

  1. event aggregation
  2. calibration filtering
  3. drift correction
  4. interpolation + cleanup
  5. time-based aggregation

6. How This Appears in Butlr (Live vs Historical)

Because occupancy evolves throughout the day, Butlr presents traffic-based data differently depending on context.

Live / Today

Shows direct signals:

  • IN / OUT
  • Busy level (activity over time window)

Does not show:

  • floor-level/room-level occupancy from traffic alone

👉 Live views focus on movement and activity

Historical (Yesterday and Earlier)

Shows calibrated results:

  • IN / OUT trends
  • calibrated occupancy

👉 Occupancy is shown after calibration, when it is stable and interpretable

With PIR Zeroing

Spaces with PIR Zeroing:

  • receive calibration anchors during the day
  • can support near real-time occupancy insights

7. When to Use Traffic Mode

Traffic Mode is best suited for:

  • entrances and doorways
  • floor or building-level insights
  • understanding flow and usage patterns

Presence Mode is better for:

  • real-time occupancy in rooms/zones
  • location-based insights (coordinates)

👉 Both modes run on the same Heatic hardware and can be combined for richer insights

8. Key Takeaways

  • Traffic Mode estimates occupancy from IN/OUT movement 
  • Drift is a natural outcome of cumulative event-based estimation 
  • Calibration reduces drift but does not eliminate it; some residual difference from true occupancy is expected, especially between calibration anchors 
  • Occupancy behavior depends on movement patterns, not just sensor accuracy 
  • Calibration aligns occupancy with real-world conditions at known reference points 
  • More frequent anchors (e.g., PIR Zeroing) keep traffic-based occupancy tighter throughout the day 
  • For precise real-time room or zone occupancy, use Presence Mode 
  • Butlr presents traffic-based occupancy where it is most reliable (historical, calibrated views)
Was this article helpful?
0 out of 0 found this helpful

Comments

0 comments

Please sign in to leave a comment.