Dashboard
How to Read Your Customer Report
A plain-language guide to understanding the numbers, colors, and recommendations in your dashboard.
What is this report?
This dashboard pulls your real QuickBooks data — customers, estimates, and invoices from the last 3 months — and answers one question: who should I call first?
Instead of guessing, the system measures each customer's normal behavior, detects when they're falling behind, and ranks everyone by urgency. The result is a prioritized call list with a recommended approach for each customer.
Column Tooltips
Every table header has a tooltip. When you hover over any column name, your cursor changes to a ? and a short description appears explaining what the column means. This works on every table across all pages — Dashboard, Lifecycle, Analytics, Projects, and Customers.
If you're ever unsure what a number or label represents, just hover the column header for an instant explanation.
What do the colors mean?
Colors are on a gradient — not just three buckets. A deeper red means a more critical situation than a light orange.
The colors in between (light green, amber, orange) are intentional — a customer at score 35 is just slightly drifting, while one at 85 is deeply overdue. Use the shade to gauge urgency at a glance.
Priority Score (0–100)
This is the single most important number. It combines three factors:
Risk — Is this customer overdue?
Compares how long they've been silent to how often they normally do business. A customer who usually orders weekly but hasn't in a month scores higher than one who only orders quarterly.
Value — How important is this customer?
Based on total dollar volume (estimates + invoices). An A-tier customer who goes quiet is a bigger problem than a D-tier one.
Opportunity — Is there money on the table?
High when a customer has estimates that haven't turned into invoices, or when the estimate value far exceeds what's been invoiced. These are deals that could still close.
Bottom line:a high priority score means "this customer is inactive, they're valuable, and there's money you could be losing." Start your calls from the top of the list.
Key Columns Explained
Days Silent
How many days since their last estimate or invoice. Think of it as "how long since we heard from them."
Inactivity Ratio
The heart of the system. It divides "days silent" by the customer's expected gap between orders. A ratio of 1.0×means they're right on schedule. 2.0×means they're taking twice as long as usual. 5.0× means something is probably wrong.
Value Tier
A quick classification based on total business volume:
- A — Top: $50,000+ total value
- B — High: $20,000–$50,000
- C — Medium: $5,000–$20,000
- D — Low: Under $5,000
Conversion Status
Where the customer is in the sales pipeline:
- Converting: They have both estimates and invoices — they're buying.
- Estimate Only: You sent quotes but nothing has been invoiced — the deal may be stalled.
- Invoice Only: They're buying without prior estimates — possibly repeat orders.
- Inactive: No estimates or invoices in the period.
Open Opportunity
The dollar gap between estimate amount and invoice amount. This is money on the table — estimates that haven't turned into revenue yet. Higher = more recoverable value.
Conversion %
Invoice amount divided by estimate amount. Shows what percentage of quoted work has actually been invoiced. 100% means everything quoted was sold. 0% means no estimates have converted.
Reports & Tables
Each page contains specific reports designed for different decisions. Here's what each one tells you:
Weekly Call List (Dashboard)
Your #1 action sheet. The top 20 accounts ranked by Priority Score — who to call first, what their risk level is, and exactly which strategy to use. Print this or keep it open during call time.
Red Accounts by Value Tier (Analytics)
A pivot table showing where your risk is concentrated. If most of your red accounts are A-tier (top customers), that's a serious problem. If they're mostly D-tier, it's less urgent. This helps leadership prioritize team focus.
Estimate-Only Aging (Projects)
Customers who received quotes but never became invoices, sorted by how long ago the last estimate was. These are your most recoverable accounts — the older they get, the harder they are to close. Call the recent ones first.
Conversion Leakage (Lifecycle)
Groups customers by Value Tier, Activity Level, and Conversion Status, then shows how much money is leaking. Look for rows with high estimate amounts but low conversion % — those are the segments where your pipeline is stalling.
Dormancy Buckets (Analytics)
Splits customers into age ranges (0–7 days silent, 8–14, 15–30, 31–60, 61+) with breakdowns by Value Tier and Conversion Status. Makes the aging problem visible instantly — you can see exactly how many customers are slipping and where the money sits.
Charts & Visualizations
Customer Risk Map (Scatter Plot)
The most powerful chart in the deck. Each bubble is a customer: X-axis = how long they've been silent, Y-axis = their total value, bubble size = their estimate amount, color = their risk level. Look at the top-right — those are high-value, dormant customers who need immediate attention.
Activity × Risk Heatmap
A grid showing where inactivity is building up. Rows are activity levels (Very Active → Low), columns are risk colors (Green/Yellow/Red). Dark cells with high numbers = dangerous clusters. Watch for red in the "Very Active" row — those are accounts that used to be busy and suddenly went quiet.
Aging Pipeline Bar Chart
Turns inactivity into dollars. Each bar shows how much uninvoiced estimate money sits in each dormancy bucket. Tall bars on the right side = serious money at risk that's been sitting untouched for too long.
Pipeline Funnel (Lifecycle)
Shows how accounts narrow from estimates → invoices → converting → dormant. A big drop between any two steps tells you exactly where your pipeline is leaking.
Pipeline Health by Tier (Stacked Bar)
Stacked bars for each Value Tier (A/B/C/D) showing how many customers are Converting, Estimate Only, Invoice Only, or Inactive. Heavy "Estimate Only" stacks in A-tier = your best customers have stalled deals. That's the first thing to fix.
Risk Distribution (Pie Chart)
Simple overview of how many customers are Green, Yellow, or Red. Use this for a quick health check — if red is growing, your strategy needs to change.
Call Strategies
Each customer gets a recommended approach. Here's what each one means and how to handle it:
Retention / Expansion
High-value customer going quiet. Review their pending jobs. Push reorder, next phase, or additional scope. These are your most important calls.
Stalled Pipeline
Estimates were sent but nothing was invoiced. Ask what blocked approval — was it price, timing, or a competitor? Offer a revised quote or next-step proposal.
Nurture
Big estimate gap. Send a quote reminder, follow up on the project, ask "has anything changed on the job?"
Re-engagement
Customer is overdue for their normal pace. Reach out with a specific offer or project idea — don't just say "checking in."
Check-in
Starting to drift. Light follow-up — ask about pending projects, upcoming needs, or schedule a future touch-point.
Relationship
Healthy, high-value account. Don't push hard. Relationship call, upsell or cross-sell gently, schedule a future check-in.
Monitor
Normal behavior. No urgent action needed. These customers will appear on your radar naturally if they slow down.
New Prospect
No transaction history yet. Introductory outreach or onboarding follow-up.
Navigating the Dashboard
Dashboard
Your daily starting point. Summary cards at the top give you the big picture — total invoiced, at-risk breakdown, conversion rate, and priority actions. Below is the Weekly Call List (top 20 accounts by priority), followed by the full sortable customer table.
Lifecycle
See customers grouped by where they are in the sales cycle — Converting, Estimate Only, Invoice Only, or Inactive. Includes a pipeline funnel showing where accounts get stuck, a stacked bar chart by value tier, and a detailed conversion leakage table showing where estimates aren't converting.
Analytics
Deep analysis with charts and pivot tables. Includes the scatter plot (risk map), heatmap (activity × risk), aging pipeline chart, dormancy buckets, red accounts by value tier pivot, and the full score breakdown table.
Projects
Focused on the estimate pipeline. Pipeline cards, the estimate-only aging table (sorted by staleness), stalled pipeline details, and a full pipeline table with conversion progress bars and gap analysis.
Customers
The complete customer table with every column available. Use the "Columns" button to show or hide fields. Good for drilling into a specific customer or exporting a filtered view.
Quick Tips
- Start every day from the Dashboard. Scan the top cards, then work down the Weekly Call List.
- Hover over any column header (look for the ? cursor) to see a short description of what it means.
- Hover over a strategy badge to see the specific recommended approach for that customer.
- Use the search bar to quickly find a specific customer by name.
- Click any sortable column header to sort the table by that field.
- Use the Columns dropdown (on Dashboard and Customers) to show or hide columns — the tables start with the most useful ones visible.
- Check the scatter plot on Analytics — the top-right quadrant shows high-value dormant accounts. Those are your highest-impact calls.
- Red doesn't always mean "bad customer." It means they're behaving differently from their normal pattern. That's the signal to reach out.
- Priority score combines risk + value + opportunity. A red customer with low value will rank lower than a yellow customer with high value. The system already factors that in.
- The Estimate-Only Aging table on Projects is one of the highest-value reports — those are often recoverable deals. Call the recent ones first.
How the Data Refreshes
This report is generated from your QuickBooks data stored in Redis. To update it with the latest data, run python3 generate_dashboard_data.py from the project root. The dashboard will pick up the new data on the next page load.