This view contains historical occupancy data, aggregated in daily time slots.
These timeslots contain occupancy values per monitored location, based on the raw sensor data values but without the complexity of understanding raw sensor data.
Data structure
Column | Meaning | Memo |
|---|---|---|
Unique primary key | Is a concatenation of location_id + Calendar_datetime | |
calendar_date | Calendar date in ISO 8601 format | e.g. 2025-10-28 |
day_of_week | Integer value between 1 (Monday) and 7 (Sunday) | Also for US |
calendar_datetime | Date + Time that represents the timeslot in local time In ISO 8601 format | e.g. 2025-10-28T00:00:00 2025-10-29T00:00:00 2025-10-30T00:00:00 2025-10-31T00:00:00 |
timeslot_start | Same information as calendar_datetime but as a STRING and including time zone. | e.g. |
creation_datetime | Technical timestamp when the row was created, in ISO 8601 format and always in UTC | |
location_id | Unique key of the location | see locations_v1 |
location_class | Class of location | Built in enum: |
parent_location_id | Unique key of the parent location | see locations_v1 |
parent_location_class | Class of parent location | Built in enum: |
building_id | Unique key of building | see locations_v1 |
floor_id | Unique key of floor | see locations_v1 |
space_class | Space Class | Built in enum: |
Capacity of the location | Value depends on location_class: For FLOOR: sum of capacities of sublocations | |
locations_total | Nr of sublocations | Regardless if they are monitored or not |
Nr of sublocations with occupancy sensor | Used for occupancy rate calculations | |
locations_occupied | Nr of sublocations that are occupied during the timeslot | Used for occupancy rate calculations |
rooms_total | Nr of rooms in total, including the ones that are not monitored | Only useful for location_class = FLOOR |
Nr of rooms with occupancy sensor | Only useful for location_class = FLOOR | |
workplaces_total | Nr of workplaces in total, including the ones that are not monitored | Only useful for location_class = FLOOR |
Nr of workplaces with occupancy sensor | Only useful for location_class = FLOOR | |
occupancy_data_class | Data class of occupancy sensor | Built-in enum: |
If presence = 1 during 1 or more corresponding 15-minute values, then presence = 1 for the entire day | Is always 1 (occupied) or 0 (not occupied) per day | |
headcount_peak | Highest headcountthat occurred during this day | Highest headcount of the corresponding 15-minute values |
headcount_low | Lowest headcount that occurred during this day | Lowest headcount of the corresponding 15-minute values |
headcount_average | Average headcount that occurred during this day | Average headcount of the corresponding 15-minute values |
Nr of hours that the space was occupied in the day | ||
Average utilization_rate during this day | Average utilization_rate of the corresponding 15-minute values | |
utilization_rate_peak | Highest utilization_rate during this day | Highest utilization_rate of the corresponding 15-minute values |
utilization_rate_low | Lowest utilization_rate during this day | Lowest utilization_rate of the corresponding 15-minute values |
Average efficiency_rate during this day | Average efficiency_rate of the corresponding 15-minute values | |
efficiency_rate_peak | Highest efficiency_rate during this day | Highest efficiency_rate of the corresponding 15-minute values |
efficiency_rate_low | Lowest efficiency_rate during this day | Lowest efficiency_rate of the corresponding 15-minute values |
| ||
Average occupancy_rate during this day | For individual spaces, occupancy rate = utilization rate | |
occupancy_rate_peak | Highest occupancy_rate during this day | Highest occupancy_rate of the corresponding 15-minute values |
occupancy_rate_low | Lowest occupancy_rate during this day | Lowest occupancy_rate of the corresponding 15-minute values |
Calculated efficiency score for this day | ||
dwell_time_average | Average dwell time for this day | In hours |
dwell_time_longest | Longest dwell time for this day | In hours |
dwell_time_shortest | Shortest dwell time for this day | In hours |
business_day_start_hour | Start of business day (time value) | Derived from Studio |
business_day_end_hour | End of business day (time value) | Derived from Studio |
|
Calculations
All these daily values are aggregated using the 15-minute values as source, taking only the business hours into account! For example, when business hours are set from 9am to 5pm, the system will calculate the daily values based on the corresponding 15-minute values between 9am and 5pm.
All values outside the business hours are excluded (even if there are spaces where presence/headcount is detected, when people are working early or late, when cleaning and maintenance staff is working, etc).
All values are historical!
They are calculated at the time of recording and may not represent the current values.
This is especially important to understand for capacity, space category, locations_total etc.
How the timeline values are aggregated
The 1-day timeslots contain values per calendar day, which are aggregations of the corresponding 15-minute values that fall inside the business hours. So for each calendar day, values are calculated based on the corresponding quarter-hours, not on the hourly values.
For each metric, the table contains 3 values:
- Average of the corresponding quarter-hour values during business hours
- Highest (= “peak”)of the corresponding quarter-hour values during business hours
- Lowest (= “low”) of the corresponding quarter-hour values during business hours
(See table above for details and an example: efficiency rate metrics)