Sign in

Blog · Data quality and reconciliation

A CRM data quality scorecard: five fields, five checks, one number per rep

How to score CRM data quality from the export rather than from complaints: five fields that every coverage and pipeline measure depends on, owner, close date, stage, activity date and account identifier, the check for each, the completeness and validity rate per rep, why the score is reported beside the measures that depend on it, and the rule that a measure computed on data under a stated score is shown greyed.

The short answerFive fields carry every coverage and pipeline measure: account owner, opportunity close date, stage, last activity date and the account identifier that joins to the ledger. Each has a completeness check, is it filled, and a validity check, is it plausible: an owner who is a current rep, a close date not in the past on an open deal, a stage consistent with the deal's age, an activity within the account's cadence, an identifier that exists in the ledger. The score per rep is the share of their records passing all ten, and any measure computed on a rep's data under a stated score is shown greyed with the score beside it.

A coverage report says a rep is at 91 percent. The rep's CRM records have owners on half the accounts and activity dates on a third. The 91 percent is a measure of the third. This guide sets out a data quality score from the export, per rep, and the rule that puts it beside every measure that depends on it.

The five fields and ten checks

Field Completeness Validity
Account owner Filled Is a current rep in the roster
Close date Filled on open deals Not in the past
Stage Filled Consistent with age: not in discovery after 200 days
Last activity date Filled Within the account's tier cadence
Account identifier Filled Exists in the ledger or the customer master

The score

Per rep:

Score = records passing all applicable checks ÷ records

Per field: the pass rate, so the rep and the manager see which field is the problem.

The rows you need

  • CRM accounts: account, owner, identifier.
  • CRM opportunities: opportunity, owner, stage, close date, created date.
  • CRM activities: account, date.
  • Roster: rep, status.
  • Ledger or customer master: account identifiers.

Identifiers only.

The rule

A measure computed on a rep's data with a score under the stated floor is shown greyed, with the score beside it.

Coverage, pipeline coverage, time to first touch, untouched accounts: all of them. The floor is on the report; seventy percent is a common starting point.

A worked scorecard

Rep Records Owner Close date Stage Activity Identifier Score Measures
R-04 93 100% 61% 84% 38% 96% 41% Greyed
R-11 66 100% 94% 97% 88% 100% 86% Shown
R-17 32 100% 100% 100% 91% 100% 91% Shown

Rep R-04's activity dates are missing on two thirds of accounts. Their coverage figure is computed on the third that have them, and it is greyed until the score passes the floor. The manager's conversation is about the field, not the coverage.

Rolled up

Per team: the score, and the share of the team's revenue sitting under greyed measures. A region where forty percent of revenue is under greyed measures has a data problem before it has a coverage problem, and the report says so first.

Where it goes wrong

Team score only. The rep at 41 inside the 78.

Measures shown at full confidence on bad data. Ninety-one percent coverage of a third of the book.

Validity skipped. Fields filled with yesterday's date to pass completeness.

Score hidden from reps. The behaviour does not change; the report stays grey.

Every week, the score beside the measure

Mapped once, the CRM exports, the roster and the ledger produce the ten checks, the score per rep and per field, and the greying rule on every dependent measure every week. Covirage builds this from the exports as they are. The metrics governance solution describes the setup, and the pipeline hygiene guide covers the opportunity-level checks in more depth.

Questions people ask

Why per rep?

Because data quality is a behaviour, and the export shows whose. A team score of 78 percent is one rep at 40 and the rest at 90. The rep at 40 is a conversation, and their coverage figure is not to be trusted until it happens.

Why grey the measure rather than hide it?

Hidden measures get asked about. A greyed measure with the score beside it says: this is the number, and it rests on data that is 40 percent complete. The reader decides how much to believe it, and the rep knows why it is grey.

Should the score be in compensation?

That is the company's choice. What the score does is make the dependency visible: a rep whose coverage looks good on 40 percent complete data has not been measured. Whether that changes pay is a policy question; whether it changes the report is not.