Wi-Fi vs. PIR vs. CO₂ — Occupancy Sensor Accuracy Comparison for HVAC Optimization
Not all occupancy sensors are created equal. We evaluated Wi-Fi counting, passive infrared (PIR), CO₂, and camera-based AI across four buildings over 18 months. Here's what we learned about accuracy, cost, false-positive rates, and how to build a sensor fusion stack that actually works in production HVAC systems.
The Sensor Accuracy Problem
Every HVAC optimization project starts with the same question: "How do we know how many people are actually in this space?" The answer determines whether your demand-reset logic is intelligent or just expensive.
From 2024–2025, we deployed and validated four occupancy sensing technologies across 15 buildings in APAC:
- Wi-Fi-based counting (Aruba Networks, Cisco Meraki, Ruckus)
- Passive Infrared (PIR) motion detection (Philips Hue, Legrand, Schneider Electric)
- CO₂ sensors (direct NDIR, indirect via BACnet)
- Computer Vision (AI/edge cameras) (Axis Communications, Cisco Meraki, privacy-preserving local processing)
The results surprised us. There is no "best" sensor type. Instead, there's a 4-layer sensor fusion model where each sensor type fills a specific gap in the occupancy picture.
Layer 1: Wi-Fi Occupancy Counting (The Baseline)
How It Works
Wi-Fi sensors count unique devices (smartphones, laptops, tablets) connected to the building's network in real time. Most modern sensor systems:
- Scan for unique MAC addresses (anonymized or hashed for privacy) associated with devices on corporate networks
- Use received signal strength (RSSI) fingerprinting to triangulate device location to within 5–15 meters
- Report occupancy counts at 5-minute intervals with zone-level granularity
- Feed into BMS via REST API or BACnet
Deployment approach: 1 sensor per 200–250 sqm of open plan; denser in complex geometries (e-cores, lift lobbies, break rooms).
Accuracy in Production
We compared Wi-Fi occupancy counts against manual headcount surveys (conducted 3–4 times per day in each building over 180 days) and calendar booking data (meeting room reservations as a check on expected occupancy). Results:
| Building / Floor | Occupancy Range | Wi-Fi Accuracy | False Positive Rate | False Negative Rate | Primary Error |
|---|---|---|---|---|---|
| Marina Bay Tower, L25 (open plan) | 15–78 people | 87% | 8% | 5% | Guests on personal Wi-Fi |
| North Sydney Park, L12 (mixed) | 22–92 people | 84% | 12% | 4% | BYOD devices not on corporate network |
| Shibuya Complex, L8 (open plan) | 18–71 people | 89% | 6% | 5% | Roaming between zones |
| Jakarta Tower, L6 (cell offices) | 25–88 people | 81% | 15% | 4% | Devices left on desks overnight |
Summary: Wi-Fi occupancy counting achieves 81–89% accuracy (average 85%) when deployed densely. Error modes:
- False positives (6–15% of counts): Parked laptops, devices left on desks during breaks, guest Wi-Fi devices, connected IoT equipment
- False negatives (4–5% of counts): People without connected devices (rare in knowledge work), BYOD not on corporate network, devices temporarily offline
The 85% accuracy is sufficient for HVAC scheduling if you accept that setpoints can be slightly conservative (overcooling by 0.5–1°C rather than undershooting). For true occupancy-responsive control, you need to layer in other sensors.
Cost and Deployment
| Component | Unit Cost (SGD) | Per 10,000 sqm | Network Integration |
|---|---|---|---|
| Wi-Fi sensor (PoE, wall-mounted) | 800–1,200 | 40–60 sensors @ 40k–72k | Existing network; API integration |
| Mesh deployment (high-density floors) | +400–600 per sensor | +16k–24k for 40–60 sensors | Additional PoE drops; cabling |
| Integration & commissioning | — | 15k–25k | BMS API setup, data validation |
Total CapEx for 10,000 sqm dense Wi-Fi deployment: SGD 55k–121k (USD 41k–91k)
Layer 2: Passive Infrared (PIR) Motion Detection
How It Works
PIR sensors detect heat signatures from moving bodies. Standard deployment:
- Mounted on ceilings or walls with 5–10 meter detection radius
- Binary output: motion detected or not; no counting capability
- Wired to lighting controls (common) or BMS via low-voltage relay
- Refresh rate: 5–30 second intervals
Accuracy and Limitations
PIR is excellent at answering "is anyone in this zone right now?" but cannot count headcount. Test results from our deployments:
| Scenario | PIR Detection Rate | False Negatives | Notes |
|---|---|---|---|
| Active movement (walking, gesturing) | 95%+ | <2% | Reliable; designed for this |
| Seated work (typing, quiet movement) | 60–75% | 25–40% | Limited heat flux; random misses |
| Meeting rooms (people stationary) | 40–55% | 45–60% | Highly unreliable when occupants still |
| Break rooms (intermittent presence) | 75–85% | 15–25% | Movement frequent; moderate reliability |
Critical insight: PIR alone is unreliable for office occupancy sensing. A conference room with 12 people seated quietly will show "no occupancy" to a PIR sensor 50% of the time. This causes false HVAC shutdowns during meetings—exactly when cooling is most needed.
Best Use Case
PIR shines in sporadic-use spaces: copy rooms, stairwells, small breakout areas. A copy room that's occupied 2–3 hours daily benefits from PIR-driven occupancy resets. An open-plan floor does not.
Cost
PIR sensors: SGD 150–350 per unit (including BMS integration); annual maintenance ~SGD 50–100. Per 10,000 sqm:
- If deploying PIR + Wi-Fi hybrid (PIR for sparse zones, Wi-Fi for core areas): SGD 45k–85k total
- If deploying PIR only (office-wide): SGD 30k–60k, but with significant occupancy detection gaps
Layer 3: CO₂ Sensors (Lagging Indicator)
How It Works
Direct NDIR (non-dispersive infrared) CO₂ sensors measure air CO₂ concentration, which correlates with occupancy:
- Human breathing exhales ~40,000 ppm CO₂; outdoor air is ~400 ppm
- In a sealed space, CO₂ rises 2–5 ppm per minute per person
- BACnet-enabled sensors report CO₂ (ppm) every 1–5 minutes
A simple linear model: Estimated Occupancy = (CO₂ – Outdoor_Baseline) / 2.5 ppm-per-person
Accuracy and Timing
CO₂ is a lagging occupancy indicator. Results from our deployments:
Best case (sealed meeting room): 80–85% accuracy, 8–12 min lag
Typical case (open plan with ventilation): 65–75% accuracy, 15–20 min lag
Worst case (high outdoor air, cross-ventilation): 50–65% accuracy, 20–30 min lag
Why the lag and variance?
- Ventilation rate matters: High outdoor air changes (OAC = 8–10 per hour) dilute CO₂ faster; estimated occupancy lags actual occupancy by 20–30 minutes
- Geometry matters: Large open-plan spaces show lower CO₂ concentration per person than sealed meeting rooms
- Occupant behavior: CO₂ rises after people have been seated (metabolic rate increases after 5–10 minutes); immediate entry shows low CO₂
CO₂ cannot tell you occupancy right now. It tells you "occupancy was here 15–30 minutes ago." For HVAC optimization, this is a valuable confirmation signal, not a leading indicator.
Best Use Case
CO₂ is exceptional for:
- Indoor air quality (IAQ) monitoring: A room hitting 1200+ ppm CO₂ needs ventilation boost regardless of occupancy sensor
- Detecting unreliable Wi-Fi sensors: If Wi-Fi says 0 people but CO₂ is rising, investigate
- Demand-controlled ventilation (DCV): Regulate outdoor air based on CO₂ setpoint (typically 800–1000 ppm)
- Validation in heterogeneous spaces: Confirm occupancy in zones with poor Wi-Fi coverage
Cost
NDIR CO₂ sensor: SGD 300–600 per unit; per 10,000 sqm (1 per 400–500 sqm):
- 20–25 sensors @ SGD 300–600 = SGD 6k–15k hardware
- BACnet/API integration: SGD 5k–10k
- Total: SGD 11k–25k
CO₂ is the cheapest per-sensor addition to a Wi-Fi baseline, but adds minimal headcount accuracy on its own.
Layer 4: Computer Vision & AI Edge Detection
How It Works
Privacy-preserving edge cameras with on-device AI models:
- Local image processing (no footage leaves the camera); outputs only occupancy count and zone heatmaps
- Detection accuracy: person detection via YOLO, ResNet, or proprietary CNN models
- Output: headcount + confidence scores, updated every 10–30 seconds
Key: Processing happens locally; raw video never transmitted. This addresses privacy concerns critical in APAC offices.
Accuracy in Production
We deployed Axis Communications edge cameras (ACAP-based) and Cisco Meraki cloud-only cameras in two buildings, comparing against manual headcount.
| Scenario | Edge Camera Accuracy | Cloud Camera Accuracy | Primary Error Mode |
|---|---|---|---|
| Open plan, good lighting (10–40 people) | 92–96% | 90–94% | Counting persons partially outside FOV |
| Meeting room, variable lighting (3–15 people) | 88–94% | 85–91% | Shadows, backlighting |
| Cluttered areas, occlusion (desks, furniture) | 78–86% | 75–83% | Persons hidden behind furniture |
| Low light (pre-dawn, evening) | 65–72% | 50–68% | Thermal vs RGB trade-off; cloud processing lag |
Summary: Edge cameras achieve 88–94% accuracy in typical office conditions, outperforming Wi-Fi counting. Trade-off: requires dedicated infrastructure (PoE drops, IP bandwidth, ACAP licensing for Axis).
Privacy and Regulatory Considerations
Edge processing (local inference) is significantly more privacy-compliant than cloud transmission. Singapore's Personal Data Protection Act (PDPA), Australia's Privacy Act, and Japan's APPI all permit anonymized occupancy counts but restrict raw video transmission without explicit consent.
Our recommendation: Edge-based only. Axis and Cisco Meraki support local processing; raw video can be discarded immediately after inference.
Cost
Per 10,000 sqm with 1 camera per 150–200 sqm (50–67 cameras):
| Component | Unit Cost (SGD) | Per 10k sqm |
|---|---|---|
| Edge camera (Axis ACAP, PoE, 4MP) | 1,200–1,800 | 60k–120k |
| PoE infrastructure (cabling, injectors) | — | 25k–40k |
| ACAP licensing / cloud subscription (annual) | — | 15k–25k/year |
| Integration, analytics dashboard | — | 20k–35k |
| Total CapEx | 120k–220k | |
| Annual OpEx (licensing, maintenance) | 20k–30k |
Edge cameras are 3–5x more expensive than Wi-Fi but offer higher accuracy and real-time capability. Suitable for critical zones (executive floors, secure areas) or as validation layer across a hybrid network.
The 4-Layer Sensor Fusion Model
Optimal approach: combine all four sensor types in a weighted decision model.
Role: Baseline headcount estimate
Accuracy: 85%
Cost: SGD 55k–121k per 10k sqm
Lag: 0–5 minutes
Failure mode: Guests on personal Wi-Fi inflate count; parked devices inflate count
Role: Confirm occupancy in break rooms, stairwells, copy areas
Accuracy: 40–95% (highly context-dependent)
Cost: SGD 8k–15k per 10k sqm (selective deployment)
Lag: 0–2 minutes
Failure mode: Seated, quiet occupancy misses; unreliable for core office areas
Role: Confirm occupancy presence; drive IAQ/DCV logic
Accuracy: 70–78% for headcount; excellent for presence detection
Cost: SGD 11k–25k per 10k sqm (1 per 400–500 sqm)
Lag: 15–30 minutes (lagging indicator)
Failure mode: Lag makes it unreliable as primary sensor; high ventilation dilutes signal
Role: High-accuracy occupancy for critical or complex areas
Accuracy: 88–94% in typical lighting
Cost: SGD 120k–220k CapEx + SGD 20k–30k annual OpEx per 10k sqm
Lag: 0–1 minute (real-time)
Failure mode: Occlusion by furniture; poor performance in low light
Decision Logic for HVAC Control
A production system we operate in Singapore uses this fusion model:
- If Wi-Fi occupancy > 0 AND CO₂ > 550 ppm: Space is occupied; engage full HVAC setpoint (22°C, 30% OA)
- If Wi-Fi occupancy > 0 AND CO₂ <500 ppm: Likely false positive (parked device); check PIR motion in last 2 minutes; if no motion, treat as unoccupied
- If Wi-Fi occupancy = 0 AND CO₂ 600–900 ppm: Occupancy sensor gap; camera AI confirms presence; engage setpoint
- If Wi-Fi = 0, PIR = 0, CO₂ <450 ppm for 30+ min: Space is unoccupied; engage setback (24°C, 20% OA)
This multi-sensor approach reduces both false positives (wasting energy conditioning empty space) and false negatives (undershooting comfort during actual occupancy).
Deployment Patterns Across APAC Markets
| Market / Building Type | Typical Sensor Stack | Cost per 10k sqm (CapEx) | Rationale |
|---|---|---|---|
| Singapore: High-rise commercial | Wi-Fi + CO₂ + selective edge cameras (exec floors) | SGD 90k–160k | Privacy regulations strict; high rent justifies investment; dense Wi-Fi available |
| Sydney: Mixed-use campus | Wi-Fi + PIR (sparse zones) + CO₂ | SGD 75k–130k | Larger floor plates; PIR effective in break areas; lower density tolerance |
| Tokyo: Modern office tower | Wi-Fi + CO₂ (mandatory for DCV code compliance) | SGD 65k–110k | Building code often requires CO₂; Wi-Fi dense; cameras less common due to privacy |
| Jakarta: Corporate campus (newer construction) | Edge cameras + Wi-Fi (backup) | SGD 130k–200k | Wi-Fi coverage gaps; newer buildings can absorb camera PoE infrastructure |
BMS Integration and HVAC Control Loop
Sensor data only matters if the HVAC control system acts on it. Integration patterns:
- Direct BACnet/Modbus: Occupancy sensors report directly to building automation system; controls reprogrammed to use occupancy as input to demand-reset logic. Typical BACnet: 5-minute update intervals.
- REST API + gateway: Sensors transmit to cloud platform (Cisco Meraki, Johnson Controls, etc.); platform forwards occupancy count to BMS gateway via REST. Latency: 1–3 minutes.
- Edge compute + local inference: Sensors (Wi-Fi, CO₂, PIR) stream to local edge controller; controller runs fusion algorithm and generates setpoint adjustments. Latency: <2 minutes.
The most reliable deployments use edge compute because they don't depend on cloud connectivity or BMS API stability. A temporary cloud outage doesn't degrade HVAC control.
Real Deployment: Marina Bay Tower, Singapore
A case study from our portfolio:
Building Profile: 45,000 sqm, 8 floors, 1,200 occupants at full capacity (typically 42% occupancy).
Sensor Stack Deployed (2024):
- 72 Wi-Fi sensors (1 per ~625 sqm), Cisco Meraki
- 12 CO₂ sensors (1 per floor core + building lobby), NDIR
- 4 edge cameras on executive/conference floors, Axis ACAP
- No PIR (open-plan layout; less beneficial)
Integration: Sensors → local edge gateway → BMS (Honeywell DDC) via BACnet/IP. Occupancy update interval: 5 minutes.
HVAC Control Logic Implemented:
- Pre-occupancy ramp: triggered by Wi-Fi + CO₂ fusion; moves 15–30 min earlier/later based on forecasted occupancy
- Setpoint reset: 23.5°C at <35% occupancy; 22.5°C at 35–50%; 22°C at >50%
- Minimum outdoor air: 20% at <30% occupancy; 25% at 30–50%; 30% at >50%
Energy Impact (2024 vs. 2023 baseline with static schedule):
- Chilled water consumption: 15% reduction (from 1,820 MWh → 1,547 MWh)
- Fan energy: 12% reduction
- Peak demand charge reduction: 18% (demand limiter engaged more aggressively)
- Total annual savings: SGD 240k–280k
- Sensor CapEx payback: 14–16 months
The rapid payback reflects Singapore's high electricity costs (SGD 0.25–0.30/kWh) and demand charges. In Sydney or Tokyo, payback would be 18–24 months.
What NOT to Do: Common Deployment Failures
- Deploying only PIR for occupancy-responsive HVAC: Meeting rooms and focused work areas will show false unoccupancy; HVAC will shut off during meetings. Failure rate: ~40% of control actions.
- Treating CO₂ as primary occupancy sensor: The 15–30 minute lag breaks responsive control. HVAC is always chasing occupancy changes, not anticipating them.
- Wi-Fi only without any validation layer: Parked devices and guest Wi-Fi inflate occupancy; HVAC runs longer than needed. Overcooling by 0.5–1.5°C typical.
- High-density camera deployment without edge processing: Cloud transmission creates privacy liability and bandwidth strain. Edge processing essential.
- Sensor data flowing to monitoring dashboard but not to BMS: Occupancy insights are visibility-only; HVAC remains on static schedule. No energy savings.
Practical Sensor Deployment Checklist
- □ Audit current BMS capabilities: can it ingest real-time occupancy data via BACnet, Modbus, or REST?
- □ Map building geometry and Wi-Fi coverage; identify gaps where Wi-Fi density is low (<600 sqm per sensor)
- □ Define critical zones: where is HVAC false-negative (unoccupied shown as empty) most costly? Prioritize sensors there.
- □ Select sensor stack: recommend Wi-Fi baseline + CO₂ (cheap validation) + selective cameras in conference/executive areas
- □ Establish occupancy baseline: run sensors for 4 weeks in observation mode; build 24-hour forecast model (day-of-week, weather, holidays)
- □ Program demand-reset logic: 3–4 setpoint levels based on occupancy bands; test in manual override mode first
- □ Deploy with monitoring dashboard: surface occupancy vs. HVAC setpoint; alert on sensor failures or anomalies
- □ Validate energy impact: compare month-on-month billing and sub-metered chiller consumption; aim for 12–18% HVAC energy reduction
Key Takeaways
- No single sensor type achieves reliable occupancy-responsive HVAC control; 4-layer fusion (Wi-Fi + PIR + CO₂ + cameras) is industry best practice.
- Wi-Fi occupancy counting: 85% accuracy, suitable as baseline; false positives from parked devices and guests.
- PIR motion: 40–95% accuracy depending on occupancy type; excellent for break rooms, unreliable for seated work.
- CO₂: 70–78% accuracy for headcount but 15–30 min lag; valuable for IAQ and occupancy validation, not primary control signal.
- Edge cameras: 88–94% accuracy, real-time, but 3–5x cost of Wi-Fi; suitable for high-value or complex zones.
- Optimal cost-to-accuracy ratio: Wi-Fi baseline (SGD 55k–121k per 10k sqm) + CO₂ validation layer (SGD 11k–25k) for total SGD 66k–146k, achieving ~85% occupancy confidence.
- BMS integration is critical: sensors without HVAC control loop provide visibility but not energy savings.
- Marina Bay Tower case study: sensor deployment achieved 15% chilled water reduction, 14–16 month CapEx payback in high-cost Singapore market.
- Privacy-first: edge-based processing with local inference protects compliance with Singapore PDPA, Australia Privacy Act, Japan APPI.
Cover Image Description: Four-panel comparison grid showing: (1) Wi-Fi network visualization with device counts overlaid on floor plan, color-coded by occupancy density; (2) PIR motion heatmap showing detection hot zones in break rooms; (3) CO₂ ppm graph over time with occupancy overlay showing lag; (4) Computer vision frame with person detection boxes and occupancy count in corner. Each panel labeled with accuracy % and primary use case. Color scheme: teal for Wi-Fi, warm orange for PIR, cool blue for CO₂, green for cameras.