Live status · Read the latest
monad-knowledge Wi-Fi sensing lab · FIIT STU
Library · people per minute

How many people were in the library?

Pick a day. Each minute is the CSI room level, calibrated that day against the Bluetooth devices the fleet heard, and fused with them. Bluetooth addresses become people through a calibration on few labels, so every count carries a wide range.

Companion labs in Occupancy

In plain words Pick a day on the calendar and see people per minute: the Wi-Fi room level, calibrated that day against the Bluetooth devices the fleet heard, and fused with them. The people scale is a stated assumption you can move. A gap is a gap; nobody fills it with a zero.

This page is a snapshot, built ; it is not live. Other views: the frozen estimator, day by day · Bluetooth in the room.

People at 2.00 Bluetooth addresses per person, the Bluetooth occupancy model's estimate from 4 labelled windows (90 %: 0.57–10.69). The range column carries the model band and that calibration range together.

Busiest library hour per day. "CSI minutes" had a CSI room level; the rest are Bluetooth only.
DayBusiest hour, peopleRangeCSI minutesBluetooth-only minutesCSI calibration
2026-09-14 0 at 23:00 0–0 066 pooled
2026-09-15 80 at 13:00 14–292 01440 pooled
2026-09-16 96 at 13:00 17–347 1171323 pooled-slope
2026-09-17 74 at 15:00 13–272 1351305 pooled-slope
2026-09-18 27 at 10:00 5–102 2181222 pooled-slope
2026-09-19 13 at 13:00 2–48 850590 pooled-slope
2026-09-20 6 at 14:00 1–23 3961044 pooled-slope
2026-09-21 76 at 14:00 13–277 4291011 pooled-slope
2026-09-22 77 at 13:00 14–281 513927 pooled-slope
2026-09-23 95 at 13:00 17–345 2701170 pooled-slope
2026-09-24 78 at 13:00 14–285 977448 pooled-slope
2026-09-25 19 at 12:00 3–74 827613 pooled-slope
2026-09-26 4 at 15:00 1–18 1044396 pooled-slope
2026-09-27 10 at 15:00 2–37 609831 pooled-slope
2026-09-28 88 at 12:00 16–320 534906 pooled-slope
2026-09-29 92 at 13:00 16–334 625815 pooled-slope
2026-09-30 81 at 13:00 14–295 716724 pooled-slope
2026-10-01 67 at 11:00 12–246 1150290 pooled-slope
2026-10-02 34 at 10:00 6–124 492904 pooled-slope
2026-10-03 4 at 16:00 1–16 449991 pooled-slope
2026-10-04 4 at 15:00 1–16 760680 pooled-slope
2026-10-05 86 at 14:00 15–313 1033407 pooled-slope
2026-10-06 95 at 13:00 17–345 644796 pooled-slope
2026-10-07 92 at 15:00 17–335 795645 pooled-slope
2026-10-08 116 at 13:00 21–417 1244196 pooled-slope
2026-10-09 82 at 12:00 15–295 495945 pooled-slope
2026-10-10 15 at 14:00 3–56 2251215 pooled-slope
2026-10-11 11 at 15:00 2–41 760680 pooled-slope
2026-10-12 80 at 13:00 14–295 916524 pooled-slope
2026-10-13 95 at 13:00 17–348 1076364 pooled-slope
2026-10-14 94 at 13:00 17–342 1287153 pooled-slope
2026-10-15 65 at 11:00 11–239 1200240 pooled-slope
2026-10-16 22 at 12:00 4–85 1079361 pooled-slope
2026-10-17 13 at 16:00 2–50 1203237 pooled-slope
2026-10-18 13 at 15:00 2–49 884556 pooled-slope
2026-10-20 98 at 13:00 17–357 582858 pooled-slope
2026-10-21 93 at 13:00 17–341 1112328 pooled-slope
2026-10-22 90 at 10:00 16–326 1258182 pooled-slope
2026-10-23 39 at 10:00 7–144 1257183 pooled-slope
2026-10-24 8 at 13:00 1–29 1257183 pooled-slope
2026-10-25 6 at 13:00 1–24 1259181 pooled-slope
2026-10-26 12 at 08:00 2–45 180390 pooled-slope

2026-10-22, hour by hour

HourPeople (mean)RangeShare of minutes with CSI
00:00 00–1423 %
01:00 00–14100 %
02:00 00–14100 %
03:00 00–1477 %
04:00 00–1448 %
05:00 00–14100 %
06:00 00–15100 %
07:00 50–32100 %
08:00 254–102100 %
09:00 6111–225100 %
10:00 9016–326100 %
11:00 8615–313100 %
12:00 478–17823 %
13:00 6111–225100 %
14:00 6010–222100 %
15:00 6712–248100 %
16:00 6511–242100 %
17:00 376–142100 %
18:00 152–66100 %
19:00 71–40100 %
20:00 00–15100 %
21:00 00–1477 %
22:00 00–1448 %
23:00 00–14100 %
How the count is made, and what it cannot claim
  1. Teacher. Non-public Bluetooth addresses per receiver-minute, the median over receivers. Their night floor is 0.
  2. CSI model. Addresses = b0 + b1·(CSI room level) + b2·(clock) + b3·(Wi-Fi frame rate). The slopes b1–b3 are fitted on every other day; only the intercept b0 is set from the day's own minutes, when it has at least 60 with every reading. A full refit on one day's minutes was tried and rejected: it missed by far more, and its coefficients swung between days. The clock is the other days' mean at the same hour and day class. The frame rate counts frames from anyone but our injector. A day without enough minutes of its own uses the level and the frame rate, fitted on the other days, without the clock: the other days' hour pattern belongs to the semester and would leak in.
  3. Fusion. Where both exist, the inverse-variance mean of the CSI prediction and the heard addresses. The CSI variance is the fit's residual less the Bluetooth minute-to-minute jitter. The CSI weight slider overrides the measured weight; its band then follows the chosen weight.
  4. People. Addresses divided by μ, the addresses one person adds to one receiver in one minute. μ comes from the Bluetooth occupancy model fitted on OL-001, OL-002, OL-003, OL-004: 2.00 (90 %: 0.57–10.69); on OL-003, OL-004 alone it is 2.91 (1.47–6.87). Those labels are two and three people on one morning (2 September), so the scale is weakly known. The receivers also hear beyond the library: in this hall the signal falls off slowly with distance, so devices in the corridors and rooms nearby count too. Counting sweeps on busy days are what will fix the scale.

Does CSI read the crowd here? Every slope is fitted on the other days. On each of 39 days, the first 60 minutes with every reading may set a daily intercept, and the rest are scored against the addresses heard.

ModelMedian error, addresses a minute
Clock alone15.1
Clock + Wi-Fi frame rate14.9
Clock + Wi-Fi + CSI14.2
Clock + Wi-Fi, daily intercept13.9
Clock + Wi-Fi + CSI, daily intercept15.3

What CSI adds the way this page uses it — the last row against the one before — is +0.2 addresses a minute (mean over days, 95 % bootstrap over days [-2.0, +2.0]; negative favours CSI). CSI wins on 17 of 39 days. The interval reaches zero, so no gain from CSI is detectable here. Last week's two-link study found −1.7 addresses (95 % [−3.1, −0.9]) on fixed links.