Files
padelnomics/research/PLAN.md
2026-02-19 21:00:01 +01:00

509 lines
23 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Padelnomics — Execution Plan
**Date:** 2026-02-16
**Model:** Zillow for padel — open consumer tool, monetize both sides
---
## Positioning
**One-liner:** The intelligence platform for padel entrepreneurs — plan your facility, get builder quotes, export a bank-ready business plan.
**Business model:** Two-sided marketplace.
- **Entrepreneur side (padelnomics.io):** Open planner drives traffic and engagement. Revenue from paid business plan export (bank-ready PDF). Later: market intelligence subscriptions.
- **Builder/supplier side (padelnomics.io/suppliers):** Pay for qualified leads via credits and subscriptions. Boost upsells for directory visibility. All leads paywalled from day one.
- **Data moat:** Playtomic scraping starts early, compounds daily. Improves planner defaults, powers market research. Eventually becomes its own paid product.
**Languages:** English (default) + German from launch.
**Name:** Padelnomics (final). Keep current branding and colors.
---
## Architecture: Two Audiences, Two Experiences
### padelnomics.io — Entrepreneur Side
Clean, minimal. Calculator front and center.
- Full 6-tab planner works without signup (guest mode)
- All 60+ variables, all charts, all metrics — zero friction
- **Signup required for:** saving scenarios, exporting business plan PDF, requesting builder quotes
- Hero: "Plan. Finance. Build." + calculator entry point
- Journey stages visible as roadmap with "Coming Soon" badges on future stages
### padelnomics.io/suppliers — Builder/Supplier Side
Separate landing page, separate value prop, separate dashboard.
- Sells lead access to builders/suppliers
- Shows: lead volume, avg project value, how credits work, pricing tiers
- Signup flow with plan selection + boost upsells (RemoteOK-style psychology)
- Dashboard: KPIs, lead feed, listing management, boost toggles
Entrepreneurs never see builder pricing. Builders never see the planner internals.
---
## Product & Pricing Structure (Paddle)
### Entrepreneur Products
| Product | Type | Price | Paddle Config |
|---------|------|-------|---------------|
| **Padel Business Plan** | One-time | €99 | One-time charge |
| **Padel Business Plan Pro** | Subscription | €39/mo | Monthly recurring |
| *(Phase 3) Market Intelligence Explorer* | Subscription | €79/mo | Monthly recurring |
| *(Phase 3) Market Intelligence Pro* | Subscription | €149/mo | Monthly recurring |
**Padel Business Plan (€99 one-time):**
Bank-ready PDF auto-generated from planner inputs. Covers what banks and investors need to see for facility financing (including KfW Gründerkredit in Germany). Available in English and German. Contains:
- **Executive summary** — facility concept, location, key financials at a glance
- **Market analysis** — padel-specific templated narrative covering target market, competitive landscape, demand drivers. User fills in location-specific details.
- **Investment plan** — full CAPEX breakdown from planner (courts, construction, equipment, working capital, contingency). Mapped to standard bank categories. Includes budget vs. projected CAPEX comparison.
- **Revenue & profitability forecast** — 3-year P&L from planner projections. Revenue streams, operating costs by category, EBITDA, net income, available income after debt service and taxes.
- **Liquidity plan** — 12-month cash flow from planner's monthly model. Inflows, outflows by category, monthly and cumulative balance, financing structure (equity + debt).
- **Sensitivity analysis** — utilization and pricing sensitivity tables from planner
- **Key metrics** — IRR, MOIC, DSCR, cash-on-cash, break-even utilization, payback period
Uses the calculator's own numbers and formatting. Clean, professional layout. Not locked to any specific bank's form — but covers everything banks, KfW, and investors ask for.
**Business Plan Pro (€39/mo):**
Everything above, plus:
- Unlimited scenario exports (compare indoor vs outdoor, 4-court vs 8-court, etc.)
- Market data in projections (from Playtomic scraping, when available)
- Sensitivity analysis appendix with additional scenarios
- Branded cover page with company logo
### Supplier Products
| Product | Type | Price | Paddle Config |
|---------|------|-------|---------------|
| **Supplier Growth** | Subscription | €149/mo | Monthly recurring |
| **Supplier Pro** | Subscription | €399/mo | Monthly recurring |
| **Credit Pack 25** | One-time | €99 | One-time charge |
| **Credit Pack 50** | One-time | €179 | One-time charge |
| **Credit Pack 100** | One-time | €329 | One-time charge |
| **Credit Pack 250** | One-time | €749 | One-time charge |
| **Boost: Logo** | Add-on | €29/mo | Monthly recurring add-on |
| **Boost: Highlight** | Add-on | €39/mo | Monthly recurring add-on |
| **Boost: Verified Badge** | Add-on | €49/mo | Monthly recurring add-on |
| **Boost: Lead Feed Access** | Add-on | €199/mo | Monthly recurring add-on |
| **Boost: Newsletter Feature** | Add-on | €99/mo | Monthly recurring add-on |
| **Boost: Sticky Top (1 week)** | One-time | €79 | One-time charge |
| **Boost: Sticky Top (1 month)** | One-time | €199 | One-time charge |
**Supplier Growth (€149/mo):** Directory listing + 30 credits/mo + basic analytics.
**Supplier Pro (€399/mo):** Directory listing + 100 credits/mo + full analytics + priority placement.
No free tier for suppliers. Leads are paywalled from day one.
### App-Side Implementation
Products managed through:
1. **Paddle product catalog** — all products/prices defined in Paddle dashboard
2. **`products` table in app DB** — maps Paddle product IDs to internal feature flags
3. **`subscriptions` table** — tracks active subs per user (synced via Paddle webhooks)
4. **`credits` table** — tracks credit balance per supplier (incremented on purchase, decremented on lead unlock)
5. **`entitlements` helper** — checks what a user can do: `can_export_pdf(user)`, `can_view_leads(user)`, `has_credits(user, n)`
6. **Paddle webhook handler** — processes subscription.created/updated/cancelled, transaction.completed for one-time purchases
---
## New Calculator Variables
### Budget Target (`budget`)
Top-level input in the Assumptions tab. User enters their total budget (e.g. €300K).
**Enables:**
- **Budget vs. Plan indicator** across Investment tab and Key Metrics: "Your plan costs €340K — €40K over budget"
- **Savings guidance:** "Switch from panoramic to standard glass to save €24K"
- **Pre-fills budget** in the quote request brief (validated against a real model, not a guess)
- **Business plan PDF** shows "Budget vs. Projected CAPEX" — banks value this
### Court Glass Type (`glassType`)
Pill select in Assumptions tab.
Options: `panoramic` (full panoramic glass walls, higher cost) / `standard` (standard glass walls) / `no_preference`
Affects: court cost per unit in CAPEX calculation. Pre-fills into quote request brief.
### Lighting Type (`lightingType`)
Pill select in Assumptions tab.
Options: `led_competition` (competition-grade, higher cost) / `led_standard` (standard, moderate cost) / `natural` (natural light / outdoor, no lighting CAPEX)
Affects: lighting line item in CAPEX calculation. Pre-fills into quote request brief.
---
## "Get Builder Quotes" — Lead Qualification Flow
3-step form designed for maximum lead qualification. Pre-fills from calculator state where possible. Reference: `padelnomics-demand-side.jsx`.
### Step 1: Project Specs
Pre-filled from calculator, editable by user.
| Field | Source | Options |
|-------|--------|---------|
| Facility type | Calculator (venue type) | Indoor / Outdoor / Both indoor & outdoor |
| Number of courts | Calculator (dblCourts + sglCourts) | 116 slider |
| Court glass type | Calculator (glassType) | Panoramic glass / Standard glass / No preference yet |
| Lighting | Calculator (lightingType) | LED competition / LED standard / Natural light only / Not sure yet |
| Build context | Brief-only | New standalone facility / Adding to existing sports club / Converting existing building |
### Step 2: Project Details
Lead qualification fields — not in calculator.
| Field | Type | Options |
|-------|------|---------|
| City / Region | Text input | e.g. "Göttingen, Lower Saxony" |
| Country | Dropdown | Germany, Netherlands, France, Italy, Spain, UK, Sweden, Belgium, Austria, Switzerland, Portugal, UAE, USA, Other |
| Timeline | Pill select | ASAP (< 3 months) / 36 months / 612 months / 12+ months (exploring) |
| Budget | Pre-filled from calculator | Editable. Shows "Based on your plan: €340K" if coming from planner |
| Location status | Pill select | Lease/purchase signed / Shortlisted locations / Still searching |
| Financing status | Pill select | Self-funded / Bank loan approved / Seeking financing / Not started |
| *(If "Seeking financing")* | Conditional | "Would you like help finding padel facility financing?" — Yes, connect me with financing partners / No, just builder quotes for now |
| Decision process | Pill select | Solo decision / Business partners / Club board or committee |
| Previous supplier contact | Pill select | Already received quotes / Talked to some / This is my first step |
| Services needed | Multi-select pills | Court construction (turnkey), Court surfaces only, Steel structures / canopy, Glass walls, Lighting systems, Flooring / foundation, Architecture & planning, Consulting / feasibility |
| Additional info | Textarea | "E.g. converting an existing warehouse, need planning permission support..." |
### Step 3: Contact Details
| Field | Required | Notes |
|-------|----------|-------|
| Name | Yes | |
| Email | Yes | Also creates account if not logged in |
| Phone | Optional | |
| Company / Organization | Optional | |
Shows summary card of all selections before submission.
Privacy notice: "Your contact details are shared only with matched, paying suppliers. No spam, no public listing."
### After Submission
- Lead stored in `lead_requests` with all fields + linked to scenario if user was logged in
- Confirmation page with "What happens next" steps
- Confirmation email sent to user
- Lead appears in supplier lead feed (anonymized until unlocked with credits)
- Heat score auto-calculated from readiness signals:
| Signal Combo | Heat | Credit Cost |
|---|---|---|
| Location secured + financing approved/self-funded + timeline <6mo + solo decision | Hot | 3040 credits |
| Shortlisted + seeking financing + 612mo + partners | Warm | 1525 credits |
| Still searching + not started + 12+mo + committee | Cool | 510 credits |
- If "Yes, connect me with financing partners" → flagged as financing lead for future Phase 23 monetization
---
## Builder Directory
Public directory at `/directory` showing court builders and suppliers.
### Listing Structure
Each listing shows:
- Company name + logo (if Logo boost active)
- Service area (countries/regions)
- Specialties (turnkey, surfaces, glass, lighting, structures, etc.)
- Short description
- Project count / years in business
- Verified badge (if Verified boost active)
- "Request Quote" CTA → links to the lead qualification flow
### Directory Layout
- Grid/list view of suppliers
- Filter by: country, service type, specialty
- Sort by: relevance (default, weighted by boost level), newest
- Highlighted listings (if Highlight boost active) get colored border/background
- Sticky top placements (if Sticky boost purchased) pinned above organic results
### Boost Effects
| Boost | Effect in Directory | Effect on Profile |
|-------|--------------------|--------------------|
| Logo (+€29/mo) | Company logo shown next to name | Logo on profile page |
| Highlight (+€39/mo) | Colored border, stands out in list | Featured badge |
| Verified (+€49/mo) | "Verified" badge | Trust signal |
| Lead Feed (+€199/mo) | — | Access to anonymized project briefs |
| Newsletter (+€99/mo) | — | Featured in monthly newsletter to entrepreneurs |
| Sticky 1wk (€79) | Pinned to top of results for 1 week | — |
| Sticky 1mo (€199) | Pinned to top of results for 1 month | — |
### Supplier Signup Flow
Reference: `padelnomics-supplier-signup.jsx`. Built in Quart/HTMX.
1. **Choose plan** — Growth (€149/mo) or Pro (€399/mo). Show what's included.
2. **Add boosts** — pre-selected "recommended" bundle (Logo + Highlight + Verified = +€117/mo). Show visibility multiplier ("3.2x more visibility vs basic listing"). Loss aversion: all recommended boosts pre-checked, user opts out.
3. **Extra credits** — optional credit packs if they want more leads beyond monthly allocation
4. **Account details** — company name, contact, email, country, service categories
5. **Paddle checkout** — processes subscription + any add-ons/one-time purchases
---
## Phase 0 — Ungate & Validate (Weeks 12)
**Goal:** Get distribution flowing. Validate that builders will pay for leads.
### 0.1 Guest Mode Planner
- Remove `@login_required` from `/planner/` and `/planner/calculate`
- Planner works fully without signup — all 6 tabs, all inputs, all outputs
- Disable scenario save/load/compare for guests (show "Sign up to save" prompt)
- Ensure planner page is SEO-indexable (meta tags, og:image, structured data)
### 0.2 New Calculator Variables
- Add budget target input to Assumptions tab with over/under indicator on Investment tab and Key Metrics
- Add court glass type (panoramic/standard/no preference) to Assumptions tab
- Add lighting type (LED competition/standard/natural) to Assumptions tab
- Wire into CAPEX calculation
### 0.3 CTAs on Planner Results
Two CTAs visible after the user has results:
**"Export Business Plan (PDF)" → €99**
- Requires signup → Paddle checkout
- Auto-generates bank-ready PDF from current planner state (EN or DE)
**"Get Builder Quotes" → 3-step lead qualification flow**
- Pre-fills from calculator state (court count, type, glass, lighting, budget)
- Captures readiness signals (location status, financing, decision process, previous contact)
- Stores in `lead_requests` with heat score
- Confirmation page + email
### 0.4 Builder Outreach & Paid Validation
- Reach out to 510 German court builders
- Pitch: "We have entrepreneurs planning padel facilities. Pay per lead to connect."
- Offer Growth plan (€149/mo) or credit packs
- Goal: 1+ paying builder within 2 weeks
- No free tier, no free trial — validate willingness to pay immediately
### 0.5 SEO Validation
- Research keyword volumes: "padel halle kosten," "padel court cost," "padel business plan," "padel hall bauen"
- Target: confirm >500 combined monthly searches
### 0.6 First SEO Article
- "How Much Does It Cost to Open a Padel Hall in 2026?"
- Link to the planner
- Publish on padelnomics.io/blog
**Exit criteria:**
- [ ] Planner accessible without login
- [ ] New calculator variables (budget, glass type, lighting) live
- [ ] Business plan PDF export working (Paddle checkout → PDF generation)
- [ ] "Get Builder Quotes" 3-step flow live and capturing qualified leads
- [ ] 1+ builder paying for lead access
- [ ] Keyword volumes confirmed
---
## Phase 1 — Revenue Engine (Weeks 38)
**Goal:** Both revenue streams producing. Builder directory live. Content flywheel started. Data moat seeded.
### 1a. Lead Operations (Weeks 34)
- Admin view to manage incoming quote requests
- Lead forwarding to paying builders (automated email with project brief)
- Email nurture sequence for planner users who didn't convert
- Track conversion: planner completions → quote requests → builder unlocks → deals
### 1b. Builder Directory (Weeks 35)
- Public directory at /directory
- All listings require paid subscription (Growth €149/mo or Pro €399/mo)
- Company profiles: name, logo, service area, specialties, description, projects
- Boost upsells: logo, highlight, verified badge, sticky placements
- Pre-selected "recommended" bundle during signup
- Visibility multiplier display
- "Request Quote" CTA on each listing → leads to quote flow
- Built in Quart/HTMX, using supplier-signup.jsx as design reference
### 1c. Content & SEO (Weeks 36)
- 2 more SEO articles:
- Passive stage: "Is Padel Still a Good Investment in 2026? The Data Says..."
- Deciding stage: "What Banks Want to See in a Padel Business Plan"
- Programmatic city pages from Playtomic data (/markets/berlin, /markets/munich, etc.)
- Post to padel communities (Reddit, Facebook groups, padel forums)
### 1d. Data Pipeline — padelnomics-data (Weeks 36, parallel track)
Separate `padelnomics-data` package in the uv monorepo. ELT-style architecture.
- **Extract:** Scraper API for Playtomic data (venues, availability, pricing)
- **Load/Transform:** sqlmesh + DuckDB
- **Output:** Market-informed defaults flowing back into the planner (avg pricing by region, typical court counts)
- Basic public market map (builds authority + SEO)
- Historical storage from day 1 (the moat compounds daily)
*Data engineering architecture to be discussed separately.*
### Revenue target: €1K2K/mo
- Builder subscriptions: 23 × €149399/mo
- Credit purchases from builders
- Business plan PDF exports: 510 × €99
---
## Phase 2 — Scale the Marketplace (Months 36)
**Goal:** Automated lead marketplace. Supplier dashboard live. €3K5K MRR.
### 2a. Supplier Landing Page (/suppliers)
- Dedicated landing page selling to builders
- Value prop: "Get connected with entrepreneurs planning padel facilities"
- Show: monthly lead volume, average project value, how credits work
- Social proof: "X projects planned this month, €Y total investment value"
- Pricing table with Growth/Pro plans + boost add-ons
- CTA: "Start Getting Leads" → signup flow
### 2b. Supplier Dashboard
- Dashboard tab: KPIs (profile views, leads unlocked, credits balance, directory rank)
- Lead feed tab: browse + filter anonymized project briefs, unlock with credits
- My listing tab: preview how company appears, performance metrics (views, clicks, contact requests)
- Boosts tab: toggle add-ons, see visibility multiplier, update plan
- Built in Quart/HTMX, using supplier-dashboard.jsx as design reference
### 2c. Lead Feed & Credits
- Anonymized project briefs visible to subscribed builders
- Heat scoring from readiness signals (location status, financing, timeline, decision process)
- Credit cost scales with heat + project size
- Bidder count visible ("2 suppliers already unlocked — be first in your region!")
### 2d. Business Plan Pro (€39/mo subscription)
- Upgrade from one-time PDF
- Unlimited scenario exports
- Market data integration (when available from padelnomics-data)
- Sensitivity analysis appendix
- Branded cover page
### 2e. Market Map (Public)
- Interactive map of padel venues (from padelnomics-data pipeline)
- Court density, pricing ranges, basic occupancy indicators
- City-level aggregate stats
- Drives SEO, demonstrates data capability
- Teaser for future paid intelligence product
### 2f. Financing Leads (if validated)
- If enough "Yes, connect me with financing partners" signals accumulated in Phase 01
- Approach banks/lenders: "We have X entrepreneurs/mo seeking facility financing"
- Same credit-based marketplace model, different supply side
### Revenue target: €3K5K MRR
- 58 builder subscriptions × €149399/mo
- Credit revenue from lead unlocks
- Business plan exports (one-time + subscription)
- Boost add-on revenue
---
## Phase 3 — Data & Intelligence (Months 612)
**Goal:** Data moat becomes a product. €5K10K MRR. Monetize the entrepreneur side with intelligence.
*Exact shape depends on what we learn in Phases 02. This is directional.*
### 3a. Market Intelligence Dashboard (Paid)
By now we have 6+ months of historical data + hundreds of completed plans.
- Explorer tier (€79/mo): city-level stats, monthly trends, market map with overlays
- Pro tier (€149/mo): venue-level data, competitor tracking, site selection scoring, historical data, export
- Features: occupancy heatmaps, pricing benchmarks, demand gap analysis, competitor alerts, growth trends
### 3b. Operator Analytics
- For venue owners already running halls
- Benchmark performance vs. market (occupancy, pricing, revenue/court)
- Pricing optimization from scraped competitor data
- Competitor monitoring alerts (new venues, pricing changes)
- Natural upsell for planner users who actually built their facility
### 3c. Premium Products
- Site Selection Reports (€499999): custom location analysis
- Quarterly "State of Padel" reports: builds authority, generates enterprise leads
- Financing partner integrations (full lending marketplace)
### Revenue target: €5K10K MRR
---
## Phase 4 — Scale (Months 1218+)
**Goal:** Pan-European. €10K+ MRR.
- Geographic expansion: DACH → Western Europe → global
- Additional language support
- Multi-source data aggregation (beyond Playtomic)
- Enterprise tier for franchises, RE developers, investors
- API / data licensing
- Newsletter monetization ("The Padel Business Report")
- Productized consulting (Padel Hall Accelerator, €999)
- ML/forecasting layer on accumulated data
---
## Revenue Model Summary
| Phase | Timeline | Source | Target MRR |
|-------|----------|--------|------------|
| 0 | Weeks 12 | Business plan PDF + first builder payments | €0500 |
| 1 | Weeks 38 | Builder subs + credits + PDF exports + directory | €1K2K |
| 2 | Months 36 | Scaled marketplace + Business Plan Pro sub | €3K5K |
| 3 | Months 612 | + Market intelligence subs + premium reports | €5K10K |
| 4 | Months 1218 | + Enterprise + API + consulting | €10K+ |
---
## Key Assumptions to Validate
| # | Assumption | How to Test | Success Signal | Phase |
|---|-----------|-------------|----------------|-------|
| 1 | Builders will pay for leads | Direct outreach, no free trial | 1+ builder paying in week 2 | 0 |
| 2 | SEO can drive traffic | Keyword volume research | >500 combined monthly searches | 0 |
| 3 | Open planner → quote requests | Track completions → CTA clicks | >5% conversion to quote request | 01 |
| 4 | Entrepreneurs will pay €99 for bank-ready PDF | Build it, sell it | 5+ sales in first month | 1 |
| 5 | Playtomic data is scrapable at scale | Build pipeline, run 2 weeks | Stable daily scrape | 1 |
| 6 | Builders prefer subscription over per-lead | Offer both | 30%+ choose subscription | 2 |
| 7 | Financing lead demand exists | Count "connect me with financing" signals | 20%+ of leads request financing help | 01 |
---
## Tech Stack
### padelnomics (web app)
- **Backend:** Quart (async Python) + aiosqlite
- **Frontend:** Vanilla JS + HTMX + Tailwind CSS v4 + Chart.js
- **Auth:** Magic links (existing)
- **Payments:** Paddle (products, subscriptions, one-time charges, webhooks)
- **PDF generation:** TBD (WeasyPrint or similar Python PDF library)
- **Deployment:** Docker + GitLab CI/CD + blue-green deploys (existing)
### padelnomics-data (data pipeline)
- Separate package in the uv monorepo
- **Extraction:** Scraper API
- **Transformation:** sqlmesh + DuckDB
- **Architecture:** ELT-style, batch extraction
- *Details to be discussed separately.*
React prototypes used as **design reference only** — everything built in Quart/HTMX:
- `padelnomics-demand-side.jsx` → quote request flow
- `padelnomics-supplier-signup.jsx` → supplier signup
- `supplier-dashboard.jsx` → supplier dashboard
---
## What We're NOT Doing (Yet)
Parked until Phase 3+ or until demand proves it:
- Operator dashboards / ERP features
- AI scenario advisor
- Franchise toolkit
- M&A intelligence
- Mobile app
- Paid advertising
- Free tiers for suppliers
- Full financing marketplace (capturing intent signal only for now)