Soapy Noble Portal

DRB Patheon Data API · 8 physical + 1 online
checking… OAuth sites loaded
Today
7-day total
30-day total
Active members
Monthly recurring
Annualized revenue
projected

📊 Ops brief

Loading executive summary…

Daily revenue — last 30 days

Stacked: wash sales (blue) + membership recharges (green). Today's bar is partial.

Cumulative revenue

Solid = actual. Dashed = on-pace at trailing average. Above dashed = ahead.

Site leaderboard — last 30 days

Sorted by 30-day revenue. Trend column compares last 7 days to prior 7 days.

Site deep-dive

Click any site in the grid below for a detailed performance view.
Loading sites…

Date range & filter

Total revenue
Transactions
Sites with activity

Revenue over time

Revenue by site

Pick a date range and click Load.
Active members
Monthly recurring revenue
New (30d)
Churned (30d)

MRR by site

Subscriber revenue per location. Line overlay = active member count.

MRR fleet share

Each site's % contribution to total monthly recurring.

Member flow — last 30 days

New signups (green) vs churned plans (red), per site.

Members by site

Loading members…

Year-over-year comparison

Compare a calendar month against the same month in prior years. Useful for spotting seasonal patterns and YoY growth/decline beyond just last 30 days. Each historical month walks once and caches for 24 hours.
Pick a month and click Compare. First-time scans of historical months take ~3-5 min each; results cache for 24 hours.

Week selector

Pick a Saturday and click Generate.

Campaign analysis controls

Washes/mo comes from real DRB PlanUse transactions (last 24 months). Use the override for what-if scenarios (set to any positive integer to test a different assumption). First full run walks ~123K customers and ~500K+ transactions (15–25 min one-time). Wash data caches 4 hours; cohort data 10 minutes.
Pick a date range and click Analyze. Try Jan 2024 → today for full history, or Feb–Mar 2026 to focus on your most recent 99¢ campaign.

Estimated P&L — last 30 days, annualized

Revenue is pulled live. Enter your expense assumptions on the right and the P&L recomputes instantly. Numbers persist in your browser. Not GAAP-audited — for directional planning only. When QuickBooks sync ships, this tab will pull real expense data and the estimator becomes the audit baseline.

Profit & loss (GAAP-style)

Revenue (TTM annualized)
    Wash sales
    Membership recharges
Gross revenue
Less: COGS (variable cost per wash × volume)
Gross profit
    Gross margin
Less: Labor
Less: Rent
Less: Utilities
Less: Marketing
Less: Other OpEx
EBITDA
    EBITDA margin
Less: D&A (depreciation + amortization)
Less: Interest
EBT (pre-tax income)
Less: Taxes (effective rate × EBT, if positive)
Net income

Assumptions

Defaults are placeholder estimates. Replace with your actuals from QuickBooks. Inputs auto-save in the browser per assumption set.
EBITDA (annual)
Gross margin
% of revenue
Implied valuation
EBITDA × multiple
Rev / active member
annualized

Niche stats

Things you wouldn't think to ask but will want to know once you see them. Computed from the same 30-day window as the Dashboard.
Best day of week
Worst day of week
Top revenue site
Hottest streak
Recharge mix
% of revenue from members
Net member velocity
net adds per day, last 30d
Avg MRR / member
blended across plans
Site revenue spread
top vs bottom

Import DRB wash codes

Upload a CSV exported from the DRB SmartCodes portal. Codes are parsed, deduplicated against existing inventory, and imported into the rewards system. The standard DRB format is 3 columns (scan code, display code, base code) with no header row.