Reports

The Reports tab (the default view when you open AI Insights & People) turns detection data into facility-level analytics: how busy you are, when, where, who your visitors are, and how they seem to feel about it.

Reports overview

Figure 1: The Reports view for Lower Manhattan — KPIs across the top, the Zone Activity Heatmap, and summary cards

How report data is produced

Reports are built from daily snapshots generated overnight (facility-local time) for the previous day, aggregated from the same detection blocks that power the People timeline. Two consequences:

  • Today's data appears tomorrow — Reports is a trends view, not a live view (the zone deep dive's "Live now" indicator is the exception).
  • Numbers are AI-derived — they can differ from your member management system's check-in counts, because they include people who never swiped.

Meaningful zone analytics require access zones: the heatmap's empty state says it directly — "No zones configured — assign cameras to access zones in Settings".

KPI tiles

Report KPIs

Figure 2: The KPI tiles — Total Tracks, Unique People, Avg Visit, Unsure %, Peak Hour, and Access Violations

KPIMeaning
Total Tracks"A track represents one continuous sighting of the same person. Total detections is every face detected across all cameras in the system." The subtitle shows the raw detection count
Unique PeopleDistinct individuals seen in the period
Avg VisitAverage visit duration
UnsureThe share of people who couldn't be identified — your identification health metric. A rising Unsure % usually means missing/poor member photos or a camera problem
Peak HourThe busiest hour of the period
Access Violations"Entries where a member's active membership plan was not permitted by the zone's access rules (excluded, or not in the allowed plans)." Subtitle: "N members · M zones" — or "No plan violations"

Zone Activity Heatmap

Zone activity heatmap

Figure 3: The Zone Activity Heatmap — zones down the side, hours across the top, colour intensity showing activity

Each row is a zone, each column an hour; cell intensity shows activity. Controls:

  • Mode selector: count Tracks, Detections, People, or Unsures per cell. The Unsures mode is a great lens for finding where unidentified people concentrate.
  • Display Options: toggle Peak Hour Heatmap, Cell Counts (print numbers in cells), and Violations (overlay access-violation markers).
  • Click a zone name to open its deep dive; drill-down links jump straight to the filtered timeline: "Go to Timeline", "Go to Timeline (Access Violation)", "Go to Timeline (Expired)".

Beneath the heatmap, three summary cards give the headline story: Peak Time (people, average duration, peak hour), Busiest Zones, and Low Utilisation — the last being the interesting one for floor-planning: space you're paying for that members aren't using.

Zone Access Violations

Zone access violations

Figure 4: Zone Access Violations — who was detected in a zone their plan doesn't permit, and where

The "Zone Access Violations" section lists each violation: the member, the zone, and when. A violation is a plan-rule breach — the member's active membership plan was excluded from, or absent from, the zone's allowed plans (configured in Access zones). When there's nothing to report: "No membership-plan access violations in this period."

Each entry links to the person's profile and to the timeline filtered to the violation, so you can see the actual footage before having a conversation with the member.

Zone deep dive

Zone deep dive

Figure 5: A zone deep dive — per-zone KPIs, hourly heatmap, and identity/gender filters

Clicking a zone opens its dedicated view:

  • Zone badges summarise its character: "Very Busy", "Restricted" / "Open Access" ("Anyone can access" vs "Restricted zone").
  • Per-zone KPIs: people, tracks, detections, check-ins, and the zone's sentiment score.
  • A per-zone "Peak Hour Heatmap", and a "Live now" indicator with the most recent activity.
  • Filter chips: All / Identified / Unsure and ♂ Male / ♀ Female with live counts.
  • "See Full View" expands the zone to a full-page report.

Sentiment Trend by Zone

Sentiment by zone

Figure 6: Sentiment Trend by Zone — per-zone sentiment scores and their 24-hour trend

"Sentiment Score reflects the overall emotional tone of people detected in this zone." Scores run 0–100, banded as:

BandScore
Positive70 and above
Neutral40–69
Negativebelow 40

The "24h trend" compares "the average sentiment in the most recent third of the period and the earliest third" — a falling zone score is worth a walk-through: overcrowding, broken equipment, and temperature complaints all show up here before they show up in feedback forms.

How raw expressions become a score — including the emotion weightings and the Business Context presets (Default, Gym/Fitness, Custom) — is configurable in Settings → Insights → Sentiment Scoring.

Sentiment & Demographics

Sentiment and demographics

Figure 7: Sentiment & Demographics — the overall sentiment gauge, emotion spread radar, and age/gender breakdown

  • Overall Sentiment — the facility-wide 0–100 gauge.
  • Emotion Spread — a radar chart of the detected emotion mix.
  • Demographics — visitors by age bucket (18-24, 25-34, 35-44, 45-54, 55+) and gender (Male / Female), filterable by All / Identified / Unsure.

Demographic values are AI estimates from imagery (see Security & privacy) — treat them as directional. Their most practical use is comparative: if your Unsure population skews very differently from your identified members, that cohort probably isn't members at all — guests, trials, or tailgaters.

Getting reports out

For dashboards, scheduled digests, or your own analysis, the same snapshot data is available programmatically via the insights_report_snapshots MCP tool — see Integrations & MCP. An AI Agent can, for example, post a weekly summary of visits, peak hours, and access violations to your team chat.