An engagement score is one monthly number for a contact or organization, based on the scoring model set up in your Rhythm account. Rhythm measures the metrics in the model, converts each metric to points, applies the component weights, and adds the results. This article explains that math so the score on a contact or organization record is easier to understand.
What Feeds a Score
A scoring model is made of components. Each component names one metric, such as event registrations in the last year or a contact's total membership length, and defines point ranges for that metric. Contact models and organization models are separate; your account can use one of each, or neither, depending on whether engagement scoring is turned on and which models are selected.
Each month, Rhythm measures every contact and organization covered by your model and runs the calculation for each record. If a record has no measurement at all for the month, such as a contact who was inactive the whole time, Rhythm does not give it a score for that month. That is different from a score of zero: a missing score is not ranked, while a zero score counts toward the percentile ranking described below.
From a Metric to Points
For each component, Rhythm checks the record's value for that metric and uses the first range the value falls into. The points for that range become the component's score. Two details matter here:
- A missing measurement is not the same as a stored zero. If a record has no recorded value for a metric, the component earns zero points, even when one of the ranges begins at zero. A range that starts at zero only matches when Rhythm has an actual value to compare, meaning a true 0.
- A range with no listed upper end has no limit. If a range's ending value is set to zero, Rhythm treats that range as open-ended rather than capped at zero.
From Points to a Total Score
After each component has points, Rhythm multiplies those points by the component's weight and adds the results together. A component with no weight set adds nothing to the total, even if it earned points. Rhythm rounds each weighted component score to a whole number before adding it in, so the final total can be one or two points different from hand-calculated math using the raw numbers. That difference is expected rounding, not an error.
Percentile Rank
Rhythm also ranks each scored record as a percentile against other scored records of the same kind for that same month. Scored contacts are ranked against other scored contacts, and scored organizations are ranked against other scored organizations. Rhythm only calculates percentiles when at least one record in that batch received a score; if nothing was scored for the month, there is nothing to rank. Percentiles are separate from engagement categories: a percentile compares a record with its peers that month, while a category is assigned from the score's own value.
Engagement Categories
If category assignment is turned on for your model, Rhythm checks each new score against the model's category rules in order. The record is placed in the first rule its score satisfies. Two things follow from this:
- Order decides overlapping rules. If two rules could both match a score, whichever rule comes first wins.
- The category switch is read at the moment a score is generated. Turning category assignment on or off changes what happens to scores calculated from that point forward. Scores that were already calculated keep whatever category they were given, or no category if the switch was off then, until they are rescored, such as by running a historical lookback.
If category assignment is off, Rhythm still calculates the score, but it does not place the score in a category. Whether categories are on, and which rules apply, comes from your account's scoring model configuration.
Putting It Together
flowchart LR
A[Metric value for the month] --> B[Points from the matching range]
B --> C[Points x component weight]
C --> D[Weighted points added across every component]
D --> E[Rounded total: the score]
E --> F[Percentile rank among the same kind of record]
E --> G[First matching category rule, if categories are on]
Every score, percentile rank, and category on a contact or organization record comes from this monthly calculation, using the measurements that exist for that record. Rhythm does not look at last month's score; each month is scored on its own.
Where to See This in Practice
A contact or organization record shows its current score, percentile, and category. If you change a model's components, weights, or category rules after earlier months were scored, your account can re-run the calculation for past months instead of applying the changes only to future scores. That way, historical scores reflect the updated model. You can also build a query against contact or organization records to see scores, percentiles, and categories across your whole account at once.