Radioactivity

Last updated on
9 January 2022

The Radioactivity module provides hotness-based popularity metrics to nodes and comments. The fundamental idea is that when objects have some activity, they heat up. At the same time the objects also constantly cools down at a rate proportional to how hot they are. So, the objects that have more current or recent activity stays hotter than the more inactive ones.

Activity can mean different things depending on configuration. Probably the most typical configuration (profile in our terminology) is such that the objects in concern are nodes and the activity we're interested in are node views. In this scenario, whenever a node is viewed it heats up, while all nodes are constantly also cooling down. This is a metric for node popularity, i.e., the more often the node is viewed the hotter it stays. This was also the initial use case for this module, intended to provide an alternative to node view counting based popularity metrics.

The rate of cooling, i.e. the energy decay rate, is defined by half-life. Basically, the half-life defines the period after the energy is halved. For example, lets say that some node's energy level is initially 100 and the half-life period is one hour. So, after an hour the energy is 50 and after another hour the energy is 25, and so on. Note that the energy actually decays continuously, meaning no sudden drops in energy levels(*). The decay rate is meaningful such that it defines a time dimension for popularity. To reflect roughly the most popular today one could use half-life around 6 or 12 hours. For a busy news site, most popular now could use half-life around 15 minutes. For the curious, the model is based on radioactive decay, hence the name.

(*) Well, technically there are sudden drops in energy levels, because the cooling computation is performed in cron runs for performance reasons.

Help improve this page

Page status: No known problems

You can: