Office utilization
Almost every property decision about space is made on booking data, walk-arounds and opinion. Space is usually the second-largest fixed cost after people and the least measured, and the questions come back every planning cycle: how many desks are genuinely in use on an average Tuesday, which meeting rooms are booked and never occupied, and whether to build, rent, sublet or simply re-plan.
The reason they stay unanswered is rarely a lack of interest. Manual counting is expensive and out of date the day it ends. Cameras and WiFi tracking raise privacy objections that stall the project. Wired sensors mean cabling, permits and disruption. Occupancy data is only useful if it is continuous, trusted and uncontroversial, and that is a design problem rather than a procurement one.
Choosing how to measure
Every method trades accuracy against privacy and installation cost.
| Method | What it really measures | Trade-off |
|---|---|---|
| Access or badge data | Who entered the building | Personal data; says nothing about which room |
| WiFi or BLE analytics | Devices, not people | Device identifiers; noisy; misses non-carriers |
| Cameras and video analytics | People, well - with images | Images of people; consultation and objections |
| Booking system alone | Intent to use a room | Blind to no-shows and to unbooked use |
| Passive IR motion | Movement, not presence | Misses a person sitting still |
| Active IR at the desk | Whether the seat is occupied | One desk per sensor |
| On-device AI counting | How many people are in the room | Needs light and a mounting height |
| CO₂ and air quality | How loaded the air is | Indicative of density, not a headcount |
The approach on this page is anonymous measurement at the point of use: active and thermal IR for presence, on-device AI for counting, CO₂ for density. No images leave the sensor because none are taken.
Matching the sensor to the space
The space decides the sensor, and mixing them is normal - the data model is the same either way.
| Space | Question | Sensor | Power |
|---|---|---|---|
| Individual desk or workstation | Is this seat occupied right now? | Strips Presence | Battery, up to 10 yrs |
| Cell office, phone booth, small room | Is anyone in this room? | Square Presence | Battery, 10–30 yrs |
| Meeting room, study room, medium space | How many people are in here? | Milesight VS321 | Battery, ~10 yrs |
| Entrance, corridor, stair, doorway | How many crossed this line, each way? | Milesight VS350 | Battery, 5–10 yrs |
| Any occupied room | Is anyone here, and is the air keeping up? | Square Air CO₂ | Battery, 7–20 yrs |
Square Air CO₂ is a different device from the earlier Square AIR, which derives a CO₂ equivalent from a VOC sensor and carries no presence function.

Above roughly 50 m² the PoE-powered Milesight VS121 covers about 60 m² at 3 m ceiling height, and for wide entrances the PoE-powered AXIS P8815 counts across broader openings. Large rooms can take several counting sensors; Yggio adds them up as one room.
Square Air CO₂ carries the presence function as well, so a room needing both gets one unit rather than two.
Desk sensors are mounted out of sight under the work surface, which is part of what makes them acceptable to the people sitting at them. Nothing is visible from above, and there is no camera in the room.

What a floor looks like
For a 2,000 m² office the pattern is: one room-presence sensor in each cell office and meeting room, desk presence per workstation in the open-plan zones with air quality per zone, and passage counters at the entrances and between zones. One LoRaWAN gateway covers all of it.

The plan is from a Swedish deployment, so its title and zone labels are in Swedish: Kontorslokal is the office floor, Zon 1 to Zon 5 the open-plan zones. The legend is the whole design: one marker type per question, placed where that question is asked.
Accuracy, with the caveats
Every occupancy programme that loses trust loses it here, so the numbers come with their conditions attached.
| Sensor | Question | Single reading | Averaged over time |
|---|---|---|---|
| Strips Presence | Is this desk occupied? | ~99 % in controlled tests | >95 % expected in real offices |
| Square Presence | Is anyone in this room? | Up to 99 % correct detection | >95 % expected in real rooms |
| Milesight VS321 | How many in this room? | Up to 95 %; 20–30 % off when people sit close together | Around ±10 % |
| Milesight VS350 | How many crossed, each way? | 20–30 % off when a group passes together | Around ±10 % |
| Square Air CO₂ | Anyone here, and is the air coping? | Presence up to 99 %; CO₂ measured directly | Presence >95 %; CO₂ trend is the signal |
The practical division: presence questions are reliable enough to act on individually, and counting questions are reliable as trends and totals rather than as a turnstile figure. A site survey sets mounting height, light level and sensor count before anything is ordered, and placement is tuned during installation and verified against observation.
Say the caveats first and the data gets used. Hide them and the whole programme gets questioned the first time a number looks wrong.
Privacy by design
There is nothing to anonymise, because nothing identifying is captured.
What the sensors send - presence status, occupied or vacant; a people count, in and out; CO₂ in ppm, temperature, humidity and light; battery level and signal quality.
What they never capture - no images, video or audio. No MAC addresses, device IDs or badge IDs. No names and no personal data of any kind. The VS321 runs its AI on the chip, so no image is stored or transmitted.
They are also unobtrusive in the room: LEDs are configurable and can be switched off, Strips Presence has no continuous LED at all, and none of them makes a sound.
Reporting at the level your policy allows
Yggio holds the hierarchy building → floor → zone → room → desk, and access rights decide the lowest level anyone may see. Desk-level data can be aggregated before it reaches a dashboard. Because no reading identifies a person, desk data cannot become surveillance of a named individual - but the aggregation control is there for the cases where the objection is about perception rather than data.
Turning readings into operations
The sensors answer questions; Yggio is where the answers become operations.
- One model, many vendors. Translators normalise every device's payload, so a sixth sensor type can be added later without touching dashboards. Metadata per sensor carries department, room type and organisational unit.
- Views per role. Facilities want to know what is free and what is over-used; workplace and HR want attendance patterns by area; energy wants occupancy against ventilation and heating. Rooms are colour-coded live on floor plans, with history and trends per room, floor and building.
- Alarms that matter. Thresholds on occupancy, CO₂ and temperature, routed by the Rule Engine to the right team.
- Reports that arrive. Utilisation by room type and floor, the peak-hour profile per week, desks below a utilisation threshold for a quarter, the no-show list for meeting rooms - scheduled and emailed, or exported through the API. See Reports.
Occupancy data earns its keep when it turns up in someone's inbox on the first of the month rather than when someone remembers to go and look.
Booked against actually used
The booking system knows the intention. The sensors know the outcome. Joining them is where the value is concentrated.
booking system -> Yggio -> comparison -> action
planned use of actual presence, booked vs used, release, re-plan,
rooms and desks counts and status per room, per hour ventilate on demand
That comparison writes the no-show list by itself, releases unused bookings back to the pool, gives real-time availability so people stop walking the floor looking for space, and drives ventilation and lighting from booking plus measured presence rather than from a timetable.
The integration is two-way over REST/JSON - pull bookings in, push real occupancy back - configured as an API connection plus a mapping of rooms, resources and bookings onto the data model.
Worth noticing: the confirm-your-booking step that many systems have is a manual workaround for data nobody had. A confirmation is a click rather than a person, so a room can be confirmed and still empty, and anyone using an unbooked room is invisible to it. Presence data replaces that step, and nobody has to remember to click.
How to get started
A typical deployment runs seven to nine weeks from signature, in four stages. Each one ends in something you can inspect rather than a status report.
| When | What happens | Milestone |
|---|---|---|
| Weeks 1-3 | Kick-off and design. Site survey for the detailed design and installation plan, gateway and sensor placement planned, naming and metadata convention agreed, training booked | Planning and design documented |
| Weeks 3-5 | Infrastructure and platform. LoRaWAN gateways installed and activated on Ethernet with DHCP or 4G, Yggio configured for your hierarchy and roles | Network and data communication validated |
| Weeks 6-7 | Sensor installation. Sensors pre-configured before delivery, installed with your staff, named and tagged with metadata, placement tuned and communication verified | All sensors mounted and function-tested |
| Weeks 7-9 | Go-live and acceptance. Commissioning partly in parallel with installation, functional tests run together with you, training held and documentation delivered | Acceptance test and delivery approval |
The naming and metadata convention is agreed in the first stage because it is expensive to change later. It decides whether a reading is reported as a room somebody recognises or as a device identifier.
What it asks of the premises is less than people expect. Most sensors are battery-powered: no power outlet, no network outlet, no cabling. PoE is needed only for the AI counting sensors in the largest rooms and for wide-entrance counters. Gateways go where a network outlet already exists. There is no structural work, and installation is modular - floor by floor, with minimal disruption.
Two things to settle before week one: the question you are answering, taken from something already counted such as the booking system's no-show rate, and the privacy line described in Privacy by design.
Related
- Strips Presence - desk occupancy sensor
- Square Air - air quality, the earlier device without presence
- Floor plan widget - live room and desk status on a plan
- Access rights - controlling who sees which level
- Reports - scheduled utilisation reporting
- Asset tracking - the same zone counting, applied to things rather than people
- Internal mail collection - the same sensor, in object detection mode