Analytics · Data-quality dashboard
A dedicated panel measuring how complete new registrations are: the share of new registrants with and without an email, phone, name, age, postal code and ID, plus notification opt-in rates and the registration history by channel.
| Area | Analytics |
| Routes | index · analytics.dashboards.show |
| Centre modules | analytics · crm |
| Staff levels | as per the dashboard’s role scope |
| Models | stats · user |
| UI label | dashboard.data-quality |
| Coverage | 4 use cases · 1 happy · 2 failure |
How it works
Deliberately symmetric — for each attribute it reports both the ‘with’ and the ‘without’ figure (e.g. new-registers-with-phone and from-new-registers-without-phone), which makes a gap impossible to overlook. It also combines attribute and consent (new-registers-with-email-and-notifications, new-registers-with-app-and-notifications, new-registers-with-phone-and-notifications), i.e. it measures contactable registrations rather than merely complete ones. changeFilters re-scopes the whole panel and the filter set comes from enums/dashboard-filters.
Use cases
Why someone opens this (4)
- Setting and tracking a data-quality target for front-desk staff.
- Proving to marketing how many of the new registrations are actually contactable.
- Comparing registration quality across channels to find the weak one.
- Deciding whether to make a field mandatory via
center.userRequired.
Path map
flowchart LR F(["Data-quality dashboard"]):::feat F --> H1["Monthly quality review"]:::ok F -.-> X1["Stats request fails"]:::bad F -.-> X2["No new registrations in the period"]:::bad classDef feat fill:#8a6b10,stroke:#8a6b10,color:#ffffff,font-weight:bold classDef ok fill:#e3f1ea,stroke:#0d6b42,color:#0d4a2e classDef bad fill:#f7e6e2,stroke:#9a2d1c,color:#6e1f13
Happy paths
Monthly quality review
- User opens the data-quality dashboard and sets the period.
- Each attribute shows its with/without pair and the contactable combinations.
- The registration history by channel identifies where quality drops.
- The user tightens
center.userRequiredfor the offending field.
Failure paths
Stats request fails
Cause — Backend error.
What happens — No error surface; figures render as zero.
No new registrations in the period
Cause — Empty dataset.
What happens — All percentages collapse to zero, indistinguishable from 100% incomplete data.
QA checklist
Tick these off while regression-testing this feature. The boxes are plain Markdown, so progress is visible in git diffs.
- ✅ Monthly quality review
- ⛔ Stats request fails
- ⛔ No new registrations in the period
Implementation
app/components/dashboard/data-quality.jsapp/enums/dashboard-filters.jsapp/enums/dashboard-ranges.js
Translation keys (19)
Key English dashboard.data-qualityData quality dashboard.data-quality.history-of-registred-usersHistory of registred users dashboard.data-quality.new-registers-by-channelRegistrations by channel dashboard.data-quality.new-registers-with-emailRegistrations with email dashboard.data-quality.from-new-registers-with-emailregisters with email and without notifications dashboard.data-quality.new-registers-with-phoneRegistrations with phone dashboard.data-quality.from-new-registers-without-phoneregisters without phone dashboard.data-quality.new-registers-with-nameRegistrations with name dashboard.data-quality.from-new-registers-without-nameregisters without name dashboard.data-quality.new-registers-with-ageRegistrations with age dashboard.data-quality.from-new-registers-without-ageregisters without age dashboard.data-quality.new-registers-with-postal-codeRegistrations with zip code dashboard.data-quality.from-new-registers-without-postal-coderegisters without postal code dashboard.data-quality.new-registers-with-idRegistrations with ID dashboard.data-quality.from-new-registers-without-idregisters without ID dashboard.data-quality.new-registers-with-email-and-notificationsRegistrations with email and notifications dashboard.data-quality.new-registers-with-app-and-notificationsRegistrations with app and notifications dashboard.data-quality.new-registers-with-phone-and-notificationsRegistrations with phone and notifications dashboard.data-quality.from-new-registers-without-app-notificationsregisters without app notifications
Related
- Same area — Dashboard viewer · CRM dashboard panels (overview, channels, demographic)
- Shares data with — Customer list & filtering · Customer create & edit · Customer deletion with unsubscribe notice · Customer CSV export with column picker · Customer CSV import · AI natural-language customer filter · Segment builder with automatic tag actions · Customer children (dependants)
- Behind the same module — CRM dashboard panels (overview, channels, demographic) · Dashboard viewer · Dashboard configuration
Generated from doc/feature-inventory.json · id analytics-data-quality · commit 276788ca6