This view contains historical occupancy data, aggregated in hourly 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-28T08:00:00 2025-10-28T09:00:00 2025-10-28T10:00:00 2025-10-28T11:00:00 |
timeslot_start | Same information as calendar_datetime but as a STRING and including time zone. Time zone is derived from the building. | e.g. |
hour_of_day | Integer value between 0 (1st hour) to 23 (last hour) | |
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 | |
Data class of occupancy sensor | Built-in enum: | |
If presence = 1 during 1 or more corresponding hourly values, then presence = 1 for the whole hour | Is always 1 (presence detected) or 0 (no presence detected) within the hour | |
headcount_peak | Highest headcountthat occurred during this hour | Highest headcount within the hour |
headcount_low | Lowest headcount that occurred during this hour | Lowest headcount within the hour |
headcount_average | Average headcount that occurred during this hour | Average headcount within the hour |
Nr of hours that the space was occupied in the hour | For 1h timeslots, values are between 0 and 1h | |
Average utilization_rate during this hour | Average utilization_rate of the corresponding 15-minute values | |
utilization_rate_peak | Highest utilization_rate during this hour | Highest utilization_rate of the corresponding 15-minute values |
utilization_rate_low | Lowest utilization_rate during this hour | Lowest utilization_rate of the corresponding 15-minute values |
Average efficiency_rate during this hour | Average efficiency_rate of the corresponding 15-minute values | |
efficiency_rate_peak | Highest efficiency_rate during this hour | Highest efficiency_rate of the corresponding 15-minute values |
efficiency_rate_low | Lowest efficiency_rate during this hour | Lowest efficiency_rate of the corresponding 15-minute values |
Average occupancy_rate during this hour | Average efficiency_rate of the corresponding 15-minute values | |
occupancy_rate_peak | Highest occupancy_rate during this hour | Highest occupancy_rate of the corresponding 15-minute values |
occupancy_rate_low | Lowest occupancy_rate during this hour | Lowest occupancy_rate of the corresponding 15-minute values |
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
Values are recorded 24 hours per day, all days.
The business_day_start_hour and business_day_end_hour are recorded for historical purposes.
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_class, locations_total etc.
How the timeline values are aggregated
The 1-hour timeslots contain values per hour, which are aggregations of the corresponding 15-minute values. So for each hour, values are calculated based on the 4 corresponding quarter-hours.
For each metric, the table contains 3 values:
- Average of the 4 corresponding quarter-hour values
- Highest of the 4 corresponding quarter-hour values
- Lowest of the 4 corresponding quarter-hour values
(See table above for details)