Funnel · TIN Jarvis
2026-09-19 · generated 2026-09-19T17:22:34
🧭 Flow board
MRR
$955
Stripe live (paying subs only)
Paying Customers
25
↑ 2 true new paid in last 7d
Net New MRR (7d)
$130
first-paid-with-money invoices only
True CAC (since relaunch)
$819
⚠️ OVER ceiling $310 · $13,118 spend / 16 new paid since 5/3
Anomaly
🟡 GA4 reports 16 conversions in last 30d vs Stripe true new paid = 5 (ratio 3.2×). ✅ DIAGNOSED + IN-PLAN (NOT a new emerge

Weekly Cohort Funnel

Current week + last 2 weeks. Cohort matures over the 7-day trial — current week marked PENDING until full cycle closes.

2026-08-31 → 2026-09-06
✅ COMPLETE
Spend: $519 (real) New MRR: $65 Days: 7/7
StageCountRateCost/event
New Visitors 227
Trial Attempts 0 0.0%
Trials Activated 0
Paid Conversions 1 $519
CC Declines 0
✅ Rachel — $65
2026-09-07 → 2026-09-13
🟡 PENDING
Spend: $814 (real) New MRR: $0 Days: 7/7
StageCountRateCost/event
New Visitors 236
Trial Attempts 0 0.0%
Trials Activated 0
Paid Conversions 0
CC Declines 0
2026-09-14 → 2026-09-20
🟡 PENDING
Spend: $576 (real) New MRR: $130 Days: 6/7
StageCountRateCost/event
New Visitors 187
Trial Attempts 0 0.0%
Trials Activated 0
Paid Conversions 2 $288
CC Declines 0
✅ Colby S. — $65
✅ Melody B. — $65

Stages: visitors → trial attempts (CC entered) → trials activated → paid conversions. Rates show next-stage conversion. Cost-per-event = (30-day trailing ads spend) / (count). All-time benchmark rates (Apr-Jul 2025 peak): visitor→attempt 7.93%, attempt→trial 56.27%, trial→paid 28.38%, visitor→paid 1.27%.

Monthly Trajectory

Month-over-month rollup since marketing relaunch (2026-05-03). CAC trajectory + trial→paid rate trend.

MonthVisitorsAttemptsTrialsPaidSpendCACTrial→Paid
May 2026 791 0 0 3 $2,627 $875
Jun 2026 924 0 0 5 $3,438 $687
Jul 2026 733 0 0 2 $2,189 $1,094
Aug 2026 1,048 0 0 3 $2,990 $996
Sep 2026 590 0 0 3 $1,873 $624

Cumulative averages (post-relaunch window)

Visitors: 4,086
Attempts: 0
Trials: 0
Paid: 16
Visitor→Attempt: 0.0%
Attempt→Trial:
Trial→Paid:
Visitor→Paid: 0.4%

Weekly Breakdown (since 5/3 relaunch)

Flat table view of every week since marketing relaunch — pair with the Funnel tab's cohort cards for at-a-glance scanning.

WeekVisitorsAttemptsTrialsPaidCC DeclinesSpendCACTrial→Paid
Apr 27–May 3 104 0 0 0 1 $71
May 4–May 10 235 0 0 0 0 $591
May 11–May 17 201 0 0 0 4 $679
May 18–May 24 172 0 0 0 5 $541
May 25–May 31 196 0 0 0 5 $744
Jun 1–Jun 7 269 0 0 0 1 $813
Jun 8–Jun 14 201 0 0 0 1 $763
Jun 15–Jun 21 224 0 0 0 3 $868
Jun 22–Jun 28 240 0 0 0 0 $761
Jun 29–Jul 5 219 0 0 0 4 $724
Jul 6–Jul 12 247 0 0 0 1 $866
Jul 13–Jul 19 148 0 0 0 3 $316
Jul 20–Jul 26 139 0 0 0 0 $290
Jul 27–Aug 2 152 0 0 0 0 $331
Aug 3–Aug 9 189 0 0 0 0 $537
Aug 10–Aug 16 304 0 0 0 0 $751
Aug 17–Aug 23 278 0 0 1 0 $635 $635
Aug 24–Aug 30 244 0 0 1 1 $920 $920
Aug 31–Sep 6 227 0 0 1 0 $519 $519
🟡 Sep 7–Sep 13 236 0 0 0 0 $814
🟡 Sep 14–Sep 20 187 0 0 2 0 $576 $288

Channel Performance

Acquisition channel breakdown from GA4 (last 30 days). Per-contact attribution is unsourced — see the banner below.

Where our paid customers came from

⚠️ Not measured — the source was retired, the answer is not "nowhere". Per-contact channel attribution came from HubSpot, which was eliminated on 2026-07-09 (comms-stack decision, ADR 2026-07-06). Attio replaced it as the CRM but its attribution fields are populated on under 10% of records, so they cannot stand in without inventing a channel mix. The replacement is first-party click-id capture at signup, queued as its own item. Until then, read the GA4 table below as directional traffic only, never as "where our customers came from".

GA4 raw sessions/users/conversions (last 30d) — known inflated by bot traffic + cross-domain dupes
Channel (GA4)Sessions (30d)UsersGA4 Conversions
Paid Search 708 496 0.0
Direct 521 422 0.0
Organic Search 77 45 0.0
Unassigned 63 43 16.0
Referral 28 8 0.0
Organic Social 9 9 0.0
AI Assistant 5 3 0.0
Cross-network 1 1 0.0

⚠️ Don't trust these numbers for decisions. GA4 reports raw events including bot traffic (G11 deferred, ~25% non-US sessions), cross-domain duplicates (theinvestnest.com + app.theinvestnest.com may double-count), and the "Conversions" column counts ALL conversion events (trial + signup + purchase), not just paid customers. Per-contact attribution — the thing that WOULD be the real picture — is currently unsourced; see the note above.

Recent Attempts + Activation

User-level activation view (was your Notes column, now first-class). Last 30 days, sorted newest first.

⚠️ Postgres data unavailable: no data
This tab needs DB access — likely IP allowlist for the GHA runner. Local runs work.

System Health

GHA cron status + integration credential health. Catches the "cron silently failed" pattern that surfaced 2026-05-25.

🚨 Reconciliation anomalies (cross-source drift detection)

SeverityCategoryDescription
info reconciliation Stripe vs Postgres reconciliation skipped: connection to server at "investnest-portal-db-prod-cluster.cluster-ro-cfiomvnoetmu.us-east-1.rds.amazonaws.com" (34.227.165.84), port 5432 failed: timeout expired
warning attribution GA4 reports 16 conversions in last 30d vs Stripe true new paid = 5 (ratio 3.2×). ✅ DIAGNOSED + IN-PLAN (NOT a new emergency) — see mrr-funnel-reference.md §2: GA4 'conversions' blends signup + an INFLATED client-side trial event (fires on the checkout button pre-card, not real activation — UI PR #143) + premium; only Stripe true-new-paid is real money. Fix = route Google Ads off the button-click signal (§15 W0.1, gated post-6/6). Re-alarm only if the ratio moves materially.

Anomalies surfaced by data_truth.py reconcile() — automatic cross-check between Stripe and Postgres. Empty = system in sync.

GHA cron health (last 50 runs grouped by workflow)

WorkflowLatest statusLast run (UTC)Next scheduled (UTC)
.github/workflows/business-state-audit.yml failure ⚠️ 5/5 recent fails 2026-09-19 17:10
.github/workflows/customer-health-audit.yml failure ⚠️ 5/5 recent fails 2026-09-19 17:10
.github/workflows/marketing-channel-audit.yml failure ⚠️ 5/5 recent fails 2026-09-19 17:10
DevOps Watchdog — daily loop self-audit success 2026-09-19 16:11 2026-09-20 13:00
Funnel Dashboard — daily regenerate + deploy to Cloudflare Pages in_progress 2026-09-19 17:10 2026-09-20 09:15
Operator Heartbeat — silent-morning detector success 2026-09-19 14:21 2026-09-20 11:15
dream-cycle failure ⚠️ 4/5 recent fails 2026-09-19 11:59 2026-09-20 07:30

Integration credentials (presence check — no values displayed per Standing Rule #6)

IntegrationStatus
Stripe ✅ Configured
ChartMogul ✅ Configured
Attio (CRM — replaced HubSpot 2026-07-09) 🔴 Missing
Intercom ✅ Configured
Anthropic ✅ Configured
Google Ads ✅ Configured
GitHub ✅ Configured
Postgres prod ✅ Configured
Cloudflare ✅ Configured
X / Twitter ✅ Configured