Day 1 · Friday 5 June 2026 · Day 2 · Saturday 6 June 2026 255 seats sold · 12 customers · ₹4.43L media
Generated 18 Aug 2026 from 255 customer records,
284 payment records,
179 attendance sessions and
25 live ad creatives
across 4 connected systems. Every figure below is traceable — hover any underlined number for its source.
The answer
One customer was 57% of batch 26.
The batch brought in ₹2,64,537
against ₹4,43,274 of Meta spend —
a shortfall of −₹1,78,737. Of that revenue, ₹1,50,000 came from one person — who arrived through a single December ad.
Remove them and batch 26 loses ₹3,28,737.
The business cannot currently see this while a batch is running, and it cannot see who that person is until after they have paid.
01That customer is traceable — just not from the payment record.
Only 2.7% of payments carry the ad tag,
but 100% of landing-page sessions do,
and 96% of payments carry the session id that links them.
Making that join — which this database has never made — names the ad:
VS-36, "So you didn't do…", created 31 December 2025, produced the ₹1,50,000 customer and ₹1,98,604 of batch-26 revenue.
The bridge table built for exactly this join has never had a row written to it.
0228 people watched 90 minutes or more of day 2 and bought nothing.
They are the warmest unconverted people in the batch — and no list of them exists today.
28 of 61 day-2 attendees.
0369 people came on day 1 and never came back.
Day 2 is where every rupee above ₹297 is made — all 12 customers attended day 2.
More than half the day-1 room left before the money was ever discussed.
Exhibit 1
Batch 26 collected ₹2.65L against ₹4.43L of media — and one payment carried the batch.
Caveat — spend attribution
Meta spend is continuous across batches. The ₹4,43,274 is everything spent in the window batch-26 seats were sold (27 May – 5 Jun);
part of it was already seeding batch 27. Treat it as the honest upper bound, not a clean allocation.
A connected system attributes spend per seat and removes this ambiguity entirely.
What we would do for batch 27
01
Put a name against every rupee before batch 27 opens.
One line of tracking on the payment page carries the ad, hook and angle through to the payment record. From batch 27, the question
"which ad produced the ₹1.5 lakh customer" has an answer instead of a shrug.
₹4.43Lspend made legible
02
Call the 28 people who stayed 90+ minutes on day 2 and did not buy.
Highest measured intent in the batch. They sat through the entire offer and are, as of today, unworked — the list has never been produced.
28 callswarmest in batch
03
Defend the day-1 to day-2 gap — it is where the money is decided.
118 came on day 1; 61 returned. Every one of the 12 customers was in the day-2 room. At batch-26's own rates, each additional person
held to day 2 is worth ₹1,377 excluding the flagship sale, or ₹3,836 including it — the spread is the point: one outlier moves the average by 3×.
₹1.4–3.8kper person held
Method & confidence
MeasuredSeats, payments, attendance minutes and ad spend — read directly from Razorpay, Zoom and Meta. No estimation.
DerivedBuyer identification by phone match between batch-26 participants and captured payments ≥ ₹1,000 from 27 May 2026 onward.
EstimatedPer-person day-2 value applies batch 26's own conversion to marginal attendees. One batch of evidence, and a mean heavily skewed by a single ₹1.5L sale — both bounds are shown rather than one flattering number.
RecoveredAd-level attribution, by joining payment → landing-page session → creative. Absent from the payment record; reconstructed at a 95.8% match rate from data already held.
5,731 people opened the page. 255 paid. The other 5,476 left no trace of who they were.
The page knows which ad every visitor came from — 94% carry the tag. It just never learns their name unless they pay.
Exhibit 3
The page converts 1 visitor in 22. Nothing is known about the other 21.
Opened the page
5,731
100%
Carried an ad tag
5,392
94.1% — we know their ad
Paid for a seat
255
4.45%
Left, unidentified
5,476
no name, no number, no follow-up
94%Sessions carrying the ad tag
4.45%Visitor → seat
20Seats bought outside the page
2Seats on a broken tag
Found while writing this report
Two seats arrived tagged {{ad.name}} — a tracking placeholder that never filled in.
Small today. It is the kind of silent breakage that goes unnoticed for months, and a connected system flags it the same day.
What this changes
The 5,476 who left are not strangers — the page already knows the ad and the moment. Only the identity is missing.
The move
Capture the number before the payment step. A person who abandons at payment becomes a person you can message.
Honest note
Not every visitor should be chased. But today the choice does not exist — the list is simply not kept.
03Reminders · WhatsAppSample — this stage records nothing today
Between paying and showing up, 137 people go quiet. Nobody can say why.
There is no messaging table in the connected database. Reminders go out, but delivery, reads and replies are never stored — so the single biggest drop in the business is unexplained. Below is what this page looks like once it is recorded.
Exhibit 4 · sample
The reminder funnel — and the one number that predicts show-up.
Message funnel
255 paid seats · 4 reminders each
Messaged
255
Delivered
248
Read
171
Replied
44
Showed up day 1
118
Show-up rate by engagement
The pattern the business cannot currently see
22%
48%
79%
NEVER READREADREPLIED
A person who replies even once is 3.6× more likely to attend.
That makes "did they reply?" the earliest warning signal in the funnel — days before the webinar.
Today
Every seat gets the same message. No one knows who read it, who replied, or who went silent.
Once recorded
The quiet ones surface while there is still time — a day before, not in a post-mortem.
Illustrative
These figures are a worked example, not measurements. The shape is typical; your real numbers replace them from batch one.
The coach holds the room for 100 minutes — then loses three-quarters of it in the last 35.
Reconstructed from every join and leave in the 6 June session. This is the shape of the webinar itself: not how many came, but when they left.
Exhibit 6
People in the room, minute by minute. The room takes 35 minutes to fill and 35 minutes to empty.
35 minTo reach a full room
71%Still there after 100 more minutes
−75%In the final 35 minutes
1.7×Joins per person — people drop and rejoin
The good news
Between minute 35 and 140 the room barely moves — 45 down to 32. The teaching holds. That is a strong session by any standard.
The problem
The last 35 minutes empties the room. That is where the offer lives. The audience stays for the teaching and leaves for the ask.
The other 35
A third of the session is spent filling up. Everything said before minute 35 is heard by fewer than half the room.
What is measured, and what is not
The curve is exact — built from every join and leave timestamp in the session. What was being said at each minute is not recorded anywhere,
so the segment names on the next page are inferred from the shape of the curve, not from a transcript. Q&A and poll capture are switched off in Zoom;
turning them on costs nothing and would make the next page measured instead of inferred.
The one question this page cannot answer
Of the 24 people who left during the offer — did they leave at the price, at the bonus stack, or at the close?
That is a two-minute difference in the script worth more than any ad change in this report. It needs the recording timestamped against the curve, which is a first-batch deliverable.
Exhibit 8 · sample
Four coaches, four rooms. Same funnel, different outcomes — this is the comparison that does not exist today.
AkshatThu–Fri · 7–9 PM
Show-up44%
Day 2 return49%
Close rate17%
AarzooWeekends · 7–9 PM
Show-up52%
Day 2 return58%
Close rate23%
DeepakFlexible · 7–9 PM
Show-up41%
Day 2 return44%
Close rate15%
SiddharthSun–Mon · 11 AM–1 PM
Show-up47%
Day 2 return51%
Close rate19%
Coach names, slots and preferred days are real, from your own roster.
The three performance rows are a worked example — today no batch is tagged to a coach, so this comparison cannot be produced at all.
Once batches carry a coach key, this table builds itself and the differences become teachable instead of anecdotal.
Why it matters
Four coaches run the same funnel. If one holds day 2 nine points better, that is a script other three can be taught — worth more than any media change.
What is missing
Batches are not tagged to coaches, Q&A is not captured, and no recording is timestamped. All three are switch-on-able.
First deliverable
A per-coach, per-batch scorecard on the same page as the room curve — so a weak session is visible the next morning, not next quarter.
05Post-webinar salesSample — this stage records nothing today
The stage where every rupee is closed is the only one with no records at all.
₹2.6 lakh of this batch was decided on phone calls. The call table in the database holds zero rows. Who was called, who answered, what was said, who was never reached — none of it exists.
0
Call records in the system · batch 26 and every batch before it
Exhibit 6 · sample
What this page shows once calls are logged.
Call funnel
61 day-2 attendees
Worth calling
61
Actually called
44
Connected
31
Bought
12
Never called
17
By representative
Calls made · sales closed
Rep
Calls
Closed
Rate
Representative A
18
6
33%
Representative B
15
4
27%
Representative C
11
2
18%
Total
44
12
27%
With this table, the question "why did this batch close less?"
stops being an argument and becomes a number — fewer calls made, or the same calls converting worse.
Today
Sales performance is reported by memory. Nothing can be checked, compared, or coached against.
The 28
Twenty-eight people watched the entire offer and bought nothing. No one knows if they were ever called.
Illustrative
Rep names and figures are a worked example. The structure is what matters — real numbers land here from batch one.
Every stage records something true. No two stages share a key.
This is the whole problem in one line — and it is a plumbing problem, not a data problem.
Exhibit 7
One customer, five systems, five facts — and no way to put them in one sentence.
Stage
What it knows about the ₹1.5 lakh customer
Status
Ads
A click happened on VS-36, 31 Dec creative
Recorded
Landing page
A session arrived carrying that ad's tag
Recorded
Payment
A person, a phone, ₹98 — then ₹1,50,000
Recorded
Webinar
Attended both days, watched to the end
Recorded
Reminders
—
Not recorded
Calls
—
Not recorded
One sentence about this customer
Assembled by hand, over two days, for this report
Never before
What phase one does about it
01
Join what already exists.
Ads, landing page, payments and webinar are all recorded today and never connected. Joining them is build work, not new tracking — and it is what recovered VS-36 for this report.
4 of 6stages, immediately
02
Start recording the two blind stages.
Reminders and calls produce nothing today. Both are straightforward to capture, and both sit exactly where the money is decided.
2 stagesfrom blind to visible
03
Send revenue back to Meta.
Once a rupee can be traced to a creative, the ad platform can be trained on customers instead of registrations. This is the compounding part.
₹4.43Lspent on better signal
Method & confidence
Real dataPages 1, 2, 3 and 5 — ads, landing page, payments, attendance. Read directly from Meta, Razorpay, the landing page and Zoom. No estimation.
SamplePages 4 and 6 — reminders and calls. These stages store nothing today, so the figures are a worked example showing the finished page. Marked on every exhibit.
DerivedCreative-level revenue via razorpay_transactions.session_id → landing_page_sessions.session_id — 95.8% match rate. First time this join has been run.
CaveatMeta spend is continuous across batches; the ₹4.43L window is an honest upper bound. Buyer counts per creative are small — directional, not settled.