# Are post read counts per user accurate?

**URL:** <https://meta.discourse.org/t/are-post-read-counts-per-user-accurate/54096>\
**Category:** Product Support\
**Created:** [2016 年 12 月 11 日午後 5:47 UTC](https://meta.discourse.org/t/are-post-read-counts-per-user-accurate/54096 "2016-12-11T17:47:16Z")\
**Posts on this page:** 1\
**Showing post:** 21

<div class="post-metadata">

**Author:** ![neil](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/neil/32/102150_2.png) [@neil](https://meta.discourse.org/u/neil)\
**Post date:** [2017 年 8 月 21 日午後 9:57 UTC](https://meta.discourse.org/t/are-post-read-counts-per-user-accurate/54096/21 "2017-08-21T21:57:44Z")

</div>

Here’s what I’ve found about these two “posts read” counters.

### user\_stat.posts\_read\_count

- accurately records posts that you see
- e.g., skipping to the end of a topic does NOT count all posts in the topic as read
- but doesn’t count private messages (why?)
  - actually, it [does count private messages](https://github.com/discourse/discourse/blob/master/app/models/post_timing.rb#L47) and then [un-counts them later](https://github.com/discourse/discourse/blob/master/app/models/user_stat.rb#L47).

### user\_visits.posts\_read

- includes posts that you can’t see (hidden, deleted)
- includes posts that have been moved _in the topic they don’t belong to anymore_, and in their new topic (double counting them)
- skipping to the end of topic counts all posts as read

So the user\_visits.posts\_read count isn’t accurate at all. Unless I’m missing something, we should only use `user_stat.posts_read_count`.

---

_[View the full topic](https://meta.discourse.org/t/are-post-read-counts-per-user-accurate/54096)._
