Portal Health Score
Contacts
71
C+
✓ Strong: Email fill rate 94%. Phone coverage 87%. Low duplicate rate (1.2%).
✗ Issues: 312 contacts assigned to deactivated user "M. Torres". Name field quality at 68% — 847 records contain titles, ALL CAPS, or placeholder surnames.
Companies
84
B
✓ Strong: Domain fill rate 91%. Industry classification 88%. Low orphan rate.
✗ Issues: 14 companies with duplicate domains. Employee count stored as text in 203 records. 67 companies have no associated contacts.
Deals
41
Critical Failure
✓ Strong: Pipeline structure intact. Stage names consistent. 78% have Contact associations.
✗ Critical: 34% of deals missing Amount. 28% past Close Date in open stage. 0% Close Reason fill on closed deals. 89 deals on deactivated owner.
Tickets
38
Critical Failure
✓ Strong: Pipeline assignment 100%. Status values consistent.
✗ Critical: Category fill rate 0%. 74% have no associated Contact. 183 open tickets with no activity in 30+ days.
Overall Portal
58
F+
Weighted across 4,847 records. Deals (Critical Failure — 41) is the primary drag on portal score. Tickets (Critical Failure — 38) compounds the deficit. Contacts and Companies provide a stable foundation but cannot offset pipeline-level failures.
Finding Count
18 Deals Issues · 14 Tickets Issues · 9 Contacts Issues · 6 Companies Issues
Executive Summary
This audit reviewed 4,847 records across Contacts (2,841), Companies (634), Deals (891), and Tickets (481) and identified 47 findings across all objects. The portal has significant structural vulnerabilities concentrated in the revenue pipeline and support operations.
Deals (41 — Critical Failure) is the most severely impacted object. A 34% missing Amount rate creates direct forecasting blind spots, while 0% Close Reason fill on closed deals has left 18 months of win/loss data unrecorded.
Tickets (38 — Critical Failure) reflects a support workflow that was never fully configured post-implementation. Zero Category fill and 74% unassociated records suggest the object was activated but never operationalized.
Data Inconsistencies
Closed Won deals with Contact in Lead stage
43 Closed Won deals have associated Contacts still showing Lifecycle Stage: Lead. Broken stage sync workflow — Contact progression not triggered on deal close.
Deals associated with Companies with no Contacts
67 deals linked to Company records that have no associated Contacts. Broken CRM relationship integrity — likely data imported without association mapping.
Timestamp clustering detected — Contacts
847 Contact records share Create Date of 2024-03-14. Bulk import event. Review for deduplication and field quality issues specific to this cohort.
Per-rep Amount fill variance — POTENTIAL
Rep "D. Hartwell" shows 12% Amount fill vs. group average of 66%. Pattern is consistent with selective omission. Validate with sales leadership before acting.
Pipeline Revenue Impact
Known Pipeline Value
$2,847,300
891 deals · 591 with Amount values
Confirmed Closed Won Revenue
$1,204,500
187 closed won deals with Amount confirmed
Observed Close Rate
21.0%
Based on 187 closed won / 891 total deals with Amount
Projected Full Pipeline
$4,065,100
Known + 300 projected missing deals × $4,059 avg deal value
No-Show Re-engagement Opportunity
$25,600
122 no-show contacts × 10% re-engagement × $4,059 avg × 21% close rate
Est. Revenue Left on Table
$255,700
300 missing deals × $4,059 avg × 21% close rate
Total Recoverable Revenue Estimate
$281,300
34% of pipeline flying blind
Avg deal value: $4,059 (based on 591 deals with Amount). Close rate sourced from closed-won records. 10% no-show re-engagement assumption. These are directional projections.
Cost of Inaction
New Incomplete Deals This Week
6
deals entering pipeline without Amount this week alone
Weekly Pipeline Blindness Cost
$24,354
in untracked deal value added every 7 days
Weekly Missed Revenue Estimate
$5,114
estimated closed revenue lost per week at 21% close rate
If Nothing Changes
$56,254
estimated revenue impact over the 11 weeks it takes to fix this portal
🗓 Recommended re-audit: Jun 9, 2026
Audit Recap
What We Found
4,847 records audited. 47 findings across 4 objects. Overall portal score: 58/100 (F+). Deals and Tickets both in Critical Failure. 312 contacts on a deactivated user. 847-record bulk import cohort flagged for review.
What It's Costing
$281,300 in recoverable revenue identified. $5,114 in weekly missed revenue at current close rate. $56,254 cumulative cost if nothing changes over the 11-week fix timeline. 18 months of win/loss data unrecorded due to 0% Close Reason fill.
What Needs to Happen First
1. Enforce Amount as required on deal creation. 2. Bulk reassign 312 contacts from deactivated owner M. Torres. 3. Make Close Reason required on stage transition to Closed Won/Lost.
Long-Term Governance
Required field enforcement at pipeline entry. Offboarding checklist to include CRM record reassignment. Monthly pipeline hygiene review cadence. Admin-owned property governance with quarterly audits.
Organizational Failure Attribution
Missing Required Fields at Scale CONFIRMED
34% of Deals missing Amount. 0% Close Reason fill across all closed deals. Required fields were never enforced at pipeline entry or stage transition. Responsible: HubSpot Admin / RevOps + Sales Team. Recommended fix: Enable required field enforcement on Amount at deal creation and Close Reason on Closed Won/Lost stage transitions.
312 Contacts on Deactivated User CONFIRMED
M. Torres (deactivated 2024-09-12) still owns 312 Contact records. No sequences running on these records. Responsible: Leadership / Operations. CRM record reassignment was not part of the offboarding checklist. Recommended fix: Bulk reassign via CRM → Contacts → Filter by Owner → M. Torres → Reassign.
0% Close Reason Fill — All Closed Deals CONFIRMED
187 closed deals across 18 months with no Close Reason recorded. Win/loss intelligence is entirely absent. Responsible: Admin / RevOps + Sales. Recommended fix: Make Close Reason required on Closed Won and Closed Lost stage transitions in pipeline settings.
0% Ticket Category Fill CONFIRMED
481 tickets with no Category assigned. Support reporting is structurally broken — issue classification is impossible. Responsible: Admin / Support Lead. Workflow was never configured post-implementation. Recommended fix: Define Category taxonomy and make it required on ticket creation.
Stale Pipeline Accumulating INFERRED
28% of open deals are past Close Date with no stage update. The data suggests no stage exit criteria are enforced and pipeline reviews are not occurring on cadence. Responsible: Admin / RevOps. Recommended fix: Configure stage exit requirements and establish bi-weekly pipeline review cadence.
Property Sprawl — 34 Undocumented Fields INFERRED
34 custom properties across objects have no description. This pattern is consistent with fields created on demand without governance review. Responsible: Admin. Recommended fix: Audit and document all custom properties. Archive zero-fill properties unused for 90+ days.
D. Hartwell Amount Fill Variance — POTENTIAL
Rep D. Hartwell shows 12% Amount fill vs. group average 66%. This data is consistent with selective omission of deal values. One possible explanation is intentional avoidance of quota tracking. This warrants validation with sales leadership before acting. Recommended fix: Review D. Hartwell's deals directly before drawing conclusions.
Priority Queue
#1
Critical
Deals
Enforce Amount as Required Field on Deal Creation
300 deals (34%) have no Amount. Every deal entering the pipeline without an Amount is invisible to forecasting. Revenue projections, close rate calculations, and pipeline reviews are all structurally compromised until this is enforced.
⏱ 1–2 hrs
💥 High Revenue Impact
#2
Critical
Contacts
Bulk Reassign 312 Contacts from Deactivated Owner M. Torres
312 contact records are currently owned by a deactivated user. No automated sequences, tasks, or workflows are firing on these records. They are operationally invisible and represent an active revenue leak.
⏱ 30 min
💥 Operational Impact
#3
Warning
Deals
Require Close Reason on Closed Won / Closed Lost Stage Transitions
0% Close Reason fill across all 187 closed deals. 18 months of win/loss intelligence has not been captured. This single configuration change unlocks structured win/loss reporting for the first time.
⏱ 1 hr
📊 Reporting Impact
#4
Warning
Tickets
Define Ticket Category Taxonomy and Enforce at Creation
481 tickets with 0% Category fill rate. Support issue classification is impossible. Without Category, no trend analysis, no escalation routing, no SLA segmentation. This is a workflow configuration gap, not a data entry problem.
⏱ 2–4 hrs
📊 Operations Impact
#5
Suggestion
Companies
Document 34 Undescribed Custom Properties
34 custom properties across objects have no description. Undocumented fields create institutional knowledge dependency — when the admin who created them leaves, their purpose becomes unknown, leading to duplicate creation and reporting errors.
⏱ 3–5 hrs
📋 Governance Impact
Low Hanging Fruit — Sample
847 contacts from bulk import cohort — validate for duplicates
All share Create Date 2024-03-14. Run dedup check against existing records before any outreach campaigns.
Phone numbers — 203 cosmetic format issues
Dashes, parentheses, dot separators. Dialable but inconsistent. +1 (555) 867-5309 vs 555.867.5309. Standardize via workflow.
14 phone numbers — broken (not dialable)
Fewer than 10 digits after stripping non-numeric characters. These contacts are unreachable by phone.
67 companies — no associated contacts
Companies exist in CRM with no Contact relationships. Orphaned company records inflate database count and skew firmographic reporting.
Employee count stored as text in 203 records
Values like "50-100", "~200", "500+" instead of numeric. Cannot be used in segmentation or filtering without cleanup.
Integration — phone format inconsistency
Salesforce sync writing phone numbers in E.164 format (+15558675309) while manual entries use local format. Integration output never validated post-setup.
3 enumeration fields with fewer than 2 options
Functionally useless as dropdowns. hs_deal_source, custom_segment_v2, region_tier — each has only one selectable option.
Contact Sync field creating dual source of truth
contact_email_sync on Deals is being written by the integration and conflicts with the native Contact association email. Two different email values on the same deal.