Share:

Studio 1 — every figure, and the basis it sits on

154 measured figures across the whole business: the money, the leads and what they cost, the diary, the finance book, the declines, the debt team and the payroll — each one with the period it was measured over, the feed and denominator behind it, and the caveat that stops it being quoted wrongly. Written 16 September 2026.

Nothing here is computed at build time. Every number is quoted from a dated measurement and the date travels with it, so re-measuring produces a NEW figure rather than silently editing this page. The companion page — https://reports.iconicbyai.com/Studio1_Reports_Handoff.html — hands over the report estate that produced them.

Revenue booked
~$3.5M/mo
CONTRACTED, not banked. Jun 2026 $3.48M billed.
Of that, banked
~63%
Over the whole term. ~$2.2M/mo, $305k profit.
Ad spend
~20% of rev
~$750k/mo, and it has stayed there.
Leads a month
53k–63k
Flat all year; the MIX rotated completely.
Finance book
$126.9M
Written all-time. $53.7M in, $51.9M still out.
Being chased
$16.79M
10,038 accounts. 968 answered in 30 days.

Read these before quoting anything on this page. Almost every wrong number this business has produced was a definition problem, not an arithmetic one — the sums were right and the basis was not.

1

State the BASIS before the number, every time

Almost every headline on this page has two or more legitimate bases that land far apart, and the gap is bigger than any trend anyone is arguing about. Revenue is billed ($3.48M in Jun 2026) or attributed ($3.04M — ~11% under, and ~7% under even on fully settled months, because walk-ins and re-books have no lead to attribute to). The collection rate is 64.0%, 48.8%, 42.2%, 39.8% or 58.6% depending which of five denominators you pick — Neil's own "about 63%" is collected / (finance written − written off) on settled cohorts. A show rate is appointment-basis (~57%, stable) or lead-cohort (matures over ~8 weeks and reads low until then). Changing the source changes the basis, and a basis change dressed up as a trend is the single most common wrong answer this estate has produced.

2

A month is a COHORT or a CASH PERIOD — never both

On /finance-cohort an agreement belongs to the month it was written, and every dollar ever collected against it counts back to that month. "Jul 2024 = 51%" means 51% of July's finance has since arrived — not 51% of July's cash. Neil's own manual debt sheet is the other convention: cash banked during that calendar year from every cohort. Compared like-for-like the two tie within 0.1–2.7%; compared across conventions they flip direction entirely (+23% one way, −21.6% the other), which is exactly how the mismatch was found.

3

Quote the period, never the average across it

The 24-month lead cost is $8.19 and it describes no month we have ever traded — inside it, Mar 2025 was $4.81 and Apr 2026 was $12.55. Same shape everywhere: the 12-month no-show blend is 34.22% while the last three complete months are 29.73%; the blended debt reply rate is 21.1% while a first-month conversation still answers at 54.6%. If a number covers more than a quarter, say the period out loud or give the current one instead.

4

Ask who performed the action before calling anything a lever

Nothing retries a failed payment in this business. Not Square, not the CRM, not GHL. Every second attempt is a person — a collector taking a card over the phone, or the customer paying a reminder link. So every conversion rate measured on a second attempt is SELECTED: a collector only puts a card through once the customer has agreed to pay. The day-2–3 cell reading 90.3% measures "a conversation went well", not "day 2 is a good day to charge a card". Only the things that did NOT happen are unselected — "77% of failed openings are never chased, $1.41M never asked for again" is a count of absences, and numbers of that shape are the safe ones to lead with. The words re-presented, retry and retried are banned about our own book.

5

Split before you blend — most "declines" here are mix effects

Four separate alarms on this page dissolved the moment the population was split. The debt reply rate "halved" (48.5% → 21.1%): first-month conversations never moved, the re-chased pile grew twelvefold. The collection rate "collapsed" (55.9% → 39.8%): live payers held at ~68%, the dead-but-still-billed pile doubled. The Blue Rooms booking rate "collapsed" (9.3% → 5.9%): KIDSX was flat at ~8 per 100 and KX arrived at 2.12. Ad spend "nearly doubled": the baseline was Alan alone. Nobody performed worse in any of the four. Before reporting a decline, split it by cohort, by segment and by source, and check the baseline is the whole thing.

6

A part-month needs two guards, and maturity ruins the rest

Compare a part-month against the same days of the prior month AND against its own day-of-week mix — Sep 2026 reads −23.9% raw and −20.7% calendar-adjusted. Then remember that anything downstream of a lead has not happened yet: raw "ever booked" for Sep read 2.94% against Aug's 4.88%, and maturity-matched at 3 days it was 225 bookings against 246 — inside the normal range. Lead cohorts take ~8 weeks to settle and revenue longer still. Never compare a fresh cohort to a matured one.

7

Decompose multiplicatively, then say where it LANDED

The Sep 2026 gap was answered by chairs × fill × settled × show × sales-per-arrival × price, with the shares summing to 100%: chairs on offer −17.0% carried 68.1% of it and fill did not move at all. But the mechanism is not the casualty — the cut fell on mornings, mornings run 55% kids, and so adults held completely flat while kids fell 42%. Give both halves or the answer is only half useful.

8

Check the file is not append-only, and that nothing is page-capped

Two mechanical faults have each produced a doubled or truncated answer. square_attempts.jsonl and note_issues/raw.jsonl are append-only — dedupe on the payment id / booking ref first, or Aug 2026 doubles and a payday scan inflates ~8×. And a suspiciously round Square total means a page cap: five of six cities returned exactly 20,000 invoices, hiding 73% of the book, and /lead-performance still prints a hardcoded 5,000 as if it were a count (the real figure is 8,625).

The monthly shape

FigureValuePeriodBasis & sourceRead it this way
Revenue booked — BILLED $3,479,174 Jun 2026 CRM daily sales, Package Price, everything signed in the month. /spend-vs-cash. This is the business's real month and the figure Neil knows. 6 months Jan–Jun 2026 = $19,960,099.
Revenue — ATTRIBUTED $3,039,447 Jun 2026 CRM ROI feed, lead cohort — only sales traceable to a coded lead that ARRIVED that month. Runs ~7% under billed even on fully settled months and further under on recent ones. −12.6% here. Answers "did the ads pay back"; billed answers "what share of revenue went on ads".
Total cost, including ads ~$1.9M/mo as at 21 Aug 2026 Neil's own figure. The $750k of ad spend is INSIDE it, not on top. Against ~$2.205M banked that is $305k profit a month — 13.8% of money that arrives, 8.7% of what is written.
Share of contracted revenue actually banked ~63% over the full term /finance-cohort "of sale" tab, blended back with paid-in-full sales. Finance-only cohorts bank ~60% and it is deteriorating — 2025 H1 was 4 points behind 2024 H1 at month 12. Never size anything off contracted revenue.
Cash at signing, as a share of sale value 36.6% Jan–Jun 2026 $6,509,685 of $17,785,610 attributed. The other $11.28M went on finance. This is why up-front cash ÷ ad spend is the honest ad metric — revenue is a promise, ad spend is cash out today.
Ad spend as a % of revenue 17.9% Jan–Jun 2026, billed basis Monthly: 17.5 · 19.1 · 19.1 · 23.2 · 14.8 · 14.4%. Neil: "it has always stayed steady around 20%" — and it has. On the attributed basis the same six months read 20.0%.
Cash on the day, as a % of ad spend 204.2% Jan–Jun 2026, billed basis Monthly: 214.5 · 187.4 · 174.3 · 150.7 · 260.4 · 269.1%. Every month is above 100% — the ads covered their own cost in same-day deposits in all six. Attributed basis: 182.6%.
The whole funnel 344,025 → 18,324 → 9,150 Jan–Jun 2026 $3,565,106 of ads → leads → booked (5.3%) → showed (49.9%) → $17,785,610 sold. $10.36 a lead, $195 a booking. Only half of bookings show, and show rate is climbing — 45.6% in Jan to ~52% by May/Jun.
August 2026, the settled month $3,435,413 Aug 2026 Sales feed total. The day-by-day diary join gives $3,437,963 — 0.07% apart, 5 unmatched of 1,848. Use the diary join ONLY for the day-level distribution; every total comes off the sales feed, which carries no date column of its own.
July 2026 $3,630,380 Jul 2026 1,931 sales, CRM daily sales. A month pull does not truncate (verified: 4 chunks). Recycled codes wrote $507,848 of it — 14.0%.

September 2026 — the live problem

FigureValuePeriodBasis & sourceRead it this way
Revenue, days 1–11 vs August days 1–11 −23.9% 1–11 Sep 2026 $962,591 against $1,264,868. /month-gap, built 12 Sep 2026. Calendar-adjusted against its own day-of-week mix it is −20.7%, where May–Aug ran −2.4% to −9.8%. A real break, not an unlucky calendar.
Chairs put on offer −17.0% same window 1,308 → 1,086 seats. lib/diary.js, seats on offer = A+N+I+L, never the raw 24h grid. 68.1% of the entire gap = −$205,874. The grid is the same 3,036 seats every month; closed seats went 1,728 → 1,950 and studio-days 83 → 77. WHY those studios closed is not in the data — it is an ops question.
Fill rate 76.1% both months same window Booked ÷ seats on offer. Dead flat — every chair we opened sold at the usual rate, and the phone room made MORE bookings (739 vs 654, +13%) on the same headcount.
Where the loss landed — kids −42% same window Settled appointments: kids 385 → 225. Adults 539 → 546, flat. Kids × price is ~85% of the whole revenue gap. Because we cut the MORNING — 8am −33%, 9am −18%, 10am −21%, 11am −22% against afternoon −10% to −3%, and mornings run 55% kids against ~25% in the afternoon.
September projection $2.63M – $3.14M Sep 2026 $3.14M at the May–Aug day-of-week baseline; $2.63M at the current pace. The $3.5M target needed $133.5k/day for the remaining days against a $114.5k/day baseline. Gone.
"It is not demand" — WALKED BACK cannot be said 12 Sep 2026 Flat fill is also consistent with demand falling in step. If chairs had been cut with demand still there, fill would have risen. It did not move. So chairs and demand came down together and this data cannot say which moved first — only that there is no pile of unmet demand pressing on the reduced diary.

Volume

FigureValuePeriodBasis & sourceRead it this way
Leads in, per month 52.8k – 63.2k Dec 2025 – Jul 2026 /lead-groups, per marketing-code group. Total volume barely moves; the MIX was swapped wholesale. Jul vs the Dec–May average: Boost −99% (7,937→110), 3DE −99%, 4AB −99%, IG −68%, FB −62%, 3CX −61% against KX +7,118, KIDSX +5,958, 1FX +4,020, GX +3,930, PX +3,133 new. The Blue Rooms X-family was 53% of July.
Leads, 14 days to 8 Sep 2026 19,409 14 days to 8 Sep 2026 14,861 fresh, 4,381 kids, 1,040 bookings. /leads-vs-bookings, leads on Date Lead In. Six months earlier: 26,298 / 17,109 / 768 kids / 1,124. A year earlier: 24,619 / 13,969 / 176 / 961. Leads −26.2% on six months ago.
Bookings per WORKING day 113.2 14 days to 8 Sep 2026 Sunday is zero, Saturday a trickle, a public holiday zero — 9 booking days against 10 in the Feb–Mar window. Bookings are not down — booking DAYS are. −7.5% raw on six months ago but +2.5% per working day, and +8.2% on a year ago. The booking RATE (5.36%) is the best of the three windows.
Lowest week of the last twelve 9,294 leads 31 Aug – 6 Sep 2026 7,178 fresh. 12-week range 9,294–16,995; fresh fell five weeks running from 11,985. Kids 2,232 — down 28% on the mid-Aug peak of 3,115, but UP on the 1,987 the week before. "Even fewer kids" is true against the peak, not against last week.
Distributed per week ~9,700 measured 28–29 Jun 2026 ~2,080/day on weekdays, ~1,450 on Friday. Sat/Sun zero. Friday = 25 leads × ~58 bookers — Neil's "25 per person" rule. Weekdays run 34 per booker across ~61. The available pool swings 3,216 (Thu) → 5,738 (Sun) because intake continues while distribution stops.
Left to distribute 3,215 fresh / 5,037 recycled 28 Aug 2026 Per-LEAD classification. N1N alone is 3,609 = 43.7% of the pool. The page said 7,259 fresh until 28 Aug because it classified by distribution POOL NAME — N1N, CMN, 4AB and …R leads sit inside fresh-named pools. Fixed; the pool-name path survives as a labelled fallback.
Recycled share of all leads 27.9% 2026 to 2 Sep /recycled-history, CRM ROI feed back to Apr 2023. By year: 2023 8.1% (4AB only) · 2024 14.6% · 2025 38.0% · 2026 27.9%. Peak Jul 2025 at 27,511 leads = 44.5% of everything. Aug 2026 17,460 (29.5%, 563/day).
A recycled lead row is not a person 1.19 rows each 38 days to 2 Sep 2026 20,766 rows = 17,384 distinct phones. The send-sizing number. ~16% of a send off the raw count lands on someone already in that month's list under another code. Aug 2026's 17,460 rows are ~14,600 people. Within-month only, and not netted against the suppression list.

What a lead costs

FigureValuePeriodBasis & sourceRead it this way
Cost per lead, 24 months $8.19 Sep 2024 – Aug 2026 $9,928,809 ÷ 1,211,905 leads, over the 22 of 24 months with complete cost. /cpl-history. It describes no month we trade. Cheapest Mar 2025 $4.81, dearest Apr 2026 $12.55. Always quote the period. Every figure is Σspend ÷ Σleads, never an average of monthly averages.
Cost per FRESH lead $12.09 Sep 2024 – Aug 2026 New names only. Recycled leads cost no new ad money and have run 23–45% of intake. The two denominators sit ~50% apart — say which one you mean. The affordability model uses the fresh basis ($15.01 for Jan–Jun 2026).
CPL by period $10.53 → $6.42 → $10.63 Sep–Dec 24 / 2025 / Jan–Jun 26 Per fresh lead across the same three: $12.23 → $10.39 → $15.01. The middle period is the outlier, not the trend. 2026 is back at 2024 prices on the blended basis and well above it on the fresh one.
Ad spend per month $682k → ~$780k Mar → Jul 2026 +14%, not +94%. Mar 2026 = Alan $360k + Boost $205k + Lead Pronto $117k + Blue Rooms $0. The +94% claim came from an Alan-ONLY baseline that omitted Boost ($651k Jan–Jun) and Lead Pronto ($570k) because neither had a live feed loaded. Read /spend-vs-cash's per-supplier table before building any spend total.
Monthly spend by supplier see basis Jan–Jun 2026 Alan $372/366/360/417/233/126k · Blue Rooms —/—/—/$36.3/148/262k · Boost $101/142/205/116/55.7/32.4k · Lead Pronto $40.4/101/117/131/100/80.2k. April's $0 for Blue Rooms is CORRECT, not a gap — 6,512 April BR leads, every one a kids code, zero adult. The supplier mix changed completely while the total barely moved.
Real per-code spend in the CRM $5.31M / $4.49M / $537k 2024 / 2025 / Jan 2026 crm.pullROIData column 1, per marketing code. Cached to crm_monthly_spend.json. Populated Jan 2024 → Jan 2026, then $0 for every code from Feb 2026 on — nobody has entered it since. Do NOT re-assert "the CRM spend column is empty" without checking per month. Dates are MM/DD/YYYY; DD/MM silently reinterprets.
Blue Rooms CPL, last complete week $19.93 blended Fri 7 – Thu 13 Aug 2026 KIDS 3,089 leads / $61,935 = $20.05. ADULT 2,721 / $53,875 = $19.80. Nashville kids $48.44 and Boston kids $35.11 are the outliers; New York kids $5.27 is the cheapest by a mile. BR spend is weekly Fri–Thu — bucketing weeks into calendar months moves CPL for calendar reasons alone.
Blue Rooms cost per BOOKING $93 → $352 Apr → Jul 2026 CPL $8.63 → $20.67 AND booking rate 9.27% → 5.87%. CPB = CPL ÷ booking rate, so it rose 278% while CPL rose 140%. The sharpest signal is Jun→Jul: spend +51%, leads +19%, bookings −6%. But the booking-rate half is a MIX effect — KIDSX never fell (see the quality tab). Do not build this series off the static snapshot, which understates pre-July by 26–32%.
Cash back per $1 of ads, by supplier BR $3.75 · Alan $1.37 Jan–Jun 2026 Lead Pronto $1.20 · Boost $0.81. Up-front cash ÷ ad spend. Blue Rooms is best on all three inputs (CPL $9.30, books 7.7%, shows 56.9%); Boost is worst on all three and does not return its own cost in immediate cash (CPL $16.06, books 4.6%, shows 46.9%). Recycled and organic ratios are suppressed — they are not bought.

What a lead is WORTH

FigureValuePeriodBasis & sourceRead it this way
Contribution per lead $24.84 Mar–Jul 2026 settled Banked revenue × contribution margin ÷ leads bought. The P&L is the anchor, not the first cycle. Against $17.66 actually paid — the ad line runs at 71% of what a lead is worth, $7.18 of headroom. Neil: "it's still the same leads though" — recycled is not a second free stream, so never model a lead on its first cycle.
What a lead returns on the FIRST cycle alone $16.72 same window Contracted $55.46/lead → banked on the day $20.44 (36.9%) → balance $35.02 collecting at 43–49%. Less than it cost. The follow-up operation is not a bonus on top of the lead economics — it is what makes them work at all.
Max CPL by distance $29.08 → $16.93 Mar–Aug 2026 ≤25mi $29.08 · 25–50 $25.35 · 50–100 $22.45 · 100–200 $20.74 · 200mi+ $16.93. At the $17.66 blended price, the 200mi+ band is underwater. But the distance penalty is a NORTHEAST phenomenon: Boston $30.99 → $10.64 and NY $26.06 → $11.14, while Florida RISES ($32.28 → $33.96) and Houston is flat. A single national bid ladder is wrong.
Max CPL by age $33.10 → $10.28 Mar–Aug 2026 Under 18 $33.10 · 18–24 $32.37 · 25–34 $23.73 · 35–44 $17.74 (break-even) · 45–54 $14.82 · 55+ $10.28. One price is being paid for leads whose ceiling runs $10 to $33. The money is in the mix, not in negotiating the blended CPL down.
Cash per lead by age U18 $27.33 · 55+ $8.71 Mar–Aug 2026 booking % × show rate × close % × cash up front per sale. /distance-age. An under-18 lead is worth 3.1× a 55+ lead. Under-18 parents put $1,143 down on the day against $776 for 18–24 — which is why kids win on cash even though 18–24 books best.
Price paid vs ceiling — the spread 3.6× on near-identical ceilings 21 Aug 2026 Florida kids cost $10.00 against a $33.66 ceiling; NY kids $9.51 against $26.89. Boston kids clear by 26 cents ($34.17 paid vs $34.43); Dallas adults by $1.28. Nothing is loss-making, and there is no correlation between what a band costs and what it is worth. The money is in moving volume, not in negotiating Boston down.
The missing input not held anywhere still open The cost of DELIVERING a shoot — studio, photographer, viewer commission, retouching, product. Step 2 of the four-step model, and we do not hold it. Also unknown: what share of the $1.15M non-ad cost is VARIABLE. At 50% variable, contribution per lead is ~$37 not $24.84 and every ceiling above rises ~49% — it decides whether a marginal band is worth cutting at all.

Conversion by source

FigureValuePeriodBasis & sourceRead it this way
PMax share of all leads 0 → 17.8% May → Jul 2026 0 → 3,260 → 10,401 leads. Measured on MATURED months (18+ days), CRM ROI feed. Its own conversion is collapsing as it scales: 4.82% → 1.99%.
KIDSX conversion 8.54 → 8.10 → 8.38% May → Jul 2026 Same window, same feed. FLAT. The core product is not degrading. The blended fall 6.25% → 5.21% is entirely PMax dilution — excluding PMax, July is 5.91%.
Revenue per lead by segment $95.66 → $13.75 Jul 2026, matured KIDSX $95.66 · 1FX $74.23 · Snapchat $65.44 · Lead Pronto $48.36 · Alan/other $38.50 · KX $22.39 · GX $21.75 · PX $13.75. A PMax lead is worth ~1/4 to ~1/7 of a KIDSX lead. This is the buying signal. KIDS = KIDSX + KX, so any "kids" total HIDES the PMax split — always separate them.
Bookings per 100 leads 5.58 all in · 8.46 KIDSX 27 Mar – 24 Jun 2026 163,597 leads → 9,135 bookings, KX excluded. Fresh only 6.14 · R-suffix 4.28 · adults fresh 5.48. Recycled families: 6AB 3.21 · N1N 3.20 · 5AB 3.67 · 4AB 4.09 — and CMN 10.00, the one recycled family that beats KIDSX. R + recycled are 24.4% of leads and counting them as leads costs ~9% of the blended rate.
KIDSX by city, per 100 Dallas 12.16 → NY 7.56 27 Mar – 24 Jun 2026 Dallas 12.16 · Nashville 10.33 · Houston 8.41 · Boston 8.36 · Florida 8.10 · Chicago 7.58 · NY 7.56. Orlando has no KIDSX codes at all — a /KIDS/ test alone reports Orlando as having zero kids business. Nashville is NA on KIDSX but NAS on KX.
What recycling adds on top +6% to +8% Apr–Jun 2026 cohort, traced to 19 Aug 7.9 per 100 come back on a recycled code (6AB 3.5 · N1N 1.8 · 5AB 1.5 · CMN 0.6 · R 0.4) and book at 5.8%. So 100 KIDSX leads ≈ 9.0 bookings all in, not 8.5. 24.5 per 100 reappear under ANY code. Measure the uplift as a RATIO, never in absolute bookings — the name+code join recovers only ~84% of the CRM's own count.
Google's own outcome file 1,323 good / 13,974 bad 1 Jun – 26 Aug 2026 79,157 leads. Google PMax 23,880 → 185 good. Insta/FB 48,356 → 1,020. Snapchat 6,921 → 118. Sold means over $600 — that threshold cut Google's good list from 324 to 185, i.e. 139 of the old "sales" were deposits Google was being trained on. 35+ age bands are 4,064 leads → 8 sales → $8,300, the obvious exclusion; 55+ is 0 of 329.

What we throw away

FigureValuePeriodBasis & sourceRead it this way
Removals 9,688 30 days to 16 Jul 2026 Duplicate 4,046 · Inappropriate 2,550 · Blocked 1,431 · Previous Client 542 · Pro portfolio 431 · Too young/old 254 · No Photo 220 · Not Suitable 152 · Spam 59. By supplier: Blue Rooms 5,533 · Lead Pronto 1,437 · Neil 1,249 · Alan 1,147 · Organic 214 · Boost 108. Removals are BATCHED — a quiet day genuinely reads 0 and a catch-up day spikes (13 Jul = 866). The 30-day total is the headline, never "yesterday".
Removed per day, of ~2,000 in ~300–400 standing, per Neil Every lead is cleaned; only some are removed. Inappropriate is assigned during the CLEANING pass. So a cleaned day's Inappropriate is FINAL and does not climb. Cleaning goes quiet at weekends — a day with ~0 removals is "not cleaned yet", not a real 0%.
Inappropriate that is PMax ~78% 3 Aug 2026 PX/KX/GX. Best of the rest is Lead Pronto LP2 at 4–6%; everything else under 3%. PMax Inappropriate is RISING: 22.8% → 28.5% week on week. Worst codes CHIKX 44%, FLPX 40%, CHIPX 35%, HOUKX 34%. The 29 Jul intake-form change did NOT reduce it — Inappropriate comes from PMax, not the form.
Duplicate leads 22.4% May 2026 42,478 leads / 9,513 dupes. Contact-level (phone or email), recycled codes excluded at ingestion. Of those, 76.6% are the same person and ~25% are the same contact with a different name — a sibling, in a kids studio. Same known supplier is 29%, not the 60% an earlier build reported (the "Other" bucket was being treated as one supplier). June: 40,165 / 8,718 = 21.7%.
Out of area — off the ZIP target list 10.0% 7–16 Jul 2026 1,289 off-list of ~12,913. Blue Rooms 1,056 (12.3% of 8,587) = 83% of the breach · Alan 144 (6.5%) · Lead Pronto 87 (4.1%). The agreed baseline is ZERO. Suppliers hold the list and say their form blocks everyone else, so every off-list lead is one their form should have stopped. OOA is the ZIP prefix rule since 17 Jul 2026, NOT the old 200 miles.
Zip-code booking conversion 4.7% 90 days to 5 Aug 2026 122,511 zipped leads → 5,796 bookings. Dallas 5.2 · Boston 5.1 · Nashville 5.0 · Florida 5.0 · NY 4.5 · Houston 4.3 · Orlando 4.3 · Chicago 4.2. Two probable junk zips it exposed: Florida 33101 — 1,619 leads, 2 bookings (the generic downtown-Miami/PO-box zip, and the exact one the target list names) and New York 12345 — 405 leads, 0 bookings. ~2,000 leads, never raised with the supplier.
Austin + San Antonio 1,258 leads / 30 days 18 Jul – 16 Aug 2026 Already ON the Houston/Dallas target lists (786/787/782 both, 780/781 Houston). Jul 2026 = 1,421. A popup there would not be new volume — it is a shorter drive on leads we already pay for. The case is the conversion gap: Austin 2.52%, San Antonio 2.47% against a 4.10% network baseline.
Sex on Blue Rooms leads 100% female Jun–Aug 2026, 45k+ leads Zero males across KIDSX/KX/GX/PX/1FX/SNAP alike. Other suppliers DO return males (4,880). In this CRM sex is carried by the campaign code, not asked on the form — Alan runs paired …1F/…1M codes. Blue Rooms run no male code. Ask them; do not set gender bid adjustments off it, and do not "fix" it by deriving sex from names.

The diary

FigureValuePeriodBasis & sourceRead it this way
Fill rate, settled 72–80% Mar–Aug 2026 Mar 75.4 · Apr 72.2 · May 80.1 · Jun 79.4 · Jul 79.5 · Aug 78.1%. Booked ÷ seats on offer (A+N+I+L). FLAT for six months. There is no decline. Weekly range 70.7% (13 Apr) to 84.5% (25 May). A retro-close test passed — March still holds 883 unsold empties, so old months were not bulk-closed.
Arrived ÷ seats opened 46.6% → 51.1% Mar → Aug 2026 The number that actually matters: only ~half of every offered seat has a person in it. The whole spring-to-summer improvement is NO-SHOWS, not bookings — fill moved +2.7pts while arrived/open moved +4.5pts, because no-show fell 34.7% → 30.2%.
Forward book, next 14 days 57.3% as at 4 Sep 2026 993 booked of 1,732 seats. Settled norm for the prior 14 days: 78.4% (1,262 of 1,610). A forward day is not an empty day. Days 7–13 still fill, so the honest shortfall is smaller than the ~269 it looks. Days 0–6 are largely locked and they sit 10 points under norm.
The booking horizon ~17 days as at 4 Sep 2026 0–6 days out 68.7% fill · 7–13 46.6% · 14–20 34.2% · 21–28 25.0%. Past 24 Sep there was nothing to sell — only 0.9% of the grid 21–28 days out was even on offer. The diary is not opened that far ahead.
Cancellations — the premise that died 98.3% freed the seat Aug 2026 694 of 706 August cancellations were removed and the seat went back on sale. Of the 12 still holding one, 7 had arrived — rebookings, not ghosts. The loss is one step further on: the seat is freed and then nobody sells it. August freed 694 seats and ended with 803 unsold — the cancellation flow is the same size as the entire hole. 79% give 2+ days' notice, so it is a resellable pile.

Shows and no-shows

FigureValuePeriodBasis & sourceRead it this way
No-show rate 34.22% / 29.73% 12 months / last 3 complete 10,489 empty chairs of 30,652 settled appointments. Dec 2025 41.8% → Jul 2026 28.6%. Never quote the 12-month blend as current. It reconciles exactly with the CRM's own feed — 807 no-shows for Aug 2026 on both, studio by studio across all eight. Cancellations excluded entirely.
The confirmation flag 25.6% vs 80.7% 12 months to 10 Sep 2026 Fully confirmed 76.0% of bookings, 25.6% no-show · half 7.3% / 35.0% · not confirmed 4.1% / 47.1% · attempted — rang, never reached — 12.6% / 80.7%. A 55-point gap, 5× bigger than anything Neil asked about. 3,879 chairs a year are sold to someone we never got hold of and 3,129 sit empty. Not circular: 19.3% of never-reached bookings still arrived. Distance and time both act THROUGH it.
No-show by distance 31.2% → 39.5% 12 months ≤10mi 31.2% to 100–200mi 39.5%. Holds inside adults, inside kids and inside all eight cities separately. Among fully-confirmed bookings the gradient shrinks from 8 points to 3 — most of it is that far-away people are harder to reach.
No-show, kids vs adults 23.0% vs 36.7% 12 months By time of day 30.9% at 09:00 rising to 36.8% at 12:00–13:59. Half the time-of-day effect is composition — mornings are 27% kids, afternoons 12%. Inside adults it is only 34.5% vs 38.2%.
Show rate — appointment basis ~57% stable, no maturity lag Showed ÷ on calendar, anchored to the APPOINTMENT date. May 2026: 2,133 of 3,696 = 57.7%. Cancellations are IN the denominator and drag it down ~14 points — proven at record level, all 714 May cancels sit inside the roster. Excluding them gives 71.5%, which is nowhere near the CRM's own number.
Show rate by distance and age 64.6% → 51.4% · 68.0% → 51.1% Mar–Aug 2026, 239,516 leads Distance ≤25mi 64.6 · 25–50 59.8 · 50–100 55.6 · 100–200 51.4. Age U18 68.0 · 18–24 57.7 · 25–34 57.1 · 35–44 54.2 · 45–54 52.9 · 55+ 51.1. Separate, additive effects. The boundary is 18, not the age — every under-18 band reads 67–70%. Drive time says the first HOUR is free: ≤30min $21.67 cash/lead vs 30–60min $22.03, HIGHER.
The counter-intuitive half close rate RISES with distance Mar–Aug 2026 69.9% at ≤25mi to 81.1% at 100–200mi. Deal size rises too, $2,602 → $2,771. Someone who drove two hours buys. The whole loss is upstream, in booking % and show rate. Same at the other end of the age range: 45–54 and 55+ have the biggest deals ($2,824) and the most cash up front ($1,191) — they just never book (2.4% / 1.8%).
The booker spread 18.5% to 63.1% 12 months No-show rate across the top bookers. Far bigger than distance or time, and nobody has asked about it. The booking also carries a per-person noshowcount repeat counter, completely untouched.

Cities

FigureValuePeriodBasis & sourceRead it this way
Network, 13 fortnights $20.56M 13 Feb – 13 Aug 2026 7,786 deals, $2,641/deal, 72.5% close, 56.3% show, 5.6% booking rate. 14-day Fri→Thu blocks so no column is a part-period. Trend cells rank a city against its OWN blocks — direction, not league position. Three bases in the report and they do not reconcile: viewings (the money), ROI (leads/bookings), appointments (the show rate).
Dallas −40% first vs last block Revenue $277k → $166k per block. On-calendar −29%, close 72.9% → 63.7%, rev/deal $2,712 → $2,300. The network's clearest decline. Its show rate (+20%, 2nd best) and cash up front (44.0%, best in the network) are fine, so getting people in and collecting is not the issue. Dallas also runs the thinnest KIDS mix (10.5% vs 18.2%) while posting the BEST kids booking rate.
Houston cash −44% first vs last block Revenue −10% and noisy; rev/deal UP 11%; close rate 2nd best. But cash up front 36.2% → 20.2%. The largest single decline of any metric in any city — ~$525k/yr against a 36.1% median. Revenue is roughly holding; the cash is collapsing. Houston is also the thinnest-staffed city: 3 viewers, 446 viewings each.
On-calendar down in 7 of 8 same window Florida −34 · Dallas −29 · NY −25 · Houston −24 · Nashville −20 · Chicago −15 · Boston −10%. Only Orlando is up, and it opened in 2026. Meanwhile show rate is UP in seven of eight. The network is booking fewer people and losing fewer of them. Not yet checked against last year — could be seasonal. Do that before acting on it.
Nashville best close, worst show same window Close 79.8% and booking rate 6.3% — both best in the network. Show rate 50.2% — worst. Smallest deal at $2,354. Its problem is people not turning up, not selling.
One weak closer per city ~$3.85M/yr same window Among the 16 viewers with 200+ viewings, median close is 73.7%. Dallas: Rachel S 58.7% beside Elly R 73.9% (~$362k/yr). Houston: Dawn B 62.8% beside Angela K 82.1% (~$334k/yr). Same city, same leads. The full gap-to-median list totals ~$3.85M/yr of new revenue, excluding cash-timing rows.
Weekend capacity ~22–24 per city per day 26 days measured, Aug 2026 Weekend days run 146.5 shoots vs ~108 weekday. Boston averages 18.0, p90 22, max 23. Leads are not the constraint — capacity is, and the top is FLAT. Only +18% network headroom, so popups are the only way to add weekend volume. Kids volume nearly doubles at weekends (55.1/day vs 28.0) while adults barely move.
Popup sizing 400 kids leads ≈ 23 bodies 20 Aug 2026 KIDSX 8.46 booked per 100 × the measured 67.2% weekend kids show rate → 100 leads = 8.5 slots = 5.7 bodies. Neil's "400 kids leads fills it" holds. Let a supplier fill 25% of the order with 6AB recycled and it drops to 7.15 per 100; 50% and it is 5.84 — no better than the ordinary blend. The popup slot count is still unconfirmed.

The book

FigureValuePeriodBasis & sourceRead it this way
Finance written, all-time $126.85M as at 12 Aug 2026 59,756 agreements. Sale value $157.05M. CRM Debtor Ledger, 14 studios × 2019→now. The identity finance = paid + credits + balance ties EXACTLY, $126,849,351 both sides. Every month row carries its own check.
Collected $53.70M 42.3% as at 12 Aug 2026 Credits $21.25M · outstanding $51.90M. 42.3% is collected ÷ written on the WHOLE LIVE BOOK — the lowest of the five bases, because it includes cohorts that have not had time to pay. It is not the number Neil means by "about 63%".
By city — collected % Boston 47.8 → Chicago 21.8 as at 7 Aug 2026 NY 22,684 agmts / $50.36M / 44.2% in / 23.7% off / $16.17M out · FL 9,826 / $21.47M / 44.5 / 14.3 / $8.85M · Atlanta (closed) 7,589 / $14.73M / 43.6 / 20.9 / $5.24M · Dallas 6,022 / $12.82M / 39.3 / 10.1 / $6.49M · Houston 5,355 / $11.23M / 38.1 / 9.6 / $5.88M · Boston 3,897 / $7.29M / 47.8 / 7.3 / $3.27M · Nashville 2,664 / $5.35M / 34.9 / 3.5 / $3.30M · Chicago 1,560 / $3.24M / 21.8 / 2.6 / $2.45M. Written-off % tracks age, not performance — NY and Atlanta are the oldest books. Cohorts under 12 months old are greyed on the report; their collected % is not comparable.
Half of all charge attempts decline 221,857 vs 225,664 all-time Payments taken vs declines, from the finance schedules. 16,374 agreements (27.4%) never made a single finance payment after the deposit. Plan completion: Boston 50.5% best, Chicago 22.5% worst. 10-payment plans average 4.4 taken and 39.5% finish.
Neil's collection rate 64.0% settled cohorts, 24+ months old collected / (finance written − written off) — identically collected / (collected + outstanding). 36+ months 66.3%, 48+ 67.4%. Every other basis lands somewhere else and will look like a contradiction: collected/written settled 48.8% · whole live book 42.2% · of instalments attempted in a cash month 39.8% · (deposit + collected) / sale value 58.6%. Say which basis before quoting any collection number.

The cohort curve

FigureValuePeriodBasis & sourceRead it this way
Banked share of the SALE 21.3% day 1 → 59.8% 2024 H1, matured m6 42.2% · m12 55.8% · m24 59.6%. 2025 H1: 19.4% → 38.7% → 51.8%, 54.3% latest. 2025 H1 is 4 points behind 2024 H1 at month 12. On the BALANCE alone (excluding the deposit) that is 48.9% collected for 2024 H1 and 43.3% for 2025 H1.
The contract itself changed 10 → 12 payments 2023 → 2026 Short plans (≤6 payments) 28.4% → 13.3% · instalment as % of balance ~16% → ~12.3% · avg finance $2,315 → $1,776 (2024 trough) → $2,238 · month-2 curve peak 9.17% → 5.35%. Longer plan + bigger balance + smaller instalment = a smaller share returned each month even when the customer pays perfectly. The curve flattens by construction. The effectiveness index scored 2026 cohorts at 48–84 and called it collections getting worse — most of that was the contract.
The fair test — plan length held at 12 24.19% → 22.43% 2023 → 2026 Q1 Cash collected by month 6: 2023 24.19 · 2024 22.42 · 2025 H1 20.15 · 2025 H2 20.64 · 2026 Q1 22.43%. A real dip in 2025 (−17% vs 2023), largely recovered in 2026. Nothing like the 48–84 index. Never compare cohorts across a terms change without holding plan length constant. 2026 Q1 like-for-like is n=513, smaller than the others.
Instalment #1 is where contracts break 58.6% measured 16 Jul 2026 41% of FIRST payments fail. Then #2 49.9% · #3 45.1% · #4–10 ~43% · #11–12 ~36% · #13+ 8–25%. Contracts break before collections ever touches them. New contracts nearly doubled 637/mo → 1,208/mo while LIVE billing stayed flat — every extra sale falls straight into the dead pile on arrival.

Billing vs collecting

FigureValuePeriodBasis & sourceRead it this way
Billed vs collected +40% vs flat Jan 2025 → Jun 2026 Billed $1,356,591 → $1,895,184. Collected $758,567 → $754,669 (−$3,898). Rate 55.9% → 39.8%. Essentially every dollar of new billing since Jan 2025 has gone uncollected. 18-month totals: $27.7M billed, $13.8M collected = 49.9%, $13.9M uncollected. Every city declined.
…but the rate did NOT collapse — the MIX shifted LIVE 70.6% → 65.8% same window Splitting each month by whether that customer paid anything in the prior 3 months: LIVE billed flat $860k → $877k/mo at a stable rate. DEAD billed DOUBLED $496k → $1,019k/mo at 30.5% → 17.4%. Dead share of billing went 36.6% → 53.7% — we now bill MORE to non-payers than to payers. That mix shift alone explains the blended 55.9% → 39.8%. Nobody performed worse. The honest rate returns to ~68% if 3-month-dead contracts stop being re-billed.
The collections team IS working ~$149k/mo of real recovery 4 Jul 2026 77–83% of collector money lands on accounts with a missed invoice. Neil was right and the first read was wrong: stopping the team WOULD lose ~$150–178k/mo. But their recovery is dwarfed by the +$542k/mo growth in uncollected billing — they bail $149k out of a boat taking on $542k. The problem is not the debt team.
The Book — contracts behind 36,021 of 58,011 62.1% 16 Jul 2026 $27.72M billed / $13.82M collected / $13.90M outstanding. Every city 59–73% behind (Chicago worst 72.6%, NY lowest 59.0% on the biggest book). The uniformity is the point — structural, not execution.

Reductions, chargebacks, zombies

FigureValuePeriodBasis & sourceRead it this way
Credits posted, all-time $19.7M 2021 → Aug 2026 11,511 agreements. Assembled from the Debtor Ledger total plus the per-booking finance schedule — the CRM has no reductions report. Jul 2026 was the biggest write-down month in twelve: $201,329 across 173 credits, climbing every month from a Dec–Mar floor of ~$95–105k. The credit's date is whatever the person posting it typed — never present it as an audit timestamp.
What a reduction buys back $0.12 per $1 945 accounts reduced since 1 Jan 2026 $999,512 written off → $118,179 collected after. 60.4% paid nothing at all. Reducing an agreement does NOT unlock payment. $2,000+ cuts recover NEGATIVE money (−0.3%) and 75.8% of them pay nothing. Depth is the strongest signal: under 25% of the balance off → $0.74 back; 100% off → −$0.03.
Half the write-off can never recover $511,431 51.2% same window 396 of 945 credits (41.9%) clear the balance to zero — closing a dead account, not doing a deal. 99.7% of them paid nothing after, by construction. Strip them out and the 549 part-cuts wrote off $488,082 and collected $135,351 = $0.28 back per $1, more than double the blended figure. Blending the cleared ones in is what makes recovery read as a flat failure. Also: 200 of the 381 who ever paid again paid the SAME DAY — the money was on the table in that conversation.
Chargebacks and refunds $1,068,207 leakage Jan 2025 – 16 Jul 2026 2,154 chargebacks / $830,896 and 7,462 refunds / $708,126, against 151,318 transactions / $35.5M. CB rate 1.42%, refund rate 4.93%. Avg CB $386, avg refund $95. 3.01% of money. The CB rate is FINE and improving (~1.8% mid-2025 → ~1.1–1.4%) — it is the WIN RATE that is collapsing, ~45–59% in 2025 to 24.2% in May 2026. We are losing the ones we get, not getting more. That points at evidence submission.
Zombie accounts 2,614 series / $4.18M 16 Jul 2026 29.1% of a live book of 8,970. $542,297 billed every month and never collected. 1,373 (52.5%) never paid a single invoice. By city: Texas 885/$1.59M · NY 717/$1.15M · FL 297/$499k · Nashville 292/$394k · Boston 227/$321k · Chicago 196/$229k. 52.5% never-paid is a lead/sales-quality problem, not a collections one. Quote the LIVE book — all-time series read $33.9M, 88% of it dead history.

The decline book

FigureValuePeriodBasis & sourceRead it this way
Finance declines 18,614 / $3.77M Jun–Aug 2026 7,615 people. Soft 82.6% · Hard 10.5% · Structural 6.9%, deduped by payment id. The mix is flat across all three months and every city — a property of the book, not a spike or a team problem. After a soft decline the next charges convert 24.3%; after structural 15.9%; after hard 14.5%, and 85% of those people paid nothing more all window.
Charges sent to cards the issuer had killed 2,052 / $385,210 Jun–Aug 2026 Follow-up charges that failed a second time on a structural or hard decline. CARDHOLDER_INSUFFICIENT_PERMISSIONS (1,710, the biggest hard code) means the card is fenced off from card-not-present recurring charges and only the cardholder can lift it. CVV / AVS / postcode failures are structural — the stored details are wrong and retrying is pointless.
Declines per month, and growing 5,566/mo · $1,122,769/mo Feb–Jul 2026 Average instalment $201.73. Volume 3,257/mo (Jan 2025) → 6,115/mo (Jul 2026) = +88%. A finance decline = a FAILED charge at a Recurring location. But recovery must be counted at ANY location — half payments land at Studio Sales and Deposits too.
Overall fail rate 36.8% → 43.1% Jan–Jul 2025 → Jan–Jul 2026 Declined value $8.21M → $12.29M. 264,022 attempts pulled, 105,688 failed, normalised per 1,000 attempts because attempts grew 23%. The economy is real but roughly a third of it. Genuine no-money declines nearly tripled (12.0 → 32.3 per 1,000, +168%) — but maxed-out cards, the single biggest affordability code, got slightly BETTER (170.4 → 162.1, −5%), which a broad squeeze would not do.
The real driver — BLOCKED cards +594% same window CARDHOLDER_INSUFFICIENT_PERMISSIONS 5.1 → 35.2 per 1,000. INVALID_ACCOUNT 1.9 → 9.6 (+417%). ISSUER_INSTALLMENT_ERROR 114 → 424. Of the excess declines beyond volume growth: blocked ≈48%, no-funds ≈32%, invalid account ≈12%, generic ≈11%, maxed-out −13%. Blocked is not in Square's published enum and is "seen live on instalment-flagged cards" — it points at HOW charges are submitted, not at customer finances. The inflection is Sep–Oct 2025 and has never been diagnosed.
July 2026, all six accounts 6,120 misses / $6,563,746 exposure Jul 2026 5,914 people, $1,218,585 due that month. 59.6% of all recurring charge attempts failed. Texas $2.31M · NY $1.68M · FL $885k · Nashville $663k · Boston $555k · Chicago $464k. The first pass said $8.49M. Two aggregation traps, both nearly published: CANCELED invoices are not debt (+$1.52M of fake arrears and 834 fake misses) and exposure must be counted per CUSTOMER once, not per row. The tell for both is that the aggregate moves when you change the row grain.

The chase — and the gap

FigureValuePeriodBasis & sourceRead it this way
Declines never chased at all 79% to Aug 2026 Only 6,939 of 33,394 (21%) had any card attempt in the 21 days after failing. 4,409 a month get nothing. Untouched declines recover 3% in 30 days. Do NOT quote the "72% vs 3%" comparison — it is circular, because a customer's recovery payment is itself an attempt within 21 days.
Failed OPENING instalments never chased 77.2% since 30 Nov 2023 8,843 of 11,450 get no attempt within 10 days. 54.1% (6,193) get none within 30 days — $1,414,008 of face value never asked for again. This is the unselected number and the one to lead with. A miss caught inside 10 days banks $1,164 by day 365 against $244 if never caught — $921 an agreement. 8,843 unchased openings × even 20–25% ≈ $1.6M–$2.0M.
Is it recovery or acceleration? Recovery. 26% / 32% / 36% / 41% Feb 2026 declines followed forward Pay within 30 / 60 / 90 / 180 days. 59% of missed instalments produce no payment from that customer in six months.
The clean conversion number 25% 21 Aug 2026 sweep 84 accounts that had not paid since their decline → 21 converted, $2,055.86 = $97.90 per conversion, $24.47 per account swept. Near-complete population, so no selection bias. By original reason: TRANSACTION_LIMIT 39% ($36.21/account) · INSUFFICIENT_FUNDS 29% ($27.71) · GENERIC_DECLINE 8% ($11.67) · dead-card codes 0% of 7. Executed badly (day 9–11, naive amounts) — this is a FLOOR. n as low as 7 per reason.
What the programme is worth $90k–$101k/month sized 21 Aug 2026 Gross $90,134/mo, net of the 3% that would have arrived anyway $69,531/mo; with day-1–3 timing ×1.3–1.45. $1.1–1.2M a year, plus 768 wasted dead-card attempts a month avoided. It moves Neil's 63% to about 67%, call it +3 to +4 points — the spread depends on whether recovered money was heading for write-off (denominator grows, gain halves) or would have sat outstanding forever.
Timing — the biggest unpriced lever same day 54% · next day 83% Feb–Jul 2026, 14,474 first retries 2–3d 79% · 4–7d 58% · 8–14d 51% · 15–21d 58%. (22–30d is the next cycle's charge, not a retry.) Splits hard by reason: TRANSACTION_LIMIT 85% and INSUFFICIENT_FUNDS 92% same-day, but GENERIC_DECLINE only 32% same-day against 81% next day — never chase a generic decline the same day. Sun 17% and Sat 25% are dead; Mon 44% and Fri 43% best. Day 1 is 48% of everything a 10-day window ever returns; day 7 is 92%.
Step-down amounts — TRUE but MISLEADING 76.7% vs 43.4% 112,817 failed charges Next attempt ≤35% of the failed amount: 709 attempts, 76.7% worked. The SAME amount: 42,734 (92.6%), 43.4%. MORE than it: 1,098, 73.5%. Do not quote "step down = 77% vs 43%". Asking for MORE works just as well as the smallest step-down — so shrinking the amount cannot be the mechanism. What separates them is that a changed amount means a human agreed it. The 33pp gap is mostly engagement, not arithmetic.
Where the amount IS plausibly mechanical 51.8% → 78.4% n=21,541 retries TRANSACTION_LIMIT is a per-transaction cap, so a smaller charge literally fits under it. INSUFFICIENT_FUNDS 49.0% → 80.0%. Still confounded, but here there is a real mechanism to test and it needs no phone call, so it can be automated and randomised. Never ladder a structural decline — CARD_EXPIRED (867), INVALID_ACCOUNT (570) and PAN_FAILURE (509) need a new card, not a smaller number.
An automated retry has NO baseline UNKNOWN standing We have never run one. Write UNKNOWN. Do not borrow a number from the collector data to stand in for it — every one of those is a human conversation. A trial needs a no-retry control arm, or the automated arm gets measured against a conversation rate and looks like a failure however well it does.

The zombie pile and the shut-off

FigureValuePeriodBasis & sourceRead it this way
Series on 4+ consecutive misses, still billing 2,656 / $4.35M 7 Sep 2026 $544,275 invoiced every month that never lands. 53.4% (1,417) never paid a cent. Depth: 4–5 954 · 6–8 798 · 9–11 599 · 12–17 300 · 18+ 5. Texas 898 worst, then NY 667. Reasons, one vote per series: GENERIC family 939 (35.4%) · no money/limit 836 (31.5%) · never attempted at all 353 (13.3%) · issuer blocked 268 (10.1%) · card dead 260 (9.8%).
The damage is done at the FIRST miss 20.8% → 12.9% hazard curve, 7 Sep 2026 Given N misses in a row, does the next cycle get paid? 1 miss: 51,548 times reached, 20.8% paid, $12.39M owed at that step. 2: 12.9%. 3: 7.9%. 4: 5.0%. The collapse is between miss 1 and miss 2. Arguing about a cut-off at 4 is arguing over what is left after the loss has happened. Live early window: 2,751 series at 1–3 misses, $932,466 owed, $536,951/mo still billed.
Nothing retries — proven from the invoices 0.90 failed charges per missed cycle 7 Sep 2026 Only the SCHEDULED invoice carries automatic_payment_source: CARD_ON_FILE; every past-due one reads NONE. Square charges the card once, on the due date, and never again. Under one attempt per missed cycle. This is the no-automated-retry rule holding in the data. The series still mints a new invoice every cycle forever — 17 invoices deep, one created the same day the previous fell due, fifteen misses in.
6.5% of scheduled invoices hold NO card 658 of 10,133 sampled across all six locations Texas 4.2% · Boston 9.2% · NY 7.9% · Florida 6.6% · Chicago 5.4% · Nashville 7.0%. They cannot auto-charge and produce no decline code, so no bucket and no list ever sees them. On 2026 first misses that group recovers 6.3% next cycle against 28.2% for a plain no-money decline — the worst on the book.
Who collects money after a 4th miss 68.7% the billing, not a person 1,257 matched recoveries 852 ($148,950) were the schedule firing on the stored card, dated exactly on the due date. 389 (31.3%, $55,089) were a person — 303 keyed, 77 saved-card off-cycle. Most post-4-miss money is the billing working on a LATER cycle, not a rescue — so cancelling removes the mechanism, not just the paperwork. (First answer said collectors; that was wrong and it flips the shut-off argument toward a deeper threshold.) It does not stick either: 30.1% paid 0 of the next 6 cycles and 33.3% hit another 4-run.
Where to cut, if anywhere 9+ misses 7 Sep 2026 Cut at 4: 2,656 series, $544,275/mo stopped, $391,740 of later money refused, $14.3M of dead billing killed. Cut at 9: 904 series, $193,628/mo, only $27,306 refused, $4.67M killed. Cut at 12: 305 / $64,698 / $10,411 / $2.55M. 68.4% of all recoveries land at exactly 4–5 misses, while a collector is still working the file — so 9+ is the threshold worth automating. Counterweight: 264 series (9.9%) took a card payment during the run that never touched the invoice, $66,499 off-rail. Nothing has been cancelled. Square's Invoices API cannot end a series at all — it is Dashboard-only, so any shut-off is a nightly sweep, not a switch.
The worst day to charge a card the 31st 451,285 CRM charges Success by day of month, overall 50.0%. Best: 2nd 54.4 · 1st 53.5 · 16th 53.4 · 3rd 52.4. Worst: 31st 43.3 · 30th 45.8 · 28th 46.4 · 22nd 47.9. The 31st is simultaneously the most-chosen charge day (9.1% of agreements) and the worst-performing. 28th+30th+31st ≈ 19% of agreements, all bottom-four, while the day people most often state as their payday is the 1st. We charge the day before the money lands. Evidence supports moving month-end charges to the 1st–3rd — not actioned; rescheduling real charges is outward-facing.
Month-end is genuinely quiet 1 · 2 · 929 29th / 30th / 31st Aug 2026 Square pauses the recurring book for the last two days of the month and dumps it on the last day. Jun: 57 / 868 / —. Jul: 14 / 15 / 870. Two near-empty chase files at month-end are correct, not a broken cron. Reconcile the declines file against square_attempts.jsonl for the same day before ever re-running the Square pull — they matched exactly at 955 rows on 31 Aug.

The size of the book

FigureValuePeriodBasis & sourceRead it this way
The whole sub-account 11,605 accounts 4 Sep 2026 13,870 open cards. Keyed on the order reference (companyName), because 2,123 debtors hold more than one card. Count ACCOUNTS, not cards. A per-card sum of balance overstated the book by $327k the first time it was done, and would have handed 111 people to two collectors at once.
Owed $16.79M across 10,038 4 Sep 2026 1,080 paid off · 456 written down · 16 never financed · 15 no join. It is a ledger BALANCE, not arrears. Landing here means missing at least one payment, but plenty went back on plan, and there is no fresh next-due date to net it down with. Say "the size of the book being chased", never "overdue".
Answered a text in the last 30 days 968 8.3% 4 Sep 2026 1,185 cooling (31–90d) · 4,551 cold (90d+) · 4,831 silent · 70 never texted. QUOTE 968, NEVER 6,706. 6,706 accounts have replied at some point, which reads as 58% engaged — but 4,551 of them last spoke over 90 days ago. The reply flag never expires, so a lifetime yes/no makes a mostly-cold book look half-alive.
Never paid after the deposit 3,460 44% of the book 4 Sep 2026 $7.40M of the $16.79M. A completely different conversation from someone who paid four and stopped. The average balance barely moves across the five contact rungs ($1,866 live vs $1,720 never-answered) — there is no balance threshold to sort the book by. It sorts by contact and by nothing else.
Filed as collected, still owing 611 accounts / $744,080 4 Sep 2026 34% of the Debt AI(Collected) board. It was 88 cards / $79k on 28 Aug — accelerating. Whatever moves a card there is not reading the ledger, and nobody chases them because the board says they are done.
Silent debtors who have barely been texted 1,354 with ≤2 texts 4 Sep 2026 Of 4,339 silent debtors who owe. At the other end, 792 have had eleven or more and still said nothing. Voice calls are not in the GHL thread, so a phone-worked card reads as unchased — do not call the low end "never contacted".

Who holds what

FigureValuePeriodBasis & sourceRead it this way
Ownerless cards 2,077 cards = 1,852 accounts 28 Aug 2026 425 already settled (331 paid off, $607,094 collected; 87 zeroed by a reduction, $103,041 given away). 1,424 owe $2,099,159. The owing pile splits three ways: 608 have replied at least once ($825,375 — hand to a collector) · 793 have NEVER replied ($1,240,063 — leave with the automation) · 23 already owned under a second card ($33,721 — merge, do not reassign).
The hand-out list 661 accounts / $1,046,328 3 Sep 2026 From 743 Unassigned cards: −28 PIF/settled, −4 no ledger row, −11 already filed collected, −39 already carrying a collector's name elsewhere. The Unassigned board is where non-responders accumulate — 4% of its cards belong to someone who has ever answered a text, against 100% on the board built by selecting for repliers. So this is a CALLING list, not a texting one. Never quote the number without that sentence. 187 of the 661 never made a payment after the deposit.
Applied 589 assigned, 0 failed 4 Sep 2026 Ownerless on Unassigned went 641 → 52, and every one of the 52 is ownerless for a filter reason. The pool fell 661 → 589 between approval and applying — 66 accounts had been picked up overnight. Always re-pull; never trust yesterday's split. A roster derived from live data also swept in someone Neil had not approved — diff it against what was agreed.
Board sizes 13,328 cards, 11 boards 27 Aug 2026 Caet 3,294 · Unassigned 2,022 · Charles 1,973 · Nick 1,942 · Maria 1,419 · Roni 1,118 · Emily 953 · Ronnie 206 · Alejandro 117 · Kimberly 89. The shared Debt AI board (6,018) is mostly a graveyard — 4,554 in "No reply", 749 untouched for 180+ days. Caet's 3,109 are misleading: 2,363 are parked in "Collections" and 801 untouched 180+ days; her live load is ~384 assigned + 277 reduction-offered. 197 cards are owned by three DELETED staff accounts — an orphaned card still looks owned, so it never appears as needing a home.

Is the team quieter?

FigureValuePeriodBasis & sourceRead it this way
Account-level inbound 2,184 → 2,374 → 2,203 three 30-day windows to 27 Aug 2026 Flat. Underneath it: Maria R 151 → 610 (+304%, now 27.7% of every reply) · Alejandro 8 → 37 · Ronnie 74 → 137, against Caet 258 → 149 (−42%) · Charles 367 → 238 (−35%) · Emily 371 → 295 · Roni 391 → 314. The collectors saying they are quiet are right about their own inbox and wrong about the account. Never answer "are we getting less work" with an account-level total — it tells people their own experience is imaginary. assignedTo is CURRENT state: a RISE is trustworthy, a FALL can be a reassignment.
Reply rate — first month vs re-chased 54.6% vs 12.8% Aug 2026 First month: 52.6 (Oct 25) · 44.7 (Jan) · 56.8 (Apr) · 54.9 (Jun) · 54.6 (Aug). Carried over: 37.1 · 23.9 · 13.8 · 11.9 · 12.8. The blended 48.5% → 21.1% is a MIX EFFECT, not a decline. Neither segment changed. The carried-over pile grew twelvefold and answers at 12–13%, so the blend falls on its own. Intake is flat at 712–842 new debtors a month all year, and fresh work is the same size it has always been.
Effort more than doubled 1,538 → 3,794 texts Jan → Aug 2026 People given a human touch 830 → 2,167. Calls 300 → 126. Not efficiency — the opposite. Meanwhile 30-day recovery fell 26.4% → 17.2% and the miss rate rose 37.5% → 41.3%. Deliverability ruled out: 96–98% delivered every month.
Collections taken $846,875 → $808,619 Jun → Aug 2026 The automated run $385,656 → $461,743 (+19.7%). Every human desk $461,219 → $346,876 (−24.8%). Payments taken 4,247 → 4,166. Failed charges 6,084 → 6,327. The automation absorbed the fall almost exactly, which is why the total looks unchanged. Automation is decided by BEHAVIOUR (20+ payments inside a minute on 10+ separate days), not by a name — a hardcoded first-name list was filing $1.4M, more than half the book, as "automation".
Per collector Veronica $80.8k → $51.8k Jun → Aug 2026 Charles $46.2k/191 → $39.9k/180 · Nick $17.6k/105 → $11.5k/69 · Emily $15.5k/89 → $17.5k/83 · Caet $18.3k/97 → $15.6k/92 · Maria $0 → $17.4k/87 · Miguel $15.9k/83 → $351/3. Desk logins fell hardest: Nashville 121 → 49, Boston 118 → 57, Studio1 388 → 227. Maddy Brener took ZERO collections payments Jun–Aug — she is reporting on the team, not from her own numbers.
Caet, twelve months $186,487.43 gross Sep 2025 – Aug 2026 915 payments. Refunds against her own payment ids are negligible ($892.83), so net $185,594.60. By city: NY $60,061.87 · TX $45,058.53 · FL $26,955.86 · Boston $23,572.64 · Nashville $17,712.12 · Chicago $13,126.41. The finding worth chasing: she peaked in January ($23,681) and has fallen every month since ($15,565 in Aug) while the cards she put through went UP (107 declines in Jan → 191 in Aug) and her average payment nearly halved, $308 → $169. Success 41.8% → 32.5%. NOT diagnosed — could be an older, harder book. Needs a cohort cut before anyone reads it as performance.
Phone activity 213–351 team calls a weekday 14 days to 16 Jul 2026 Zero at weekends (correct — the teams do not work them). Outreach 1,125 calls / 328 over 2 minutes; Debt Collection 1,088 / 149. GoTo call data cannot be joined to a customer at all — the daily file is per agent per day with no phone number. That is the missing field for any model of what the chase actually recovers.

Outreach

FigureValuePeriodBasis & sourceRead it this way
Lift on the 1st payment none measured 18 Aug 2026 Worked 226/411 = 55.0% against a tenure-matched control 1,441/2,546 = 56.6%. Second payment a dead heat (38.3% vs 38.6%). Collection rate 43.7% vs 45.2%. −1.6pp, inside the ±2.6pp standard error. Per-market deltas scatter both ways on tiny n.
Chargebacks — the one real signal 1.01 vs 1.88 per 100 same window Refunds 0.50 vs 0.84 per 100 point the same way. Worked customers charge back at roughly half the rate — ~1.5 SE, suggestive not proven.
The measurement sees a quarter of who we worked 595 of 3,100 same window 3,100 GHL outreach contacts → 806 matched to a Square customer → 595 hold a recurring plan. 24 of 50 sampled contacts had neither phone nor email on the GHL record, so they are unmatchable; a fuzzy phone search recovered zero extra. It is missing data upstream in the push, not a match bug — but the treated half we can see is the half WITH contact details, which may not be representative.
Volume that moved off two reps ~488 sales / 60 days 25 Aug 2026 Boston 252, Nashville 221, when Irving and Roberto came off outreach. Only three reps still receive new outreach sales. Boston and Nashville do NOT move together — they were split the same way on the same day, then Ronnie came off Boston only. Existing customers are NEVER moved.

The model portal

FigureValuePeriodBasis & sourceRead it this way
Models who never see their photos 37% 18 May – 18 Aug 2026 2,295 of 6,209 sites / 114,950 photos have had no login since the photos went live. 27% (1,673) never logged in at all — 23.4% on the clean cohort. No notification step exists. Accounts are cron-provisioned every 15 minutes and photos bulk-dumped in one burst (77.7% of sites got every photo inside 10 minutes). Backfilled cohorts are near-dead: the 6 Jun batch is 92.4% never-logged-in against 20.5% for cron-provisioned.
Zero-login predicts non-payment 45.7% vs 64.4% clean cohort, n=236 vs 845 On-schedule instalments. ≥1 decline: 58.1% vs 47.3%. Declines per account 1.26 vs 0.73. chi² 34.1 / 28.2, p<0.0001. Quote the BINARY, never a correlation — the continuous rank correlation between logins and declines is only −0.08. It is zero-vs-any, not "more logins = better". Outstanding on never-logged-in accounts: $1.84M; the chase list is 268 accounts / $618,306.
Deposit size is the cleanest predictor 52% vs 70% same window Under $300 deposit → 52% on schedule, 1.12 declines. $1,000+ → 70%, 0.51. And it is NOT affected by the login window. Delivery lag does NOT predict payment — it collapses under control; only 90+ day lag is genuinely bad (42.7%, n=116). Do not repeat the raw version.

Recycled income and the SMS engine

FigureValuePeriodBasis & sourceRead it this way
Recycled income $507,848 on 288 sales Jul 2026 14.0% of the month's $3,630,380. Excl 4AB $493,598. Deposits taken $163,028. The number Neil invoices Mike Martin and Leanne off. Families: 6AB $186,000 · N1N $94,949 · R-only $78,675 · 5AB $77,575 · CMN $56,399 · 4AB $14,250. Cities: NY $101,374 · Orlando $87,750 · Dallas $67,575 · Chicago $58,049 · Nashville $53,425 · Houston $50,575 · Boston $45,450 · Florida $43,650. Income is agreements WRITTEN, not Square cash.
The SMS engine's reach 268,589 people → 60,365 codes swept 14 Sep 2026 22.5%. 6AB 42,910 (16.0%) · CMN 8,933 · N1N 7,138 · 5AB 5,030 · R 2,018. Across 20 of 23 sub-accounts, 356,227 conversations, 3,064,506 contacts scanned. 63.3% of everyone carrying a 6AB in the CRM since Jan 2025 has been texted by these accounts. A person is a PHONE, not a contact row — 48,821 sit in more than one sub-account and 680 in all twenty.
Two openers, and the YES ask wins 2:1 18.8% vs 10.1% reply leads 181–365 days old, first messaged Jul–Aug 2026 67 distinct openers and every one is either a YES ask (drives 6AB) or a PHOTO ask (drives N1N). A code within 14 days: 6.2% vs 3.1%. Never compare the two raw — the PHOTO blast went to a list with a median age of 278 days against 107 for the YES ask, so the raw split reads as a message problem when half of it is a list problem. There is no CMN opener anywhere; CMN is only ever reached on the second step.
The photo leak 6,078 of 9,243 65.8% same sweep People who sent a photo and never got any code. Only 1,396 became an N1N within 30 days. A photo reply carries no text and an attachment, so anything classifying on body text alone cannot see it. Same fault found independently in August.
Stage rows that should have disappeared 691 of 1,340 people 51.6% 22 Aug – 4 Sep 2026 988 leftover rows. Two faults that must never be added together: ≤14 days before the CMN = the shift itself failed (232 rows, dominated by R — 153 of them SAME DAY) and >14 days = an earlier journey that died and was never cleaned (756 rows, dominated by 6AB, 357). The stages are original code → R (chased) → N1N (sent a picture) → CMN (agreed to a chat), and reaching a stage is meant to CONSUME the one before. The mechanism does work — 23 rows were caught mid-shift — which is what makes the 988 a failure rather than the design.

What the team costs

FigureValuePeriodBasis & sourceRead it this way
Booker pay as a share of turnover 12.44% Sep 2025 – Aug 2026 $35,735,338 booked, $4,446,464 paid. Variable $2.41M (~6.7%), modelled base $2.04M. Last 6 months 11.99%. Base pay is MODELLED ($30k/$33k/$35k ÷ 12 against the level the sheet records) — the sheet holds no salary and remote/bespoke bookers are left out, so the total is a FLOOR. Aug 2026 alone: 61 bookers, $394,696, 12.16%, $6,470 a head.
Whole-company payroll $5,555,882 / 143 people 26 runs, 12 Oct 2025 – 12 Sep 2026 The Paycom sheet, a tab per fortnightly run. Bookers took $4,528,604 ≈ 12.67% of turnover. NEVER call the 12-month roster a headcount. 96 is everyone with turnover in ANY month who also drew pay; 35 of them left during the year. The team is the 61 on the August sheet, and only 38 of the 96 were there all twelve months. Split it every time: 61 still booking $3,770,640 (10.55%) · 35 gone $757,964 (16.7% of booker pay — the churn bill).
Pay against the ladder 25 bookers above rate, $294,000/yr same window The MEDIAN booker at every level is paid exactly the ladder rate. The tail is not — 18 of 44 Seniors account for $246k of it. The scheme: Junior $30k → average $45k over any 3 concurrent months → Associate $33k (+0.5%) → average $49k over 3 more → Senior $35k (+1.0%). Any per-level cut must count CURRENT bookers only, or a leaver inflates it.
Promotions owed and bonuses standing 4 owed · $25,000 as at 14 Sep 2026 2 Juniors owed Associate (Courteney Myles, Corban Arana), 2 Associates owed Senior strictly (Bari Meyerson, Paola Grundland), plus 5 judgement calls whose $49k run includes Junior months. 14 bonus claims standing, 8 at the $400k tier. The scheme makes the BOOKER claim the bonus ("This bonus must be tracked by you"), so a qualifying run is not evidence anyone was paid. Also: 9 of 40 full-quarter Seniors averaged under their own $49k bar Jun–Aug.
Missing pay run no July 2026 commission as at 14 Sep 2026 Ten commission runs in 52 weeks. July earned $209,466 on the booker sheet; August's was paid and matches to the cent. Unresolved — a tab never filled in, or a month not paid. Check Paycom itself.
Complaints ~19% of accounts as at 19 Aug 2026 Product is the biggest subject (36%) and escalates least (12%); misled/pressured is a third the volume and escalates ~44%. Open complaints over a year old: 3,874 holding $6.6M. Complainants who got a credit escalate 16.9% against 26.3% who did not — but we credit the ones we can settle, so some of that is selection, not effect. /issues and /complaints share one scan cache; another session retuning it moved escalated 1,921 → 1,622 in an evening.

Iconic

FigureValuePeriodBasis & sourceRead it this way
Iconic payments $7,490 collected 2026 to 13 Jul 60 plans (17 active / 30 overdue), $5,745 owed, 88 people, 6 chargebacks ($1,500) and 6 refunds ($650). Net kept $6,840. Iconic is Florida-only and sits INSIDE the Florida Square merchant — it is not a separate account. Neither Iconic location is in city_config.json, so every report built off the config is blind to them.
Iconic Recurring's decline rate 91.8% as at 8 Sep 2026 183 attempts, 15 completed. Next worst location is Recurring NYC at 64.1%; the best is Boston Deposits at 12.9%. It is the only one of 32 locations missing CREDIT_CARD_PROCESSING — every sibling Recurring location doing the identical job carries it. Monthly success has decayed every month since launch: May 75.0% → Jun 17.7% → Jul 9.5% → Aug 6.7% → Sep 11.4%. $19,400 of failed attempts against $1,630.55 collected in five weeks. The API gives no history — read it in the Square Dashboard. No Square account is shut.

Figures that have been quoted, were wrong or misleading, and were corrected. Each one reached Neil before it was caught. If you find yourself about to say one of these, stop and read the correction.

The claimVerdictWhat is actually true
"Ad spend nearly doubled — +94% Mar→Jul 2026" WRONG It is +14% ($682k → ~$780k). The baseline was built from the three feeds that happened to be loaded and was Alan alone — Boost ($651k Jan–Jun) and Lead Pronto ($570k) were missing entirely. An incomplete baseline read as an efficiency collapse. Ad spend has stayed ~20% of revenue.
"Step-down retries convert 77% vs 43%" MISLEADING Asking for MORE than the failed amount converts at 73.5% — just as well as the smallest step-down. If shrinking the amount were the mechanism that could not happen. The gap is human engagement, not arithmetic.
"Worked declines recover 72% vs 3% untouched" CIRCULAR A customer's recovery payment is itself "an attempt within 21 days", so worked→recovered is near-tautological. Use the 21 Aug sweep (25%) for a conversion rate and the historical decay only as a RATIO.
"re-presented" · "retry" · "retried" · "retry rate" BANNED WORDS They all imply a machine did it and nothing here does. Write "chased by a collector within 10 days", "never chased at all", "when a collector got hold of them it worked 44% of the time". Applies in replies, on pages, in CSV columns, in commit messages and in variable names.
"58% of debtors are engaged" (6,706 replied) LIFETIME FLAG The reply flag never expires and 4,551 of them last spoke over 90 days ago. The live figure is 8.3% — 968 accounts.
"The debt reply rate halved, 48.5% → 21.1%" MIX EFFECT A first-month conversation answers at 51–57% and has not moved in a year. The carried-over pile grew twelvefold and answers at 12–13%, so the blend falls on its own. Neither segment changed.
"The collection rate collapsed 55.9% → 39.8%" MIX EFFECT Live payers held at ~66–71%; the dead-but-still-billed pile doubled and dead share of billing went 36.6% → 53.7%. Nobody performed worse.
"The Blue Rooms booking rate collapsed 9.3% → 5.9%" MIX EFFECT KIDSX never fell — 8.62 → 8.07 → 8.41 → 7.61 per 100. KX (Google kids) went 0 → 7,264 leads at 2.12 per 100 and dragged the blend. Never quote a blended Blue Rooms booking rate without splitting KIDSX from KX/GX.
"19 people are overpaid on their recurring, $2,576, $245,841 standing liability" CRM ARTIFACT Both figures were ledger artifacts. Real answer ~7 people, ~$157, and even that needs a Square-side confirmation. The CRM over-records recurring payments by 1.7–2.8% a month (~73–118 phantom lines on ~4,300) — Square charged once, the CRM recorded twice. Four separate ways the ledger lies about this, all of which must be handled together. Do not build an /overpaid report off the ledger.
"96 bookers" NOT A HEADCOUNT It is everyone with turnover in ANY of twelve months who also drew Paycom pay. 35 left during the year; the team is the 61 on the August sheet and only 38 were there all twelve months.
"Available leads: 5,000" A PAGING CAP pullScreenData hardcodes toRow: 5000, so /lead-performance prints a cap as if it were a count. The real figure is 8,625. Any round 5,000 there means capped, not measured.
"7,259 fresh leads left to distribute" WRONG GRAIN Classified by distribution POOL NAME, and N1N / CMN / 4AB / …R leads sit inside fresh-named pools. True fresh stock was ~3,500 with N1N alone at 3,609. Fixed 28 Aug 2026.
/missed-payments "Miss #" NOT A MISS COUNT It parses the recurring period SEQUENCE out of the invoice number. Right on only 12 of 41 Boston rows, and wrong in both directions. The 1st/2nd/3rd+ buckets the escalation logic keys off are noise. Still unfixed.
"$8.49M of July exposure" DOUBLE-COUNTED Real figure $6.56M. CANCELED invoices are not debt (+$1.52M of fake arrears, 834 fake misses) and exposure must be counted per CUSTOMER once — summing per row re-adds the whole balance for anyone who missed twice.
"Recovery is only 5.6%, so chasing adds almost nothing" WRONG CONCLUSION 5.6% is recovery on the original invoice only. Collectors take payments over the phone as SEPARATE payments and never touch the failed invoice's status, so they are invisible to an invoice-status view. Find them via entry_method: KEYED across EVERY location — July 2026 was 4,002 keyed payments, $517,444, 22.8% of the month.
The :30 afternoon no-show pattern DEAD — do not repeat as live It ran +6 to +10 points worse than :00 from Sep 2025 to Mar 2026 and has been flat or negative every month since April 2026. It was Houston and Dallas only, and inside those it was individual bookers. Never the clock.
The 24-month CPL of $8.19, quoted bare DESCRIBES NO MONTH Inside it, Mar 2025 was $4.81 and Apr 2026 was $12.55. Always quote the period, and say whether it is per lead or per FRESH lead — the two are ~50% apart.
The 34.22% no-show blend, quoted as current STALE BY DESIGN The last three complete months are 29.73% and falling.
"$33.9M of zombie money outstanding" 88% DEAD HISTORY 47,571 all-time series stopped billing long ago. The live book is $4.18M across 2,614 still-billing series.
A "TRANSACTION_LIMIT" spike read as credit stress CHECK THE NOTES One customer's nine consecutive TRANSACTION_LIMIT declines were an emigration — she left the USA and the US account behind the card was no longer funded. The card stayed alive and kept answering. A "card at its limit" code is not always a maxed-out borrower.
Unpaid Square invoices read as live debt ARTIFACT A client who paid in full still showed $1,724.95 across 11 UNPAID invoices — eight stale ones nobody ever cancelled plus two superseded. A paid-in-full client will look like a $1.7k debtor to anything that trusts Square invoice status.

14 feeds produce every number on this page. The third column is the part that bites — each of these has silently corrupted a figure at least once.

FeedHow it is pulledWhat it gives, and what it does wrong
CRM daily sales crm.pullDailySales One row per client who sat with a viewer. Carries Package Price, Total Deposit and the marketing code. The money feed — revenue, deals, rev/deal, cash up front, close rate. Blank Package Price = someone SEEN who bought nothing, which is what makes a close rate possible. Carries NO date column; a day-level distribution has to be joined back through the diary seat.
CRM ROI report crm.pullROIDatareport-roidatalib.php Aggregated server-side per marketing code, so a whole month is ONE request and nothing truncates. Leads, bookings, showed, $ sold, paid up front — and real per-code ad spend for Jan 2024 → Jan 2026 only. Keyed to the LEAD date. Reaches back to Apr 2023, where every lead cache on disk stops at Dec 2025. Dates are MM/DD/YYYY — DD/MM does not error, it silently reinterprets.
CRM leads in crm.pullLeadsIn Row-level: date in, marketing code, name, age, sex, email, phone, address. It truncates the tail of a long range silently — chunk it. No supplier or distribution-group column; classify by code.
CRM Debtor Ledger pull_debtor_ledger.jsledger.json Per agreement: sale total, deposit, finance due, total paid, credits, balance. Financed sales only — paid-in-full sales are in daily sales instead. studioid is required and takes ONE studio at a time, 14 studios × 2019→now ≈ 112 posts, ~5 min.
CRM finance schedules PaymentUIClass.loadByBookingschedules.json The ONLY source of payment DATES. One line per attempt: payment_debit taken, payment_declined never collected, payment_credit a reduction. Cold backfill is ~59k booking fetches, over an hour.
CRM diary feed lib/diary.js, off bookingcalendar.php One row per SEAT. Capacity = A+N+I+L, never the raw 24-hour grid (about half is C because the studio is shut). arrived carries Y / S (no-show) / null (still forward). The confirmation flag Y/H/N/A is decoded from eventRender(). Carries no address — distance needs a name join to the lead record.
CRM booking notes the allergies field of BookingUIClass.load The whole email thread, both sides pasted in, plus collector notes. Booking id = the order reference minus its letter (B2088458 → 2088458). This is where complaints, reduction asks, paydays and contract disputes actually live. internalnotes and other are usually empty.
Square payments /v2/payments, per location Defaults to the DEFAULT LOCATION ONLY — loop the location ids or it undercounts (47k against a real 151,318). Decline codes live on the PAYMENT, not the invoice: card_details.errors[]. entry_method: KEYED = a human typed the card in.
Square orders /v2/orders/search + customer_filter Attribute payments to a person through ORDERS, never by filtering /v2/payments on customer_id — the orders path found every row both times it was tested; the payments filter lost 6 of one customer's 13. People hold duplicate Square customer records, and some failed payments carry no customer_id at all.
Square attempts file Reports/finance_cohort/square_attempts.jsonl Every card attempt since Jan 2025, all six cities and ~30 locations, with reason codes. APPEND-ONLY — dedupe on payment id or Aug 2026 doubles (it held 16,446 repeat rows). The older reduction_recovery/square_payments.jsonl is unusable for 2025: its 2025 side is under-pulled tenfold and it never stored the reason codes.
Square invoices /v2/invoices, per location A suspiciously round total means a page cap. Five of six cities returned exactly 20,000 and hid 73% of the book; real totals are NY 165,682 · Texas 87,342 · Florida 84,581 · Boston 31,576 · Nashville 20,193 · Chicago 8,238. Throw on a leftover cursor, never break. CANCELED / REFUNDED / DRAFT are neither a hit nor a miss. The API cannot end a recurring series at all — that is Dashboard-only.
Debt GHL location pcTyOadbzBqZO7v3cbwn Not the one in ghl_config.json. The join key into the money is companyName, which a workflow stamps with the booking reference — /opportunities/search returns the whole contact inline, so one sweep gives both the card and its money key. Voice calls are not in the thread.
USA Models dashboard register.usa-models.com The Blue Rooms ad-spend and CPL source. Parse the dashboard's OWN per-city daily table — reconstructing spend from the leads and spend endpoints undershot kids by ~30%, because the child/adult split is opaque. Session and Cloudflare-IP locked, so Render can never reach it. Both cost logins have been lapsed since ~23 Jul 2026.
Payroll sheets two Google Sheets, gviz CSV export "Payroll Studio 1 - 2026" (a tab per month: level, turnover, bonuses) and "Payroll for Paycom" (a tab per fortnightly run: basic salary, actual pay, commission, SPIF). The monthly tabs carry LEGEND tables in the booker columns — filter every aggregate to turnover > 0, or $2.5M of phantom bonus lands in December. Individual salaries and the Insurance tab (DOB, SSN, medical) stay in gitignored data/payroll_private/ and must never be published.

Questions that look answerable and are not. Saying UNKNOWN is the correct answer to every one of these — borrowing a nearby number to fill the gap is how three of the corrections on the previous tab happened.

The questionWhy notDetail
The cost of delivering a shoot NOT HELD ANYWHERE Studio, photographer, viewer commission, retouching, product. It is step 2 of the lead-affordability model and the reason every ceiling on this page charges full cost, which is conservative. Related and equally unknown: what share of the $1.15M monthly non-ad cost is VARIABLE — at 50% variable, contribution per lead is ~$37 not $24.84 and every ceiling rises ~49%.
A blended company-wide cost per booking NO COMPLETE MONTH There is no month with complete all-supplier cost. Alan has nothing after 23 Jul 2026 and $0 in the CRM since Feb 2026; Lead Pronto has four sampled weeks ever. Blue Rooms is the only supplier with continuous coverage — quote it as Blue Rooms, never as the business.
July and August 2026 ad spend INCOMPLETE — EXCLUDED, NOT ESTIMATED Jul 2026 is 96.3% covered (Alan missing 8 days, ≈$27,348). Aug 2026 is 0% — Alan has no cost data at all against 8,203 leads, and Blue Rooms is missing 11 days (≈$160,625). The known $416,197 is a FLOOR, not a month. Cause: the lapsed logins. Only Neil can fix it — entering passwords is a hard no.
Cost per lead for a PMax segment NOT ATTRIBUTABLE The dashboard attributes spend only on "All Sources"; the per-source tabs return leads but $0. So spend splits kids vs adult but not PMax-within-those. Conversion and revenue per lead ARE computable; segment CPB is not.
What an automated retry would convert at NO BASELINE EXISTS We have never run one. Write UNKNOWN and do not borrow a number from the collector data, which is all human conversations. A trial needs a no-retry control arm.
Why studios closed days in September 2026 AN OPS QUESTION Studio-days traded 83 → 77 and the days that did trade were shorter, 15.8 → 14.1 seats. The reason is not in any feed.
Whether the chair cut or demand moved first UNDECIDABLE FROM THIS DATA Fill did not move, which is consistent with both. All that can be said is there is no pile of unmet demand pressing on the reduced diary.
4AB attribution UNRECONCILED report_roi_combined.js bills it to recycled; lib/suppliers.js bills it to Alan. Pre-Jan-2025 recycled volume is 100% 4AB, so every recycled-history table carries an excl-4AB line to work around it.
The Sep–Oct 2025 decline inflection NOT DIAGNOSED Blocked-card declines stepped 8.0 → 18.9 → 22.9 per 1,000 attempts in two months, and invalid-account and insufficient-funds stepped with them — inside Neil's own "changeover" window. Whatever changed then is the thing to find.
Texas 2025 finance written +5.32% vs the manual sheet Ledger $7,216,620 against the sheet's $6,851,841. Seven of eight city-year checks tie within 0.4%; this one does not. Boston 2025 cash is also −6.8%.
CRM paymentsmade vs Square completed payments DIFFERS PER PERSON Two clients checked in detail read 12 vs 11 and 10 vs 6. A discount posted as a payment line is the likely explanation in one case but it was not proved. Say so if it comes up rather than picking whichever number suits.
Whether outreach helps anything but chargebacks UNDERPOWERED Only ~a quarter of who was worked can be matched, because half the GHL contacts carry neither phone nor email. The chargeback signal is ~1.5 standard errors — suggestive, not proven.