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
LastModifiedDateare always populated and update automatically. A custom date field likeLast_Outreach_Date__cdepends 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.
| Setting | Value | Why |
|---|---|---|
| Analysis Mode | Data Freshness | You need freshness and staleness rates, not overdue tracking or anomaly detection |
| Freshness Window | 30 days | Active leads need engagement within the last month |
| Null As Stale | ON | A 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
| Metric | Value |
|---|---|
| Freshness Rate | 38% |
| Staleness Rate | 62% |
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.
| Setting | Value | Why |
|---|---|---|
| Analysis Mode | Advanced Data Freshness | Enables Overdue Rate and Average Age for the full deadline picture |
| Freshness Window | 365 days | Contracts renew annually. A contract end date within the last year is “current.” |
| Null As Stale | ON | A null contract end date means the date was never set. That is a data gap, not a clean record. |
| Overdue Tracking | ON | This is a deadline field. You need to know what percentage is past due. |
| Grace Period | 30 days | Give 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:
| Metric | Value |
|---|---|
| Freshness Rate | 64% |
| Staleness Rate | 34.8% |
Advanced Metrics:
| Metric | Value |
|---|---|
| Average Age | 210 days |
| Future Rate | 1.2% |
| Overdue Rate | 14% |
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.
| Setting | Value | Why |
|---|---|---|
| Analysis Mode | Advanced Data Freshness | Enables Operational Range Rate and Future Rate for anomaly detection |
| Freshness Window | 180 days | A close date within the last 6 months is “current” for pipeline purposes |
| Null As Stale | OFF | CloseDate is a required field on Opportunities. Nulls are rare and not the focus of this analysis. |
| Operational Range | ON | The core of this analysis. Define what dates are realistic. |
| Operational Range Min | 365 days in the past | Any close date older than 1 year from today is a legacy artifact |
| Operational Range Max | 180 days in the future | Any 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:
| Metric | Value |
|---|---|
| Freshness Rate | 52% |
| Staleness Rate | 38.5% |
Advanced Metrics:
| Metric | Value |
|---|---|
| Average Age | 285 days |
| Future Rate | 9.5% |
| Overdue Rate | Not computed (Overdue Tracking OFF) |
| Operational Range Rate | 71% |
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:
| Category | Estimated Records | What It Means |
|---|---|---|
| Legacy dates (older than 365 days) | ~2,340 | Migrated from the old CRM. Close dates from 2015-2024 on deals that were never cleaned up. |
| Far-future placeholders | ~1,140 | Dates like 2099-12-31 injected by the migration tool where the source system had no close date. |
| Total out of range | ~3,480 | Your 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 With | Key Settings |
|---|---|---|
| Check date freshness for a quick hygiene audit | Data Freshness | Set your Freshness Window, Null As Stale ON if nulls represent missing data |
| Measure lead or contact engagement recency | Data Freshness | Freshness Window: 30 days, Null As Stale ON, use Freshness Rate as your headline |
| Track deadlines and renewal compliance | Advanced Data Freshness | Overdue Tracking ON, set Grace Period to match your business process buffer |
| Detect legacy or placeholder dates after a migration | Advanced Data Freshness | Operational Range ON, set Min/Max to define your realistic date boundary |
| Get the full date quality picture on a critical field | Advanced Data Freshness | All settings configured: Freshness Window + Null As Stale + Overdue Tracking + Operational Range |
| Understand staleness severity beyond the rate | Advanced Data Freshness | Review 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.