Skip to main content

Timeliness: Configuration Scenarios

Three practical walkthroughs showing how to configure DQS timeliness analysis for different business needs.

What These Scenarios Cover

This page walks through three real-world configurations of DQS timeliness analysis. Each scenario covers a specific business problem, shows the exact settings to use, and explains how to read the results.

These walkthroughs build on the concepts from the main Timeliness article. Read that first if you are new to timeliness metrics, the diagnostic flow, or configuration options like Freshness Window and Null As Stale.

Scenario 1: Lead Outreach Freshness on a Custom Date Field

The Problem

Your sales team tracks when each lead was last contacted in a custom Last_Outreach_Date__c field on the Lead object. SDRs update this field manually after each call or email. The CRM shows 8,000 open leads, but nobody knows how many have recent outreach. Some leads were never contacted at all because the field was left blank. The sales ops team needs a clear count of fresh vs stale leads so they can prioritize the queue and catch leads that fell through the cracks.

Why a custom field? Standard Salesforce date fields like LastModifiedDate are always populated and update automatically. A custom date field like Last_Outreach_Date__c depends on user input. It can be null (never contacted), outdated (contacted months ago), or current. That makes it a good target for freshness analysis with Null As Stale enabled.

Configuration

This is a straightforward freshness check. Use Data Freshness mode on the Lead object, targeting the Last_Outreach_Date__c field. You need the headline freshness rate and staleness breakdown, not the advanced anomaly metrics.

SettingValueWhy
Analysis ModeData FreshnessYou need freshness and staleness rates, not overdue tracking or anomaly detection
Freshness Window30 daysActive leads need engagement within the last month
Null As StaleONA null Last_Outreach_Date__c means the lead was never contacted. That is stale by definition.

Last_Outreach_Date__c is a “last event” field. Freshness Rate is the right headline metric here. Overdue Rate would read tautologically high because most outreach dates are in the past by nature.

Sample Results

MetricValue
Freshness Rate38%
Staleness Rate62%

Total Lead records evaluated: 8,000.

Reading the Results

Start with the headline: 38% freshness. That means 62% of your open leads, 4,960 records, have no outreach in the last 30 days. Your SDRs are working from a pool of 8,000 leads where nearly two-thirds are cold.

Now break down what the 62% staleness contains.

Null As Stale is ON, so nulls are counted as stale. If 1,200 of those 4,960 stale records have a null Last_Outreach_Date__c, those leads were never contacted at all. They entered the system through a web form, import, or integration and nobody logged outreach. The remaining 3,760 records have an outreach date, but it is older than 30 days.

Two groups, two different actions:

  • For the 1,200 nulls: These are untouched leads. Route them to SDRs for first contact. They are not “stale” in the traditional sense. They are leads that fell through the cracks.
  • For the 3,760 with old outreach dates: These are leads where outreach happened but engagement stopped. Review the age distribution. If most dates cluster around 31-45 days, a quick follow-up campaign can move many back into the fresh window. If most dates are 90+ days old, consider recycling or archiving them.

What to Do Next

Use the Freshness Rate to segment your lead pool. Create a list view or report filtered to Last_Outreach_Date__c within the last 30 days and route those 3,040 fresh leads to your SDRs first. Track Freshness Rate over time. If it drops between scans, your lead follow-up process has a gap. If it climbs, your outreach cadence is working.


Scenario 2: Contract Renewal Deadline Tracking

The Problem

Your customer success team manages 2,500 active contracts. Renewals are tracked in the Contract_End_Date__c field on the Account object. The team gets a quarterly report of upcoming renewals, but contracts that slip past their end date without renewal go unnoticed for weeks. By the time someone spots an expired contract, the customer has already started evaluating competitors. You need a way to measure how many contracts are past due and by how much.

Configuration

Use Advanced Data Freshness mode on the Account object, targeting the Contract_End_Date__c field. You need Overdue Rate with a grace period because this is a deadline field where “past due” has direct business meaning.

SettingValueWhy
Analysis ModeAdvanced Data FreshnessEnables Overdue Rate and Average Age for the full deadline picture
Freshness Window365 daysContracts renew annually. A contract end date within the last year is “current.”
Null As StaleONA null contract end date means the date was never set. That is a data gap, not a clean record.
Overdue TrackingONThis is a deadline field. You need to know what percentage is past due.
Grace Period30 daysGive the renewal process 30 days after the contract end date before flagging as overdue. Renewals often close in the weeks after expiration.

Contract_End_Date__c is a deadline field. Overdue Rate is the right headline metric here, not Freshness Rate. The question is “how many contracts are past due?” not “how many contract dates are recent?”

Sample Results

Foundation Metrics:

MetricValue
Freshness Rate64%
Staleness Rate34.8%

Advanced Metrics:

MetricValue
Average Age210 days
Future Rate1.2%
Overdue Rate14%

Total Account records evaluated: 2,500.

Reading the Results

Overdue Rate (14%) is your headline number. 350 contracts are more than 30 days past their end date without being updated. These are active revenue leakage risks. The 30-day grace period already filtered out contracts in the normal renewal window, so these 350 are genuinely stuck.

Freshness Rate (64%) provides context. 64% of contract end dates fall within the last 365 days. This tells you most contracts have been touched within a renewal cycle. The 34.8% that are stale include both the overdue contracts and contracts with very old end dates that were never updated after renewal.

Average Age (210 days) reveals the depth of the problem. The mean age of contract end dates is 210 days. Given a 365-day freshness window, this average sits inside the window but closer to the stale boundary. Your dataset skews toward older dates, meaning many contracts are approaching their next renewal window.

Future Rate (1.2%) flags 30 records with contract end dates in the future. For a contract end date, a future date is normal. It means the contract has not expired yet. A 1.2% Future Rate on 2,500 contracts means only 30 have future end dates. This is a useful data point: it tells you that the vast majority of contracts in your system are already past their end date, and the Contract_End_Date__c field is rarely updated to reflect renewal extensions.

The business math: 350 overdue contracts at your average contract value represent real revenue at risk. If your average annual contract is $15,000, that is $5.25 million in contracts sitting past due with no active renewal on record.

What to Do Next

Build a priority queue from the 350 overdue contracts. Sort by contract value and days past due. Assign each to a customer success manager for immediate outreach. After the initial cleanup, run the scan monthly. Track Overdue Rate as your primary renewal health metric. A rising Overdue Rate between scans means your renewal process is falling behind.


Scenario 3: Pipeline Date Cleanup After Data Migration

The Problem

Your company migrated 12,000 Opportunity records from a legacy CRM into Salesforce six months ago. Pipeline reports look wrong: deals appear in quarters they do not belong to, and forecast totals include amounts from years-old opportunities. The RevOps team suspects the CloseDate field contains legacy dates from the old system (some from 2015) and placeholder dates (2099-12-31) injected by the migration tool. Before the team can trust the pipeline, they need to know exactly how many close dates fall outside a realistic range.

Configuration

Use Advanced Data Freshness mode on the Opportunity object, targeting the CloseDate field. You need Operational Range Rate to define what counts as a “realistic” close date and catch everything outside that boundary.

SettingValueWhy
Analysis ModeAdvanced Data FreshnessEnables Operational Range Rate and Future Rate for anomaly detection
Freshness Window180 daysA close date within the last 6 months is “current” for pipeline purposes
Null As StaleOFFCloseDate is a required field on Opportunities. Nulls are rare and not the focus of this analysis.
Operational RangeONThe core of this analysis. Define what dates are realistic.
Operational Range Min365 days in the pastAny close date older than 1 year from today is a legacy artifact
Operational Range Max180 days in the futureAny close date more than 6 months out is either a placeholder or an unrealistically far forecast

The Operational Range inputs use “days in the past” and “days in the future” from today. DQS converts these to absolute dates at scan time. If you run this scan on March 1, 2026, the range becomes March 1, 2025 through August 28, 2026. Any close date before March 1, 2025 or after August 28, 2026 is flagged as out of range.

Sample Results

Foundation Metrics:

MetricValue
Freshness Rate52%
Staleness Rate38.5%

Advanced Metrics:

MetricValue
Average Age285 days
Future Rate9.5%
Overdue RateNot computed (Overdue Tracking OFF)
Operational Range Rate71%

Total Opportunity records evaluated: 12,000.

Reading the Results

Operational Range Rate (71%) is your headline number. 71% of close dates fall within the realistic range (1 year past to 6 months future). That means 29%, or 3,480 records, have close dates outside this boundary. These are the records distorting your pipeline.

Break down what sits outside the range:

Future Rate (9.5%) flags 1,140 records with close dates in the future. Some of these are normal: open Opportunities with upcoming close dates within the next 6 months are expected and fall inside the operational range. The records Future Rate flags here are all close dates after today. Cross-reference with the operational range: records that are both future-dated AND outside the 180-day-future boundary are the problematic ones. These are placeholder dates like 2099-12-31 or unrealistically far close dates from the migration.

The out-of-range breakdown looks like this:

CategoryEstimated RecordsWhat It Means
Legacy dates (older than 365 days)~2,340Migrated from the old CRM. Close dates from 2015-2024 on deals that were never cleaned up.
Far-future placeholders~1,140Dates like 2099-12-31 injected by the migration tool where the source system had no close date.
Total out of range~3,480Your cleanup scope

Average Age (285 days) confirms the legacy data drag. The mean age across all close dates is 285 days, well outside your 180-day freshness window. This high average reflects the large volume of old migrated dates pulling the number up. After you clean the legacy records, expect this number to drop sharply.

Freshness Rate (52%) gives you the pipeline health baseline. Only about half of your close dates are within the last 6 months. After removing the 3,480 out-of-range records, recalculate. Your clean dataset of 8,520 records will have a much higher freshness rate, and your pipeline reports will finally reflect current deals.

What to Do Next

Export the 3,480 out-of-range records. Split them into two cleanup tracks:

  • Legacy dates (2,340 records): Review by stage. Closed-Won and Closed-Lost opportunities with old close dates are historical records. Leave them but exclude them from active pipeline views. Open opportunities with close dates from 2015-2024 are dead deals that were never closed in the old system. Update their stage to Closed-Lost.
  • Placeholder dates (1,140 records): Replace 2099-12-31 and similar placeholders with realistic close dates based on the opportunity stage and creation date. For deals with no clear close timeline, set the close date to end of current quarter and flag for sales review.

After cleanup, rescan. Your target is an Operational Range Rate above 95% and a Freshness Rate above 75% for the active pipeline.


Choosing Your Configuration

Use this table to pick the right starting point for your timeliness analysis.

If You Need To…Start WithKey Settings
Check date freshness for a quick hygiene auditData FreshnessSet your Freshness Window, Null As Stale ON if nulls represent missing data
Measure lead or contact engagement recencyData FreshnessFreshness Window: 30 days, Null As Stale ON, use Freshness Rate as your headline
Track deadlines and renewal complianceAdvanced Data FreshnessOverdue Tracking ON, set Grace Period to match your business process buffer
Detect legacy or placeholder dates after a migrationAdvanced Data FreshnessOperational Range ON, set Min/Max to define your realistic date boundary
Get the full date quality picture on a critical fieldAdvanced Data FreshnessAll settings configured: Freshness Window + Null As Stale + Overdue Tracking + Operational Range
Understand staleness severity beyond the rateAdvanced Data FreshnessReview Average Age alongside Freshness Rate to plan the right remediation effort

For a full reference of all 6 timeliness metrics and how they fit into the diagnostic flow, return to the main Timeliness article.

Ready to measure your own data quality? Take the AI Readiness Assessment to see your timeliness scores and more.