MRR ?Monthly Recurring Revenue — normalised monthly value of active subscriptions, net of discounts, trials excluded. This is the number to grow. Sparkline = daily net revenue, last 30 days.
--
New Signups (7d) ?Accounts created in the last 7 days, split into free signups vs. those who started a trial. Trials are your pipeline.
--
— free · — trial
Active Trials ?Users on a free trial right now. These convert (charge) soon — make sure they're actually logging in and using the product, or they'll cancel.
--
Open Support Tickets ?Coming once the support inbox is built into TTT. Oldest ticket will flag red if over 20h, against your 24h SLA.
—
support inbox: coming to TTT
Needs Action Today
Trials converting ≤ 3 days ?Trials that will charge the card within 3 days. If they're not logging in, reach out now — a surprise charge causes disputes and churn.
Loading...
Failed Payments ?Subscriptions past due from a card decline. These are about to churn but are fixable today — email the customer to update their card.
Loading...
Cancellations (7d) ?Who cancelled this week and their tier. Watch for patterns — same tier, same timing, or right after a charge.
Loading...
Revenue — Last 90 Days ?Net Stripe revenue by month over the last 90 days. Your single trend to watch daily. Everything deeper lives on the Statistics page.
Loading...
Statistics
Revenue
Funnel
Acquisition
Product
Cohorts
Free → Paid Conversion ?Share of all users on a paid tier. Benchmarks (free trading tools): GOOD above 4%, OK 2–4%, LOW under 2%. Freemium products often sit 1–5%.
--
LTV — Pro ?Estimated lifetime value of a Pro customer (ARPU ÷ monthly churn, ~5% assumed). Should be at least 3× your cost to acquire one.
--
LTV — Elite ?Estimated lifetime value of an Elite customer. Higher tiers should show materially higher LTV or the pricing tiers aren't doing their job.
--
Rolling 12-Month Revenue vs A$75k GST Threshold ?Total net Stripe revenue over the last 365 days against the A$75,000 GST registration threshold. Once you cross it you must register for GST. Watch this as you scale.
MRR by Tier ?Current monthly recurring revenue split by tier. Free is excluded — it makes no revenue.
Churn by Month ?Cancellations per month, split into voluntary (chose to leave) vs failed-payment (card declined — recoverable via dunning). Monthly benchmarks: GOOD under 5%, OK 5–8%, BAD over 8% (under ~3% is excellent). Lots of failed-payment churn means fix your card-retry flow.
Refund Rate by Month ?Refunds ÷ charges each month. GOOD under 1%, watch above 2–3% — high refunds signal expectation or quality problems, and hurt your Stripe standing.
Signup → Trial → Paid → Active (current snapshot) ?How users flow from signup to active paying customer, with drop-off at each step. This is a current-state snapshot from your DB; true time-based cohort funnels arrive once PostHog events are wired.
Per-channel funnels (paid vs organic conversion) unlock once Meta Ads + PostHog are connected.
Signup Source ?Where signups came from. Affiliate = arrived with a referral code; Direct = everything else. Meta / organic split unlocks when Meta Ads + UTM tracking are wired.
Meta Ads — not connected
Spend vs. trials vs. paid, CPC/CPM, ROAS and campaign controls appear here once you add your Meta Business ID + access token. Tell me when it's set up and I'll wire it.
DAU ?Daily active users — signed in within the last 24h.
--
WAU ?Weekly active users — signed in within the last 7 days.
--
DAU/WAU Stickiness ?DAU ÷ WAU — how many weekly users show up daily. GOOD above 0.5 for a daily-use tool like a trading journal, OK 0.2–0.5, low below 0.2.
--
Trades Logged (7d) ?Total trades logged across all users in the last 7 days. Rising = healthy engagement.
--
Setup/Confluence playbook completion, Auto-Logger connection rate, and Risk Desk usage are feature-usage metrics — they need PostHog events (or feature flags in TTT emitting usage). Wire PostHog and I'll light these up.
Retention by Signup Month ?Each row = users who signed up that month, and how many are still active (signed in within 30 days). True day-7/30/60/90 retention curves need historical activity events (PostHog); this is the best available from last-seen data.
Users
Recent Signups (last 20)
ID
Email
Name
Tier
Joined
Last Seen
Stripe
Actions
Announcements
New Announcement
Pick a template or start typing...
Loading...
Payments
Active Subs
--
Cancelled (30d)
--
Revenue by Month ?Monthly revenue from Stripe charges. Shows the last 6-12 months depending on data availability.
Loading...
Recent Charges
Customers
Invoices
Coupons
Dunning ?Failed-payment queue: subscriptions that are past due and open invoices Stripe is still trying to collect. Chase these to recover revenue.
Date
Amount
Customer
Status
Description
Actions
Customer ID
Email
Name
Created
Balance
Click to load...
Invoice #
Customer
Amount
Date
Status
Click to load...
Past-Due Subscriptions
Customer
Amount
Status
Period Ends
Actions
Click Dunning tab to load...
Open Invoices (collection in progress)
Invoice
Customer
Amount Due
Attempts
Next Attempt
—
Name
% Off
Duration
Created
Click to load...
Notes & Tasks
Loading...
Tools
External Links ?Quick links to your external dashboards and services. Opens in a new tab.
Stripe Tools ?Search and manage Stripe data directly from the admin terminal.
Search Customer
View Subscription
Active Disputes
Products & Prices ?Your Stripe product catalog and pricing configuration.
Products
Name
ID
Active
Created
Click Load to fetch
Prices
Product
Amount
Interval
Active
ID
Click Load to fetch
Settings
Maintenance Mode ?When ON, users see a maintenance page instead of the app. Use during deployments or emergencies. Toggle OFF to restore access.
Site accessible to users
Site Configuration ?Key-value config stored in Supabase. TTT reads these to control behaviour like maintenance mode, custom messages, etc.
Set Config Value
Feature Flags ?Toggle features on/off across the platform. These are stored as site config values that TTT checks at runtime.
System Health ?Shows which environment variables are configured on the server. All should show SET for the admin terminal to work properly.
Loading...
Live Monitors ?Read-only health checks: database size, Stripe webhook delivery, and email/rate-limit usage. Blocks show "not configured" until you add the relevant API keys as Cloudflare env vars.
Loading monitors...
Audit Log
When
Actor
Action
Target
Details
Loading...
Compliance
Data Deletion Requests ?Right-to-erasure requests. Each has a 30-day legal deadline. Fulfil by deleting the user (opens the user), then mark completed.
Loading...
Data Access / Export Requests ?Data-portability requests. Each has a 30-day deadline. Export the user's data (JSON), send it, then mark completed.