> ## Documentation Index
> Fetch the complete documentation index at: https://docs.heywavey.tech/llms.txt
> Use this file to discover all available pages before exploring further.

# Anonymous Occupancy Analytics with WiFi CSI

> Generate zone-level utilization metrics from WiFi CSI without tracking devices, capturing personal data, or installing cameras.

Facilities teams need to know how spaces are actually used: peak hours, dead zones, desk utilization. CSI analytics provides anonymous utilization signals from the radio environment without installing cameras or tracking employee devices.

## What to measure

Binary occupancy over time is the robust foundation. Aggregate it into four core metrics:

* **Utilization rate** — fraction of time a zone was occupied during business hours.
* **Peak occupancy periods** — when does this room actually fill up?
* **Dwell time** — how long does occupancy persist once triggered?
* **Zone comparison** — which floors, wings, or desks see traffic?

These metrics drive real decisions: rightsizing meeting rooms, adjusting HVAC schedules, reallocating desk inventory. None require knowing who was present.

## Temporal aggregation

Raw CSI events are noisy at second-level resolution. Analytics pipelines aggregate over minutes to hours.

**1. Apply debounce and hysteresis**

Filter rapid toggles at the event layer, same as [smart-home automation](https://docs.heywavey.tech/use-cases/smart-home-automation.md).

**2. Bucket into time windows**

Aggregate into 15-minute, hourly, or daily windows.

**3. Compute utilization**

Calculate occupied samples divided by total samples per window.

**4. Visualize**

Render as heatmaps, trend lines, or zone rankings.

Motion intensity adds a secondary axis (high-traffic versus low-traffic occupancy) when [activity detection](https://docs.heywavey.tech/use-cases/motion-activity-detection.md) is available.

## Anonymous CSI vs MAC analytics

MAC-address tracking logs device identifiers. This creates three problems:

* One person with three devices inflates the count.
* Five people sharing one screen undercounts.
* Device identifiers may be personal data under GDPR.

CSI analytics reads how bodies disturb the signal. No identifiers are captured or stored. The output is zone-level utilization, not individual tracking. For regulatory context, this is closer to a people-counter beam than a WiFi probe request log.

## Honest limits on headcount

Binary occupancy per zone is reliable. Exact person count is not: multipath superposition from multiple bodies creates ambiguous CSI patterns without spatial diversity. WiFree achieved 92.8% crowd-count accuracy with transfer-kernel learning on building-scale CSI, but that required calibrated multi-AP infrastructure, not a single ESP32 node. The [detection ladder](https://docs.heywavey.tech/concepts/detection-ladder.md) places person count at rung 7.

Design dashboards around utilization and presence trends, not exact headcounts. Estimates are possible with multiple nodes and calibration, but treat them as approximate.

> **[Occupancy detection](https://docs.heywavey.tech/use-cases/occupancy-detection.md)**
>
> The underlying signal for analytics

> **[Device-free occupancy sensing](https://docs.heywavey.tech/posts/device-free-occupancy-sensing-explained.md)**
>
> Keeping analytics stable with baselines

> **[Getting started](https://docs.heywavey.tech/getting-started.md)**
>
> Deploy your first analytics pipeline


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.