Client Analytics Platform
Replacing fragmented spreadsheet reporting with one client-facing analytics product.
What was wrong
The Pipeline Group is an outsourced sales development company. Our clients need to know whether the XDRs working their accounts are actually performing.
Most of that reporting ran through Salesforce-connected Google Sheets. So:
- Data could fall out of sync.
- Different reports calculated the same metric differently.
- Some definitions were never standardized at all.
- With SOC 2 work underway, confidential client reporting sitting in Sheets was not a good long-term answer.
We needed something we could trust enough to hand directly to a client.
Why it was hard
This was not a "build a better dashboard" problem. Before we could design anything, we had to agree on what the numbers meant.
Take something as basic as a meeting. If an XDR books a meeting on August 28 and it happens on September 4, what counts toward August? The booking? The completed meeting? Both? What counts toward quota?
Those answers decide how someone's performance is judged and what a client believes they're paying for. So we worked through definitions for dials, conversations, dial-to-conversation rate, meetings scheduled, meetings completed, reschedules, opportunities created, pipeline generated, and quota attainment.
What I did
- Reconciled the existing client reporting against the underlying Salesforce data, which is how the inconsistencies surfaced.
- Drove the metric definitions to a decision with the people who own the outcomes.
- Mapped the different users and built prototypes per view, then took them to stakeholders and iterated.
- Used Claude Code against our repositories to understand where data came from before asking engineering for anything.
- Ran requirements, UAT, and launch with engineering.
In production. Clients log in and see their own performance instead of waiting for a manager to explain a spreadsheet. Managers and executives use the same platform at their own level.
What I learned
A data product is only as good as the definitions underneath it. A beautiful dashboard showing the wrong number is worse than an ugly spreadsheet showing the right one.