Invented by the Financial Times (opens new window), the RFV is an engagement score that is actionable for every website. It combines information about user visits regarding Recency, Frequency, and Volume metrics.

The strength of the RFV is that it ponders reader frequency with volume. A reader coming every other day and reading 10 articles has a higher score than a reader coming every day but leaving after 1 pageview.

This score goes from 0 to 100, where 100 means the reader keeps coming back every day and reads several articles each time. Finally, the RFV varies depending on the last visit date.

Compass automatically assigns a score to each reader and aggregates it to provide an RFV score for each article of a publication. Read on to learn about the RFV score and how you can use it in Compass.

# Compass and RFV

Compass presents the RFV score of readers as "Visitor Frequency". The frequency can be one of:

  • New: a first time visitor
  • Fly-by
  • Casual
  • Engaged
  • Addict: your most loyal reader, who visits several times a day, and reads multiple articles.
  • Won back

Every time a reader visits an article, their RFV score attaches itself to that article, contributing to the article's RFV. For example, an article with an RFV of 13/100 is mostly read by casual visitors.

Compass lets you filter articles by visitor frequency to see which ones interest new readers and which ones are preferred by engaged users.

# RFV via the SDK Recommended

Compass exposes the RFV score of the user in session in the frontend.

Once marfeel-sdk has been loaded, retrieve the RFV via compass instance passing a callback function:

window.marfeel.cmd.push(['compass', function(compass) {
	compass.getRFV((rfv) => {
       // { rfv: "3.83" }

It calls your callback function with an object with the RFV value as a String.

# RFV as a service

The RFV is also available via Compass's API. The endpoint requires your account ID and the specific user ID you want to access:

Endpoint: https://events.newsroom.bi/data.php

Parameter Explanation Example
ac Your account ID 107
u The user ID 820c10f4-ec6c-40b4-9cb4-80db5025bbea
GET https://events.newsroom.bi/data.php?ac=107&u=820c10f4-ec6c-40b4-9cb4-80db5025bbea

This endpoint returns the same thing as the JavaScript function, an object containing the RFV value as a String.

# Sharing the RFV

Compass is compatible with the IAB Eurpoe Transparency and Consent Framework (TCF (opens new window)), it automatically retrieves user choices in regards to privacy as long as the websites uses a TCF CMP.

More information: Compass and consent management.

# Sharing with Piano

If the reader has accepted personalization, you can share the RFV score calculated by Compass with your other tools, such as Piano. You can use Compass instance to do so, with the following snippet for example:


window.marfeel.cmd.push(['compass', function(compass) {
	compass.getRFV(({rfv}) => {
        var userType;

        if (rfv <= 1) {
            userType = 'new';
        } else if (rfv <= 10) {
            userType = 'fly-by';
        } else if (rfv <= 35) {
            userType = 'casual';
        } else if (rfv <= 60) {
            userType = 'engaged';
        } else {
            userType = 'addict';

        window.tp.push(["setCustomVariable", "compassEngagement", userType]);