Performance analytics2026

One place to look

The database was solid and so was the infrastructure. On top sat canned reports, a live tool, and a spreadsheet I maintained by hand, so directors and supervisors spent their day assembling numbers instead of acting on them. This is the platform that replaced the assembling, and it became the reference implementation for the next one.

ReactVitePHPMSSQL

The performance surface, reconstructed with synthetic data. Campaign attainment, goal composition, supervisor and agent ranking, and the live-day view — the same figures readable at whichever altitude you happen to be working at.

See it working →
Homes5,840goal 6,025 · 96.9%
Hours13,827plan 14,175 · 97.5%
SPH0.422plan 0.425 · 99.4%
Mobile1,101goal 964 · 114.2%
Unit7,170goal 7,231 · 99.2%
Executive Summary

Business-wide: 5,840 of 6,005 homes sold (97%). 3 business days remaining, month is 86.4% elapsed. Operations are ahead of pace.

Strongest program: Premium Bundle at 103% to goal. Needs attention: Shared Plan at 62% to goal.

Site A: 4,430 sales, 0.426 GPH across 10,403 hours. Site B: 1,410 sales, 0.412 GPH across 3,424 hours.

Projected EOM: 6,762 homes (113% to plan).

Daily rates — Homes: 307/day (need 273/day — on pace). Internet: 182/day (need 169/day — on pace). Mobile: 58/day (need 44/day — on pace). Units: 377/day (need 328/day — on pace).

Every figure above divides by the plan of record — the goals as written on day one. The KPI strip and the gainshare panel divide by the goal those plans became once a funder burned past its planned hours. So homes reads 6,005 here and 6,025 there, and one program leads this list on its plan while placing third on its goal. Both readings are correct and neither is meant to reconcile with the other: one is what was promised, the other is what is being measured.

Goals vs Plan — Business Wide

Pacing — Business Wide

Fiscal 2026-04-22 → 2026-05-21 · data through 2026-05-18

19Days In
3Days Left
22Total BDays
Month elapsed86.4% of fiscal month
Total Hours13,827of 14,175 plan
98%to date
348remaining
116.0per day
PROJ. EOM16,010
113% of plan▲ +1,835
Total Homes5,840of 6,005 plan
97%to date
165remaining
55.0per day
PROJ. EOM6,762
113% of plan▲ +757
Total Units7,170of 7,207 plan
99%to date
37remaining
12.3per day
PROJ. EOM8,302
115% of plan▲ +1,095
Internet3,459of 3,724 plan
93%to date
265remaining
88.3per day
PROJ. EOM4,005
108% of plan▲ +281
Mobile Lines1,101of 961 plan
115%to date
+140 over plan
PROJ. EOM1,275
133% of plan▲ +314

Plan on these cards is the plan of record — the number written on day one. The KPI strip above divides by the goal, which is what the funder gate turned that plan into once a funder burned past its planned hours. Homes therefore reads against 6,005 here and 6,025 there, on the same actual. That gap is the point, not a rounding error.

Gainshare — Business WideOverall Table

Net Bonus-0.75%
Proj. Bonus+0.85%▲ 1.60% gain at pace
Mobile Attainment
114%proj. 118%

37 lines to next tier (+2.60%)

> 125%1,215+3.50%
118–125%1,138+2.60%
111–117%+1.75%
104–110%+0.90%
96–103%0.00%
89–95%-0.90%
82–88%-1.75%
75–81%-2.60%
< 75%-3.50%
Internet Attainment
93%proj. 95%

128 internet to next tier (0.00%)

> 125%4,708+3.50%
118–125%4,409+2.60%
111–117%4,147+1.75%
104–110%3,886+0.90%
96–103%3,5870.00%
89–95%-0.90%
82–88%-1.75%
75–81%-2.60%
< 75%-3.50%
Cost Per Attainment
99%proj. 102%

351 units to next tier (+0.20%)

> 125%9,112+0.90%
118–125%8,533+0.70%
111–117%8,027+0.45%
104–110%7,521+0.20%
96–103%0.00%
89–95%-0.20%
82–88%-0.45%
75–81%-0.70%
< 75%-0.90%
SPH Attainment
99%proj. 99%

273 sales to next tier (+0.20%)

> 125%7,406+0.90%
118–125%6,935+0.70%
111–117%6,524+0.45%
104–110%6,113+0.20%
96–103%0.00%
89–95%-0.20%
82–88%-0.45%
75–81%-0.70%
< 75%-0.90%
Hour Gate
98%proj. 113%

348 hrs to clear gate

≥ 100.0%14,1750%PROJ.
< 99.9%-1.60%

Band boundaries and bonus values are perturbed — the ladder's shape is the real one, its numbers are not. The overall table's hour gate is a flat penalty below 100%, so it reads as two rows rather than the site table's four bands. Purple marks a projection, never a current state. Projecting re-runs the funder gate at projected hours: all three funders cross, so every goal grows with them and all four metrics land back in the band they already occupy — no projected row is drawn on any of them. The gate itself is the exception, and its recovery is the whole projected swing.

Daily Targets — Combined

Required per day to finish on goal · 3 business days remaining

TARGET
ProgramHoursHomesInternetMobile
PlanActual/ DayRemPlanActual/ DayGPHPlanActual/ DayPlanActual/ Day
New Household · RetailAC-1140, AC-1142 · New Business5,9505,808481422,5752,477330.691,5961,512284124024
New Household · DirectAC-1141 · New Business1,6001,602+2608611+3377384+797941
Mobile PropensityMX-1215, MX-1217 · Installed Base4,2754,394+1192,0732,133+601,2861,08866332461+129
Shared PlanMX-1216 · Installed Base1,100706132394374231480.3623223116078+18
Premium BundleUT-1194 · Revenue Uplift1,2501,317+67395388324524416366+3
TOTAL14,17513,8271803486,0255,840840.533,7363,459969641,101+137

A / Day reading of +N means the metric is already past plan — red on Hours, where overage is cost, green everywhere else. TOTAL / Day adds up the figures in the column above it, counting a program that is already past plan as zero rather than as credit against the ones still owing: finishing early on one campaign does not reduce what another campaign owes tomorrow. TOTAL Rem is the one column that does net, because it reports a single combined balance.

Program attainment — ranked on the gate-corrected goal

#ProgramHours PlanHours ActualHomes GoalHomes Actual% to Goal
1Mobile Propensity4,2754,3942,0732,133102.9%
2New Household · Direct1,6001,602608611100.5%
3Premium Bundle1,2501,31739538898.2%
4New Household · Retail5,9505,8082,5752,47796.2%
5Shared Plan1,10070637423161.8%
TOTAL14,17513,8276,0255,84096.9%

Premium Bundle leads the Executive Summary's ranking at 103% and places third here at 98.2%. Nothing about the campaign changed between the two lists. It is the only program whose funding source burned past its planned hours, so it is the only one measured against a goal that grew — 375 homes promised, 395 homes measured, the same 388 delivered. The other four are ranked against goals identical to their plans, which is why their two positions agree.

Reconstruction · synthetic data

Reconstructed with synthetic data — no real agent, customer, client, or caller information appears anywhere on this site.


Three things sat between the database and the people who had to act on it. Canned reports that answered yesterday’s question. A live tool that showed the moment but not the month. And a spreadsheet I maintained by hand to track what neither of them covered.

None of the three was wrong. They just never agreed on sight, and the data underneath them had never been the problem.

That’s the actual condition of most operations reporting. The data isn’t missing. It has no reliable linkage between the places it lives.

What that costs, and who pays it

Directors, managers and supervisors spend an enormous share of their week finding and compiling information that should already be in front of them. It’s invisible on every org chart: more time in front of a computer is less time impacting their team.

Trust is the other casualty. When reporting runs through people, it inherits their fallibility. Present a number in a meeting and have someone question it, and the next hour or two is spent tracking back through three sources to explain why it read the way it did. An ad hoc request for something unusual gets computed by whoever received it, in whatever way seemed reasonable that morning. Both of those are ordinary and neither involves anyone doing anything wrong. But one mistake costs faith in the number and in the person who carried it, and that doesn’t come back easily.

There was no durable, consistent linkage between the systems that held the truth and the people who had to act on it. Everything downstream of that was trial and error.

The same figures at every altitude

The platform is one surface, and its organizing idea is that different levels of an operation need different numbers computed off the same base.

A director looks across supervisors and sees who is carrying their team and who isn’t. A program is measured against its peers. Month-over-month shows whether an agent is slipping on a trend rather than on one bad day. Daily targets and live-day numbers cover the shift happening now, and the gainshare position sits in the same place rather than in a separate reconciliation nobody trusts.

None of those are separate products. They’re the same figures read at four heights, and they can be read that way because they’re decompositions of one another rather than four parallel calculations.

Goals are bought with hours

The arithmetic underneath is less obvious than it looks, and this is where reporting tools quietly go wrong.

A campaign’s goal doesn’t arrive as a count. It’s assembled from the hours a program is funded for and the sales per hour it’s expected to run at. Multiply them and you get the goal, and every product count derived from it.

Which makes a goal a statement about a budget, not a promise about an outcome. And budgets move. A campaign staffs up because coverage was requested. A shift that was going to be cut gets held. By the third week it has burned more hours than the plan bought. If the goal stays fixed while hours grow, the operation gets credit it didn’t earn: more hours make more sales, the denominator never moves, and attainment climbs for reasons that have nothing to do with performance.

So goals scale with hours. But not unconditionally, and not campaign by campaign: on this program, scaling is gated at the funding source, and the goals under a source hold until that source’s total hours pass its total plan. That specific rule almost certainly doesn’t apply to anyone else’s operation — it reflects how one client allocated budget across programs, where some sources could pool and others couldn’t.

Anyone else’s operation still inherits the shape of it. The denominator moves during the month, the movement is legitimate, and two people can compute the same campaign correctly and still disagree, because one of them evaluated the rule over a different set of rows.

Two true numbers, stated rather than reconciled

The executive summary divides by the plan of record. The KPI strip beside it divides by what that plan became once hours ran past it. They disagree, visibly, and one program can lead one ranking and place third in the other.

The instinct is to pick one and make the page consistent. That instinct produces a worse report. The plan of record is what was promised, and what the commercial conversation is about. The corrected goal is what the floor is measured on this morning. Collapse them and you’ve destroyed one of two answers people need.

So the page states it. A footnote names both figures, says which denominator each used, and says plainly that they aren’t meant to tie out. A dashboard is allowed to carry two true numbers, as long as it doesn’t carry them silently.

The same discipline applies to totals. Every TOTAL is the sum of the rows displayed above it, recomputed on every filter change, never re-derived from a combined base. Deriving it is faster and produces totals one or two off from the rows printed above them. Nobody has ever accepted rounding as an explanation for that, and a total that doesn’t equal its own rows costs you the credibility of the entire page.

Then the second client asked for it

This started as one dashboard for one program. It’s now the reference implementation.

A second client program runs on a full sibling built from it: its own database, its own API, its own app and admin surface, sharing the visual language and the structure but not the data. Its compute engine is deliberately frozen. New derivations happen in the UI off rows the engine already produced, so the thing that calculates doesn’t get edited casually. There’s a written porting playbook for the next partner program after that.

None of that was planned. It’s what happens when the second client asks for the same thing and the honest answer is that the first one already solved it.

What it’s actually for

Less time looking for and reconciling information, and more time using the information. That’s the whole return, and an hour a supervisor doesn’t spend rebuilding a number is an hour back on the floor.

On specifics. This work was built for a private employer under a client contract. Client names, personnel, internal hostnames, customer and caller numbers, and commercial figures are withheld or generalized throughout, and every interface on this site is a reconstruction filled with synthetic data. The reasoning is mine to discuss, in as much detail as you want. The data is the client's, and none of it appears on this site.


Want the unabridged version?

Ask me why sale credit comes from the disposition, or what happens when the live feed is empty at 9:15 in the morning.