// Renewal Radar engineering
How Renewal Radar Got 20× Faster Without Trading Away Accuracy
The original large-portal baseline took almost five hours. The canonical architecture cut that to 13m30.2s. The latest production validation finished in 12m33s, with broader renewal-source coverage and zero CRM Search 429s.
The benchmark moved twice
These are observed production-path validations on the same large-portal class, not a scan-time SLA. The published record does not specify the exact run date, build or commit, environment configuration, repeated-run distribution or reviewer. Download the aggregate benchmark data →
| Run | Companies | Candidates | Wall time |
|---|---|---|---|
| Earlier baseline | 24,077 | Essentially full portal | 4h50m56s |
| Canonical architecture | 24,147 | 345 | 13m30.2s |
| Latest production validation | 24,159 | 375 | 12m33s |
Speed came from doing less expensive work, not checking less carefully
A candidate is a Company admitted to the deterministic cohort from eligible renewal evidence, existing Sighub state or a safety cohort. A source-positive candidate miss is a Company with eligible source evidence that was absent from the final candidate cohort. A legacy safety miss is a Company from existing Sighub state or a safety cohort that the new inventory failed to retain. Renewal Radar checks these cohort-recall metrics before running the expensive activity and Renewal Risk checks. If complete coverage cannot be proven, scanning fails open to the broader Company inventory.
Renewal timing is broad and strict at the same time
Eligible Company, Deal, Subscription, Line item, Quote and relevant custom-object evidence can now become production-authoritative. Different Companies in the same portal can resolve from different source families without a source picker.
Broad support does not mean blanket trust. Subscription timing must represent genuine end or renewal timing. Line-item evidence needs the required commercial and association context. Quote evidence needs eligible contract/renewal semantics and the required Quote state. Relevant custom objects need contract/renewal context plus a valid Company or Deal route.
The latest production validation
- 24,159 Companies and 375 canonical candidates.
- 0 source-positive candidate misses and 0 legacy safety misses. These are observed cohort-recall results, not a claim of zero missed renewals outside supported and accessible HubSpot evidence.
- 0 failed Companies and no validation task/CRM writes.
- 2,942 CRM Search requests at 3.92 req/s.
- 0 HTTP 429s, 0 retries and 0ms reactive backoff.
- Broad-source inventory added 1 Search request and 244ms in the validation portal.
The earlier accuracy audit still matters
The canonical architecture validation produced 44 explicit results, 97 Low-confidence estimates and 204 complete-none results across 345 Companies. Ground truth for the explicit-result audit meant exact Deal Contract End Date evidence in the source records. All 44 High-confidence explicit winners were checked, rather than a sample, while all 97 estimates remained task-ineligible. The published record does not include a comparison with an external contract repository. Broad-source support later reused the same canonical resolver instead of adding a second decision path.
The 429 problem is now proactively controlled
The earlier architecture smoke recovered from more than a thousand reactive rate-limit responses. Production now uses one portal-scoped CRM Search lane that proactively paces Search traffic. The latest validation completed 2,942 Search requests with zero 429s, retries or reactive backoff.
The task gate did not get looser
Finding more legitimate renewal sources does not mean creating more speculative tasks. Timing confidence and Renewal Risk severity remain separate. Estimates, proxies, material conflicts and incomplete authoritative timing cannot create a new automatic task. The observed run does not establish scan time for every portal, an error-free service level or renewal recall beyond the supported evidence available to the validation.
Search more of the right places, reject the wrong dates, resolve one canonical answer per Company, and only automate when the evidence is strong enough.