8

A few hours ago I posted an answer to an old question on StackOverflow

Moments later I've noticed that my impact jumped from ~2K to ~72K

I started researching and discovered that it is a known issue and many people experienced it. I also found the Impact feature discussion on meta. It states that the People Reached for an answer is counted by the views of the question in this method:

  • Answers - Views of the parent question for answers that are:
    • Non-deleted AND
    • Score > 0 AND
    • Also meets one or more of the following criteria:
      • In the top 3 answers OR
      • Is the Accepted Answer OR
      • Score at least 5 OR
      • Has at least 20% of the total vote count

And my answer does fulfill these terms.

It also states:

we can't really even count the views on answers, nor can we count just the views on a question page that came in after a given answer was posted

This is true. Counting the views for answers in this way will be a really resource consuming task.

But there another way to solve this issue:

For every answer, save the question views before the answer was posted

Then the People Reached for an answer can simply be the question's views reduced by this number.

It doesn't cost much (resources or calculation time) and it can make the Impact feature much more relevant and accurate.

I guess it has been thought of before. So why not fixing it in this way?

3
  • Well, suppose I view the question before you post your answer, and do it again after you posted it. The second time will not count against the total people reached by the question, but it should count for your answer. It's impractical to keep track of all this information. – Glorfindel Jun 12 '16 at 14:45
  • @Glorfindel thank you for the note. Its a problem though it is stated in many regarding posts that this number is a guesstimate and cannot be 100% accurate. I dont think this suggestion will make it bullet proof but I guess will be a lot more accurate than the existing situation. A new and more correct answer to an old question is a very common thing and results huge calculation mistakes (i.e my 2K to 72K issue). People who revisit a question and will not count for a new answer is a problem sure, but I believe it can cause a lot less calculation mistakes – Jaqen H'ghar Jun 12 '16 at 15:15
  • 3
    @Glorfindel Actually, your view gets counted towards the question every ~15 minutes. It's not a one view and you never count again system. See How are the number of views in a question calculated? – animuson Jun 12 '16 at 17:30
2

I suppose so but...

The expiring cache entry. The entry expires every 15 minutes, which allows the view count to be updated periodically without wasting that much resources from updating it every single time the question gets it gets viewed. Trying to see how many views the answer got during that entry would waste more resources so this would be difficult to solve.

Some math there and there could help solve that issue but there could also be improvements. Instead of calculating the views based on the total views minus the amount of views before the answer was posted, why not make calculate it based on the 15 minute period. To make it fair, if the entry was halfway or past halfway to its expiration date of 15 minutes, wait for calculation when the next entry loads. Else, count all the views of that entry into the calculation.

1
  • Thank you for the answer and effort. I didnt know about the caching issue and had to do a bit of research about it. Yes its an issue and yes it can be solved by your suggestion. Actually even a simple and a bit less accurate solution as just waiting for the question cache to sum up and then sum up all the new cache entries to the answer's prev-question-views-var would be sufficient and much more accurate than today's method. As for today an answer gets the 15 minutes cache anyway, but also all the previous views which could actually be 4-5 years of additional views. – Jaqen H'ghar Jun 13 '16 at 7:03

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .