Five numbers. Three moves. No guesses.

That’s the weekly readout: the analyst that ships with OpenSubs, put to work. It reads the same numbers your dashboard reads, ranks the three moves worth the most revenue, and before the page ever reaches you, a second agent re-derives every headline, hunting for the one that’s wrong.

It runs the Growth Program’s five motions (keep, save, revive, acquire, convert), shipped as open files you own, on the frontier model of the day.

Monday morning, already answered.

Ask for the readout and you get a single page: the five numbers that run a subscription P&L, each with its week-over-week delta, and three moves ranked by the revenue at stake: each tied to the Growth Program page that prescribes it. Where a delta has a provable cause, the cause is named; where it doesn’t, the readout says “cause not established” because an analyst who narrates is a horoscope with a spreadsheet.

(objection killed: “I don’t have time for another dashboard”; the analysis comes to you, pre-ranked, on one page)

Every answer ends in a number and a move.

Which cancel reason costs the most money. What the lapsed pool is worth, priced with your own cohort curves. Which month retention falls off a cliff, so the save lands one billing cycle before it. What the next 30 days do if you change nothing at all. Connect the rest of what you run (Shopify, Klaviyo, your Meta and Google ads, Triple Whale), and it joins spend to the LTV your subscribers actually earn: CAC by channel, computed both ways attribution can be counted, with both answers on the table.

(objection killed: “generic AI doesn’t understand subscriptions”; this one runs a subscription method, and every answer feeds a motion)

It sees your numbers. It never sees your customers.

The wire is read-only by construction: the analyst sees exactly what your dashboard sees and cannot write a thing back. Names, emails, addresses: redacted before a single row reaches the model, so it can tell you precisely what churn is doing and still couldn’t tell you one customer’s name.

(objection killed: “I’m not piping customer data into an AI”)

Cross-examined before you read it.

Every number ships with its receipts (which read, which period, which scope), and a second, adversarial agent re-derives every headline from an alternate source before the page ships. Where two reads disagree, you get both numbers and the reason; where data is missing, you get the gap by name: a gap is a finding, never an estimate dressed up as a number.

(objection killed: “AI makes things up”; the one objection no one else in the category will touch)

It drafts. You press send.

Put a finding to work and the analyst stages the win-back in Klaviyo (segment built, flow assembled, offer copy carrying the very number that justified it), then stops, with the segment size and the value math attached. Status: DRAFT. A hard guard on the wire blocks sends, launches, and budget changes, and findings that need platform work leave as a written brief instead: the analyst finds, the AI Engineer fixes, you decide.

(objection killed: “I’m not letting an AI touch my customers or my ad account”)

The data was always yours. Now the analyst is too.

Ask it the Monday question. Read the page. Argue with it if you like: it brought receipts.