Skip to content

[Feature]: Watch Time Leaderboards #5

@mophawka

Description

@mophawka

💡 Feature Description

Introduce a Watch Statistics Module to What's Streaming Dashboard (WSD), inspired by the powerful reporting system in Tautulli.

This module will deliver detailed, filterable, and exportable analytics on watched content across all users and media types — including VOD, TV episodes, and Live TV (if supported by the backend). It aims to give server admins real-time and historical insight into content performance and user engagement trends.


📈 Motivation and Context

WSD currently lacks an internal engine to surface user or system-level media consumption data. With users increasingly engaging with a growing content library, the ability to track who watches what, when, and how becomes essential.

Benefits to Admins:

  • 📊 Identify top-performing content
  • 👤 Analyze user-specific habits
  • 🧭 Detect underutilized titles
  • ⚙️ Inform library curation and planning
  • 📈 Monitor growth or decline in activity over time

🛠️ Suggested Implementation (if known)

Core Metrics

  • Total Watch Time

    • Global and per user
    • Filterable by time (7d / 30d / 180d / All-time)
  • Top Watched Users

    • Based on time or sessions
  • Most Viewed Titles

    • Sorted by plays, watch time, or completion %
  • Time-Based Trends

    • Hour-of-day, day-of-week, and monthly breakdowns
  • Media Types

    • Movies, Episodes, Live TV
  • Stream Types

    • Direct Play, Direct Stream, Transcode
  • Device Breakdown

    • Web, Smart TV, Android, iOS, Roku, etc.
  • First/Last Playback Date

    • Per media and per user

UI Layout

  • Overview Cards

    • Total Users Watched, Total Time Watched, Streams Started
  • Charts

    • Line graph: watch time by day
    • Heatmap: viewing density by hour/day
    • Bar chart: top users or titles
  • Tables

    • Top 10 Titles
    • Top Users
    • Playback sessions with sortable filters
  • Per-User Stats View

    • Timeline of activity
    • Preferred genres/devices

📡 Emby API (Server v4.9.80+)

Use updated endpoints from Emby’s latest release:

GET /Users?isHidden=false
GET /Sessions
GET /Items/{ItemId}/PlaybackInfo
GET /Items/Resume
GET /Items/{ItemId}/PlaybackStats
GET /Users/{UserId}/Items
GET /Users/{UserId}/Views
  • Cross-reference /Items to get metadata
  • Periodically poll /Sessions to collect live stream info
  • Cache playback data locally for historical analysis

🖼️ Visuals or References (optional)

  • Tautulli-style graphs, tables, and report cards
  • Tautulli Watch Stats

🔗 Related Issues or Discussions


🧩 Additional Notes

  • Can tie into weekly activity digests
  • May support user-triggered exports (.CSV, .JSON)
  • Optionally show per-user alerts: "You watched X this week"
  • Ensure admin-only access unless scoped by permissions
  • Gracefully handle data gaps from cleared logs or API limits

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions