You are here

README.txt in Radioactivity 5

OVERVIEW
========

This module is written to provide better metrics for node ranking
based on viewing rate. The rank information may be used on views to
provide different 'most read' lists, etc.

Particularly on news sites, the node_counter.daycount isn't really
adequate. On those sites, metrics that measure hour-scale and
week-scale activity might become important additions. Furthermore, the
fact that node_counter.daycount gets zeroed once a day makes it
questionable source for 'most read' lists. Resetting the daycount
makes those lists erratic until user activity has normalized the
situation.


SUPPORTED DATABASE BACKENDS
===========================

This module is developed for:
- MySQL 5.0.XX
- PostgreSQL 8.0.XX
Older versions might also work.


ALGORITHM
=========

The node ranking is based on radioactivity model. The algorithm
behind the model is pretty simple:

* Viewing a node adds energy to it and makes it 'hotter'.

* The energy decays at a rate defined by the half-life period, making
  it 'cooler'. For example, a click is worth 1 energy unit at the time
  of clicking, 0.5 energy units after one half-life period, 0.25
  energy units after two half-life periods, and so on.

Therefore, nodes that get lots of clicks stay hotter while inactive
nodes stay cooler. Note that the model is continuous, meaning that the
click energy is not degraded only once per half-life. Actually, it may
be degraded as often as required to get better precision. Degrading
more often means less energy is reduced per iteration.


IN PRACTICE
===========

By keeping half-life period short, let's say one hour, you'll get a
metric that reflects current node view rate. Using that metric in a
view, you can create a "most viewed nodes right now" list. By keeping
longer half-life, let's say 12 hours, you can setup a view that
roughly reflects todays most read nodes. The module supports setting
up multiple different decay rates.

There's a decay granularity setting in the
'admin/settings/radioactivity' page. You might want to keep that
somewhere like 10% of the minimum half-life time of your profiles to
get reasonable precision. You might go as low as 60 seconds on a busy
site, but keep an eye on the cron run duration. This granularity value
is the minimum interval between decay calculations. The actual
interval is, however, the minimum of cron-run period and this value.


ACKNOWLEDGEMENTS
================

The development of this module was funded by Kustannusosakeyhtiö Uusi
Suomi, which runs news site www.uusisuomi.fi (in Finnish).

File

README.txt
View source
  1. OVERVIEW
  2. ========
  3. This module is written to provide better metrics for node ranking
  4. based on viewing rate. The rank information may be used on views to
  5. provide different 'most read' lists, etc.
  6. Particularly on news sites, the node_counter.daycount isn't really
  7. adequate. On those sites, metrics that measure hour-scale and
  8. week-scale activity might become important additions. Furthermore, the
  9. fact that node_counter.daycount gets zeroed once a day makes it
  10. questionable source for 'most read' lists. Resetting the daycount
  11. makes those lists erratic until user activity has normalized the
  12. situation.
  13. SUPPORTED DATABASE BACKENDS
  14. ===========================
  15. This module is developed for:
  16. - MySQL 5.0.XX
  17. - PostgreSQL 8.0.XX
  18. Older versions might also work.
  19. ALGORITHM
  20. =========
  21. The node ranking is based on radioactivity model. The algorithm
  22. behind the model is pretty simple:
  23. * Viewing a node adds energy to it and makes it 'hotter'.
  24. * The energy decays at a rate defined by the half-life period, making
  25. it 'cooler'. For example, a click is worth 1 energy unit at the time
  26. of clicking, 0.5 energy units after one half-life period, 0.25
  27. energy units after two half-life periods, and so on.
  28. Therefore, nodes that get lots of clicks stay hotter while inactive
  29. nodes stay cooler. Note that the model is continuous, meaning that the
  30. click energy is not degraded only once per half-life. Actually, it may
  31. be degraded as often as required to get better precision. Degrading
  32. more often means less energy is reduced per iteration.
  33. IN PRACTICE
  34. ===========
  35. By keeping half-life period short, let's say one hour, you'll get a
  36. metric that reflects current node view rate. Using that metric in a
  37. view, you can create a "most viewed nodes right now" list. By keeping
  38. longer half-life, let's say 12 hours, you can setup a view that
  39. roughly reflects todays most read nodes. The module supports setting
  40. up multiple different decay rates.
  41. There's a decay granularity setting in the
  42. 'admin/settings/radioactivity' page. You might want to keep that
  43. somewhere like 10% of the minimum half-life time of your profiles to
  44. get reasonable precision. You might go as low as 60 seconds on a busy
  45. site, but keep an eye on the cron run duration. This granularity value
  46. is the minimum interval between decay calculations. The actual
  47. interval is, however, the minimum of cron-run period and this value.
  48. ACKNOWLEDGEMENTS
  49. ================
  50. The development of this module was funded by Kustannusosakeyhtiö Uusi
  51. Suomi, which runs news site www.uusisuomi.fi (in Finnish).