Analytics
Who watched what, on which player, and when — plus a "Today" panel that answers "did this subscriber even log in today?" by name rather than by count. Open this after the Dashboard when the subscriber is not in the live stream list.
On this page
- Check who logged in and who watched today
- See who is watching this second
- Change the reporting window
- Drill into one subscriber's history
- Spot playlist-checker or stuck devices
- Check disk and library footprints
- Measure recordings and VOD viewing
- Rearrange the page
- Faster reports and lists (2.9.437)
- Watch out
Check who logged in and who watched today
The "Today" zone (second block) has its own day axis. Toggle the "Watched" / "Logged in" tabs top-right. Watched shows User, Watch time, Sessions, Channels, Last channel (+ how long ago), Platform badges, and a green LIVE badge if they are still streaming. Logged in shows First, Last, Logins, IPs, Platform. Use ‹ / › to step days and "Today" to jump back; it auto-refreshes every 60s only while pinned to today.
See who is watching this second
The "Right Now" zone at the top ("Watching now" card) lists User, Channel, Device / Player, IP and Watching for, refreshed every 10 seconds from /api/connections. It ignores the period selector entirely. Since 2.9.316 it also lists people watching a recording, a film or a series (title, position, profile and device, from /api/media/now), and the header shows the split, e.g. "3 live · 2 recordings / VOD".
Change the reporting window
Use the 1d / 7d / 30d / 90d / 1y buttons in the page header. They drive the Headline, Viewers & Accounts, Content & Devices and Recording & Library zones — not Right Now and not Today.
Drill into one subscriber's history
Click any dotted-underlined username (here: User Activity Breakdown, Today, the Automated Clients table; on the Dashboard or in Monitor) for the viewer summary (Monitor › Open a viewer's summary): time watched per kind, every play in one list, the account's devices, 1d / 7d / 30d / 90d for every tab, "Open account" top right. Times are in your browser's local time.
Spot playlist-checker or stuck devices
In Viewers & Accounts open the "Automated Clients" card. It scans accounts with at least 8 sessions in the window and flags those matching two or more of: short_sessions (≥10 sessions and ≥60% at or under 60s), regular_interval (steady re-open cadence), all_hours (active in ≥16 different hours), night_activity (≥4 sessions between 01:00 and 05:00). Columns: Sessions, Median session, Short (≤60s), Hours active, Cadence, Signals. Click the eye-slash on a row to exclude an account; excluded names appear as chips with an × to re-include.
Check disk and library footprints
In "Recording & Library" the Storage card shows Suite disk used / total with a coloured bar and free space, DVR recordings: their footprint out of the total of the disk they are on (a separate disk or NAS when the DVR path is one), that disk's free space and the recording count; the bar is the recordings' share of that disk and turns amber, then red, as the disk fills (2.9.343), and VOD cache footprint. Expand "Server Status" underneath for live CPU, memory, per-GPU and per-disk figures.
Measure recordings and VOD viewing
The "Recordings & VOD" zone (2.9.316) has its own 7d / 30d / 90d buttons; it opens on the page period when that is one of them. "Hours watched" compares Live TV, Recordings and VOD (films & series) over 7, 30 and 90 days. The second card shows, for the chosen window, Watch time with the number of sessions, Unique viewers with profiles, Completion rate and Avg session, plus sessions, completion and average session for recordings and for VOD on their own. Below are "Top recorded shows", "Top films & series" (hours and viewers) and "By device".
Rearrange the page
Drag a zone by its grip handle to reorder; the width toggle cycles a zone's span. The table-list icon in the page header resets order, widths and KPI order.
Faster reports and lists (2.9.437)
The viewing report opens in under a second, even for 30 days or a year. Peak Concurrent Viewers now counts each moment once: before, viewings that started in the same second counted that moment once for each of them, so the number can be lower than it was. The console shows grey rows where a list will be while it loads. The lists of clients, films, series and recordings also answer in pages for tools that ask (?limit= and ?offset=); the console and the apps still get the whole list.
Watch out
- The "Today" panel is deliberately independent of the 1d/7d/30d selector — changing the period does not change what Today shows.
- Today sends your browser's timezone offset and the server cuts the day on that basis. A workstation set to the wrong timezone will cut the day at the wrong hour.
- The username drill-down modal, the "Player Apps" breakdown and the trending endpoint all require the advanced_analytics feature — Business tier and above. On Free/Pro they return 403: the modal says "Per-user viewing history needs the Advanced Analytics feature of your licence." (a staff login gets "Could not load user data." — the drill-down is admin-only) and Player Apps silently shows "No player data yet." (it does not say the tier is the reason). The rest of the page still works.
- Automated Clients is advisory only — nothing is blocked, throttled or logged against the account. The exclusion list is a server-side setting, so hiding a user hides them for every admin, not just your browser.
- "Server Status" polls every 10 seconds only while the disclosure triangle is open (it shells out to nvidia-smi on a single-worker gunicorn). Collapse it when you are done.
- Storage figures are the real on-disk size of the directories (cached du), not SUM(file_size) from the database, so they will not match a naive DVR row total.
- Watch history older than 90 days is deleted nightly (Backup → Database maintenance) and also whenever the Dashboard or Monitor polls. The poll keeps its fixed 90 days whatever the maintenance rule says, so the 1y period thins out towards the left.
- Zone order and widths live in browser localStorage (bgpvr_analytics_order_v3 / _spans_v3), not on the server — they do not follow you to another machine or browser profile.
- Player Apps are derived from User-Agent; the card itself notes that m3u/HLS sessions with no User-Agent land under "Other" or are not tracked at all.
- The catalogue tiles in "VOD & Series" (Movies, Series, Continue Watching) are totals, not period-scoped — the card says so in small print.
- Recording and VOD viewing has its own history (2.9.316), untouched by the 90-day live purge: Backup → Database maintenance keeps it 400 days ("Recording & VOD viewing history"). A session under 10 seconds that did not finish is not kept. A film or episode counts as watched to the end at 95%. Hours, sessions and unique viewers include sessions still running; completion rate and average session count finished sessions only.
- The "Recordings & VOD" zone and the recording / VOD rows of "Watching now" work for any console login on every tier; only the per-user modal needs Advanced Analytics (see above).