Read time metrics

Given how central reading time is in discourse, wouldn’t it make sense to add some reading time metrics to to the dashboard (or, since it’s admittedly not as crucial as the other stats there, perhaps on a separate page. Here are some ideas (note: “user” means “logged in user” because reading time is not tracked for anons):

  • total reading time per day
  • average reading time per user per day
  • average reading time per post (total read time / number of posts created in same time frame)

The time frame (last week, last month, last year etc) for each of these could be selectable. In addition, it could be interesting to calculate these not only for the whole forum but also on a per category basis.



Maybe we should move that post and some of the replies over here?

1 Like

I suspected that this must have come up before and searched for it. I didn’t find your post because I searched for “read time”…

One thing I still feel like is missing from the dashbaord is any surfacing of information about how much people are reading since Reading is Fundamental:

This is something I pay closer attention to than any other metric:

I think plotting it (and other metrics) as distributions across the user base has proven to be the most informative way for me to understand how people are engaging with the site:

I can imagine doing something more similar to this though, which would combine the percentile distributions on a time-series graph more like what you already have on the dashboard. (Just imagine the percentile “response time” buckets are instead bins of user engagement on the reading or posting axis).


It would make sense to me. What do you think @HAWK?


In my experience read time isn’t a commonly reported on metric so I don’t think that having it prominent is necessary but I agree that it is useful information to have so I’m def not opposed to it.


That’s because the rest of the world hasn’t figured out that this matters yet. We can be leaders here instead of followers.


That makes sense for iterations but my goal for the MVP was to make life easier for CMs, esp at reporting time. Until people start reporting on read time, surfacing that info isn’t a priority.

Also, a note that that article talks specifically about content based websites and I agree that read time is super important for those, but not all communities are about reading or content. Why would a support community care about read time, for instance? Interested in your thoughts here…


There are a lot of interesting questions with read time (probably more questions than answers)… You could make some rough assumptions about users based on a first posts’ estimated read time vs time read…

  • <10% read: not what I was looking for
  • <50% read: skimming the content
  • >50% read: engaged
  • >50% read and replied: involved

Then what if you started looking at time-to-reply vs % read… are most users responding before reading fully? or maybe the content wasn’t meeting their initial expectations and they need more details?

Are some categories more engaging than others? Is that what you’d expect? You’d think #support would have shallow reading engagement (searching for answers), and #howto would have deeper reading engagement (longer learning-based content). Should deeply engaging #support topics be prioritized to graduate to #howto?


How about a separate metrics page dedicated to time related stats? That could be in an experimental state for some time, during which people test the various ideas for read time related metrics and figure out which ones are the most useful.


Sounds like a good plan.

Note that I’m not pushing back on read time on the main dashboard. It’s not a metric that people generally report on which is why it’s not included, but if enough people are asking for it then we can do it.


Where did we end up with adding read-time to the dashboard? TIA :slight_smile:

1 Like

I imagine we could add a Read Time report to the Reporting tab pretty easily.
Thoughts @joffreyjaffeux ?


I think it’s now doable in a plugin. So it’s more your call than mine, do you think it makes sense in core? Would you use it?

Having thought about this a bit more…

I think this is important to surface to users directly, in public “take a look in the mirror” UI fashion, not as much the site owners and staff in the back-end reporting. So maybe that’s what @hawk was reacting to.

What is critically important is a regular influx of new users who read (this is captured in TL1 transitions), and daily/monthly users who come back regularly and read (which is captured in the DAU/MAU). Heck, for that matter, the /users page kinda captures reading reports for anyone who wants to look at it, not just staff!

Perhaps the only thing not captured is users who come back regularly and never post (or like?), but do read. I’m a little unclear if DAU/MAU will show you users who visited and read but did not post a reply/topic.

That said, to @mcwumbly’s point I think we should still continue to look at even more ways to surface read time directly to users themselves and that’s the more important effort.


AFAIK DAU/MAU is using UserVisit.count_by_active_users which is using the user_visits table, notably updated in UserStat.update_time_read!


Do you mean their respective own read time or the read times of posts/topics? In other words: are you thinking of reading time or being-read-time, if you know what I mean?

1 Like

Forgive me if I’m being dense, please, but I do need a clarification: having a UserStat.update_time_read table means that user reading time “counts” as activity, hence making an active user? Said differently, if I come onto the site and read for, say, 30 seconds, does that count me as an “active user”? I might have tangled myself up in a confusion-knot.

While I’m not dure if there is a threshold (don’t think so, though), yes, reading counts as “being active”. A very important though often undervalued kind of activity.


Exactly! I think it’s interesting, but the purpose of the dashboard graphs is to make reporting quicker and easier for CMs. I’m yet to meet one that reports on general read time.

1 Like