merge: bp-and-articles — 12 cornerstone articles + KfW PDF overhaul
From worktree-bp-and-articles:
Content (12 articles, Batch 1):
C2 Cost Bible (DE+EN), C3 Business Plan for Banks (DE+EN),
C5 Location Guide (DE+EN), C6 Financing Guide (DE+EN),
C7 Risk Register (DE+EN), C8 Build Guide (DE+EN)
All written natively (linguistic-mediation for DE), frontmatter complete.
CMS fix:
Article form now includes language selector; seo_head generated +
stored for manually created articles; build path is lang-prefixed.
Business Plan PDF overhaul (KfW Gründerkredit-ready):
- compute_sensitivity() extracted as reusable function
- matplotlib SVG charts (P&L + 12-month cash flow)
- Opening balance sheet, use-of-funds, sensitivity analysis
- Market analysis auto-populated from DuckDB city data
- Pre-export details form (/planner/export/details)
- Migration 0020: bp_details_json on scenarios table
- Complete PDF redesign: Precision Finance aesthetic
(navy/gold, Georgia headings, cover page, TOC, 15 sections)
- 28 new translation keys in en.json + de.json
Docs:
SPORTPLATZWELT_RESEARCH.md + CUSTOMER_CHANNELS.md updated
with verified contacts and trade show dates.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
# Conflicts:
# web/src/padelnomics/admin/routes.py
# web/src/padelnomics/locales/de.json
# web/src/padelnomics/locales/en.json
This commit is contained in:
267
docs/CONTENT_STRATEGY.md
Normal file
267
docs/CONTENT_STRATEGY.md
Normal file
@@ -0,0 +1,267 @@
|
|||||||
|
# Padelnomics — Content Strategy & Launch Plan
|
||||||
|
|
||||||
|
> Living doc. Last updated: 2026-02-25.
|
||||||
|
> Related: `docs/MARKETING.md` (channel strategy), `scratch/padel-hall-guide.md` (content source material)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Status of Existing GTM Documentation
|
||||||
|
|
||||||
|
| Doc | Status | Notes |
|
||||||
|
|-----|--------|-------|
|
||||||
|
| `docs/MARKETING.md` | ✅ Active source of truth | Full channel strategy, audiences, revenue phases, timelines |
|
||||||
|
| `research/PLAN.md` | ⚠️ Superseded | Good phase reference but MARKETING.md overrides |
|
||||||
|
| `memory/launch-strategy.md` | ❌ Missing | Referenced in MARKETING.md but never created |
|
||||||
|
| This file | ✅ Content plan | Cornerstone articles, research sessions, timeline |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## The Content Map
|
||||||
|
|
||||||
|
The entrepreneur customer journey maps directly to content needs:
|
||||||
|
|
||||||
|
| Journey Stage | Question They Ask | Demand Phase | Content Gap? |
|
||||||
|
|---|---|---|---|
|
||||||
|
| **Explore** | "Is padel viable in my area?" | Passive | C1 ✅ planned |
|
||||||
|
| **Plan** | "How many courts? What will it cost?" | Active | C2 ✅ planned |
|
||||||
|
| **Finance** | "How do I fund this?" | Deciding | C3 + C6 ✅ planned |
|
||||||
|
| **Build** | "Who builds it? What's the process?" | Deciding | C8 ⚠️ gap — added |
|
||||||
|
| **Mitigate** | "What can go wrong?" | Deciding | C7 ⚠️ gap — added |
|
||||||
|
| **Launch** | "How do I price? What's my opening plan?" | Consuming | Phase 3 content |
|
||||||
|
| **Run** | "How am I performing vs. market?" | Consuming | Phase 3 content |
|
||||||
|
| **Scale** | "Should I open location #2?" | — | Phase 4 content |
|
||||||
|
|
||||||
|
Source material: `scratch/padel-hall-guide.md` — covers all 7 stages, ready to convert to articles.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Pillar Page (write last)
|
||||||
|
|
||||||
|
**"The Complete Guide to Building a Padel Hall in Germany (2026)"**
|
||||||
|
|
||||||
|
- ~4,000 words, full table of contents, links to all 8 spokes
|
||||||
|
- Ranks for head terms: "padel halle bauen" / "padel hall guide"
|
||||||
|
- Every pSEO city page links here; every cornerstone links here
|
||||||
|
- Write after all 8 spokes exist
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Cornerstone Articles (8 Spokes)
|
||||||
|
|
||||||
|
### C1 — Investment Case
|
||||||
|
**"Is Padel Still a Good Investment in 2026? What the Booking Data Actually Says"**
|
||||||
|
|
||||||
|
| | |
|
||||||
|
|---|---|
|
||||||
|
| Journey stage | Explore |
|
||||||
|
| Primary keyword | "padel investment 2026" / "ist padel noch profitabel" |
|
||||||
|
| Unique asset | Playtomic DuckDB occupancy data — proprietary |
|
||||||
|
| Guide sections | Market & Demand questions + Risk Register (Trend/Fad Risk) |
|
||||||
|
| Product CTA | Market map + planner |
|
||||||
|
| **Research session** | 2 hrs: pull DuckDB occupancy trends by quarter, distribution across venues (% >70%, % <40%), fastest-growing cities. Add honest fad risk section (squash comparison from guide) — counterintuitive honesty earns backlinks |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### C2 — The Cost Bible
|
||||||
|
**"How Much Does It Cost to Open a Padel Hall in Germany in 2026? Complete CAPEX Breakdown"**
|
||||||
|
|
||||||
|
| | |
|
||||||
|
|---|---|
|
||||||
|
| Journey stage | Plan |
|
||||||
|
| Primary keyword | "padel halle kosten" / "padel court cost germany" |
|
||||||
|
| Unique asset | `market-research-padel-costs-2026.md` — real city-level pricing data already collected |
|
||||||
|
| Guide sections | Financial questions + Expert Financial Calculation (CAPEX table €930K–€1.9M) |
|
||||||
|
| Product CTA | ROI Calculator |
|
||||||
|
| **Research session** | 1 hr: data already in `research/market-research-padel-costs-2026.md`. Extract guide's CAPEX table + city pricing data + sensitivity analysis. 90-minute write, not a research session. |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### C3 — The Business Plan Article
|
||||||
|
**"What German Banks Actually Want to See in a Padel Hall Business Plan"**
|
||||||
|
|
||||||
|
| | |
|
||||||
|
|---|---|
|
||||||
|
| Journey stage | Finance |
|
||||||
|
| Primary keyword | "padel halle business plan" / "padel business plan bank" |
|
||||||
|
| Unique asset | Lender perspective: DSCR 1.2–1.5x requirement, covenant compliance — not covered anywhere in padel space |
|
||||||
|
| Guide sections | Legal & Organizational + Plans You Need to Create + Corporate Finance (covenants) |
|
||||||
|
| Product CTA | Business Plan PDF (€99) + Business Plan Pro (€39/mo) |
|
||||||
|
| **Research session** | 3 hrs (highest priority for product linkage): LinkedIn outreach to 5 German sports facility owners — ask what bank financing surprised them. Check current KfW programs (ERP-Kapital für Gründung, Unternehmerkredit). One real quote transforms the article. |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### C4 — The Market Report (write FIRST)
|
||||||
|
**"State of Padel Europe Q1 2026: Market Intelligence Report"**
|
||||||
|
|
||||||
|
| | |
|
||||||
|
|---|---|
|
||||||
|
| Journey stage | Explore (all stages — PR piece) |
|
||||||
|
| Primary keyword | Not SEO-primary — email gate + backlinks + brand authority |
|
||||||
|
| Unique asset | Playtomic data as the entire product |
|
||||||
|
| Guide sections | Market & Demand questions |
|
||||||
|
| Product CTA | Email gate → welcome sequence → planner |
|
||||||
|
| **Research session** | 4 hrs (do before launch): pull DuckDB — total venues by country, occupancy distribution, pricing by country, fastest-growing cities, YoY venue growth. Supplement with FIP player registration stats + national federation press releases from 2025. 10-page PDF. Gate it. |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### C5 — The Location Guide
|
||||||
|
**"Where to Build a Padel Hall in Germany: A Data-Driven Demand Analysis"**
|
||||||
|
|
||||||
|
| | |
|
||||||
|
|---|---|
|
||||||
|
| Journey stage | Explore → Plan |
|
||||||
|
| Primary keyword | "padel standort analyse" / "where to open padel hall germany" |
|
||||||
|
| Unique asset | DuckDB demand gap metric: population density ÷ venue count, weighted by occupancy |
|
||||||
|
| Guide sections | "How to Decide Where to Build" (8 criteria, all written in guide) |
|
||||||
|
| Product CTA | City-specific planner scenario + market map |
|
||||||
|
| **Research session** | 2 hrs: rank top 20 German cities by demand gap score. Layer in destatis.de disposable income data. Create one shareable table. Guide sections convert directly to prose. Hub for all city pSEO pages to link back to. |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### C6 — The Financing Guide
|
||||||
|
**"How to Finance a Padel Hall in Germany: Loans, Grants, and KfW Programs in 2026"**
|
||||||
|
|
||||||
|
| | |
|
||||||
|
|---|---|
|
||||||
|
| Journey stage | Finance |
|
||||||
|
| Primary keyword | "padel halle finanzierung" / "padel hall financing germany" |
|
||||||
|
| Unique asset | KfW program breakdown + Bundesland-specific grants — not covered anywhere in the padel space |
|
||||||
|
| Guide sections | Corporate Finance (WACC, lease vs. buy, subsidies & grants, VAT, covenant compliance) |
|
||||||
|
| Product CTA | Business Plan PDF (has financing structure section) |
|
||||||
|
| **Research session** | 2 hrs: KfW website — find ERP-Kapital für Gründung, Unternehmerkredit. Check NRW.BANK, Bayern Kapital, Investitionsbank Berlin. Note personal guarantee exposure section — most underestimated risk, will be shared widely. |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### C7 — The Risk Register *(NEW)*
|
||||||
|
**"The 15 Risks of Opening a Padel Hall That Most Investors Underestimate"**
|
||||||
|
|
||||||
|
| | |
|
||||||
|
|---|---|
|
||||||
|
| Journey stage | Plan → Finance |
|
||||||
|
| Primary keyword | "padel hall investment risks" / "padel halle risiken" |
|
||||||
|
| Unique asset | DuckDB illustration of competitor cannibalization (city with 3 halls opening in 18 months — occupancy impact visible in data) |
|
||||||
|
| Guide sections | Risk Register (entire section — 7 categories, already fully written in guide) |
|
||||||
|
| Product CTA | Planner sensitivity analysis tab directly addresses most of these risks |
|
||||||
|
| **Research session** | 30 mins: guide is 80% of the article. Only unique layer needed: find a German city in DuckDB where supply surged and per-hall bookings dropped. One visualization. |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### C8 — The Build Guide *(NEW)*
|
||||||
|
**"How to Build a Padel Hall: The 5-Phase Process From Feasibility to Opening Day"**
|
||||||
|
|
||||||
|
| | |
|
||||||
|
|---|---|
|
||||||
|
| Journey stage | Build |
|
||||||
|
| Primary keyword | "padel halle bauen" / "how to build a padel hall" |
|
||||||
|
| Unique asset | Founding member builder quotes: "top 3 mistakes clients make during planning/construction" |
|
||||||
|
| Guide sections | Steps — In Detail (5 phases, 23 steps, all written) + Product & Scope questions |
|
||||||
|
| Product CTA | Builder directory ("connect with verified padel hall builders") — highest directory CTR of any cornerstone |
|
||||||
|
| **Research session** | 1 hr: ask 1–2 founding member suppliers: "Was machen Kunden in der Planungsphase am häufigsten falsch?" Their quotes are the entire unique layer. |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Internal Linking Architecture
|
||||||
|
|
||||||
|
```
|
||||||
|
┌─────────────────────────────────┐
|
||||||
|
│ THE COMPLETE GUIDE (Pillar) │
|
||||||
|
└────────────┬────────────────────┘
|
||||||
|
│ links to all 8 spokes
|
||||||
|
┌──────────────────────┼──────────────────────────┐
|
||||||
|
▼ ▼ ▼
|
||||||
|
[C1: Investment] [C2: Cost Bible] [C3: Business Plan]
|
||||||
|
│ │ │
|
||||||
|
▼ ▼ ▼
|
||||||
|
[C4: Market Report] [C5: Location] ◄──── all pSEO city pages
|
||||||
|
│ │
|
||||||
|
[C7: Risk Register] [C6: Financing]
|
||||||
|
│
|
||||||
|
[C8: Build Guide]
|
||||||
|
│
|
||||||
|
/directory
|
||||||
|
│
|
||||||
|
all roads → /planner → email capture
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Launch Timeline
|
||||||
|
|
||||||
|
### Now — Go-live config (hours, not days)
|
||||||
|
- [ ] Switch Paddle to production
|
||||||
|
- [ ] Verify Resend production API key
|
||||||
|
- [ ] Wipe 5 test suppliers (example.com entries)
|
||||||
|
- [ ] Publish SEO articles from admin panel
|
||||||
|
- [ ] Submit sitemap to Google Search Console
|
||||||
|
- [ ] Begin C4 research session (Market Report)
|
||||||
|
|
||||||
|
### Week 1
|
||||||
|
| Day | Action |
|
||||||
|
|-----|--------|
|
||||||
|
| 1–2 | Publish State of Padel Q1 2026 PDF (C4) + email gate live |
|
||||||
|
| 1–3 | Write C2 (Cost Bible) — existing data, low research burden |
|
||||||
|
| 2–5 | Publish first 50 pSEO city pages (3/day stagger, top cities by DuckDB coverage) |
|
||||||
|
| 3–5 | 30–50 supplier outreach emails, founding member pitch |
|
||||||
|
| 5 | C2 published |
|
||||||
|
| 5–7 | LinkedIn: first 3 posts |
|
||||||
|
|
||||||
|
### Week 2
|
||||||
|
| Day | Action |
|
||||||
|
|-----|--------|
|
||||||
|
| 1–3 | Write C1 (Investment Case) — DuckDB data pull |
|
||||||
|
| 3–5 | LinkedIn outreach: 5 German sports facility owners (C3 interview material) |
|
||||||
|
| 5–7 | C1 published + LinkedIn + Reddit/Facebook communities |
|
||||||
|
|
||||||
|
### Week 3
|
||||||
|
| Day | Action |
|
||||||
|
|-----|--------|
|
||||||
|
| 1–3 | Write C7 (Risk Register) — mostly from guide |
|
||||||
|
| 3–5 | Write C5 (Location Guide) — demand gap analysis |
|
||||||
|
| 5–7 | Both published + cross-linked to live pSEO pages |
|
||||||
|
|
||||||
|
### Week 4
|
||||||
|
| Day | Action |
|
||||||
|
|-----|--------|
|
||||||
|
| 1–3 | C3 research session (KfW programs + LinkedIn interview results) |
|
||||||
|
| 3–5 | Write C8 (Build Guide) — use founding member quotes |
|
||||||
|
| 5–7 | C3 + C8 published |
|
||||||
|
|
||||||
|
### Month 2
|
||||||
|
| | Action |
|
||||||
|
|---|---|
|
||||||
|
| Week 5–6 | C6 (Financing Guide) |
|
||||||
|
| Week 6–7 | Market map UI |
|
||||||
|
| Week 7–8 | Write Pillar Page (The Complete Guide) — all 8 spokes exist |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## pSEO Launch Sequence
|
||||||
|
|
||||||
|
**Phase 1 (launch):** Top 50 German cities — those with richest DuckDB rows (highest `padel_venue_count`, most non-null fields).
|
||||||
|
**Phase 2 (Week 2–4):** DACH tier-2 cities as GSC indexing confirms Phase 1 is healthy.
|
||||||
|
**Phase 3 (Month 2):** English pages for UK, Netherlands, France.
|
||||||
|
|
||||||
|
**Rule:** Any city where data would produce near-identical content to another city → `noindex` until data improves.
|
||||||
|
|
||||||
|
Monitor: GSC indexing rate. If <80% of Phase 1 pages indexed within 3 weeks, pause Phase 2 expansion.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Phase 3 Content (Month 3–6)
|
||||||
|
|
||||||
|
These require operational data to write well — plan when your user base has matured:
|
||||||
|
|
||||||
|
- **"Padel Hall Pricing Benchmarks: What Operators Actually Charge in 2026"** — scraped Playtomic data. Feeds Market Intelligence subscription pitch.
|
||||||
|
- **"How to Fill Your Courts: The Padel Hall Marketing Playbook"** — "Launch" stage. Precedes operational analytics product.
|
||||||
|
- **"Padel Hall KPIs: What Good Looks Like at 6/12/24 Months"** — "Run" stage. Uses occupancy benchmarks. Teases benchmarking dashboard.
|
||||||
|
|
||||||
|
## Phase 4 Content (Month 6–12)
|
||||||
|
|
||||||
|
- **"Should You Open a Second Location? An Expansion Framework"** — "Scale" stage. Cites guide's optionality value and multi-site valuation premium. Enterprise product entry point.
|
||||||
|
- **"The Padel Franchise Model: Numbers, Risks, and Whether It Makes Sense"** — new segment. Large deal sizes.
|
||||||
|
- **Country-specific cost bibles** — replicate C2 for UK (data in `market-research-padel-costs-2026.md`), France, Netherlands.
|
||||||
|
- **Quarterly "State of Padel" reports** — same format as C4, every quarter. Compounds email list. Becomes the industry reference.
|
||||||
|
|
||||||
|
## The Newsletter Play (Month 6+)
|
||||||
|
|
||||||
|
Once State of Padel reports hit 500+ downloads and email list hits 1,000+: repackage as "The Padel Business Report" — bi-weekly newsletter. Monetize at €200–1,000/week sponsorships from equipment suppliers and builders. Media moat layer on top of data moat.
|
||||||
304
docs/CUSTOMER_CHANNELS.md
Normal file
304
docs/CUSTOMER_CHANNELS.md
Normal file
@@ -0,0 +1,304 @@
|
|||||||
|
# Padelnomics — Where Customers Live Online
|
||||||
|
|
||||||
|
> Compiled: 2026-02-25. Updated with live-verified data from web research (Feb 2026).
|
||||||
|
> Two customer sides: **Demand** = aspiring padel hall owners/investors. **Supply** = court builders & equipment suppliers.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. LinkedIn
|
||||||
|
|
||||||
|
The primary B2B channel for both sides. German business audience is heavily LinkedIn-native (35–55 demographic).
|
||||||
|
|
||||||
|
### Groups
|
||||||
|
|
||||||
|
| Group | Audience | Est. Size | Priority | Action |
|
||||||
|
|-------|----------|-----------|----------|--------|
|
||||||
|
| Padel Business Network | Both | ⚠️ ~2–5K | High | Join + post data insights weekly |
|
||||||
|
| Sports Facility Management Professionals | Demand | ⚠️ ~10–20K | High | Share cornerstone articles |
|
||||||
|
| Sportmanagement DACH *(also on XING)* | Demand | ⚠️ ~3–8K | High | Seed calculator link in discussions |
|
||||||
|
| Tennis Club Management | Demand (beachhead) | ⚠️ ~1–3K | High | Beachhead segment lives here |
|
||||||
|
| Real Estate Investment Germany | Demand | ⚠️ ~15–30K | Medium | Sports-as-real-estate angle |
|
||||||
|
| Construction & Sports Infrastructure EU | Supply | ⚠️ ~5–10K | Medium | Supplier acquisition |
|
||||||
|
| DOSB / DTB official pages | Demand | Large | High | Follow + engage with their posts |
|
||||||
|
|
||||||
|
### Sales Navigator Job Titles
|
||||||
|
|
||||||
|
**Demand side (aspiring owners):**
|
||||||
|
- Geschäftsführer (GmbH/AG) — sports, leisure, fitness, real estate
|
||||||
|
- Vereinsvorstand / Vereinsvorsitzender (club board chair) — tennis clubs specifically
|
||||||
|
- Sportstättenleiter / Sportanlagenleiter
|
||||||
|
- Immobilienentwickler / Real Estate Developer
|
||||||
|
- Investor / Beteiligungsmanager (alternative assets)
|
||||||
|
- Fitnessclub Betreiber / Freizeitanlagen Betreiber
|
||||||
|
- DTB-licensed tennis club administrative roles
|
||||||
|
|
||||||
|
**Supply side (builders/equipment):**
|
||||||
|
- Sales Director / Business Development — court manufacturers
|
||||||
|
- Key Account Manager — sports construction
|
||||||
|
- Vertriebsleiter Hallenbau / Sportanlagenbau
|
||||||
|
- Projektleiter Sportstätten
|
||||||
|
- Export Manager — padel equipment manufacturers
|
||||||
|
|
||||||
|
### Key Hashtags
|
||||||
|
`#padelbusiness` `#padelgermany` `#padelhalle` `#sportstätten` `#sportsfacility` `#freizeitanlage` `#padelanlage` `#padelin` `#sportinvestment` `#vereinsentwicklung`
|
||||||
|
|
||||||
|
### Influential Accounts to Engage
|
||||||
|
- DTB (Deutscher Tennis Bund) official page — posts about padel expansion actively
|
||||||
|
- DPV (Deutscher Padel Verband) page
|
||||||
|
- DOSB Sportstättenentwicklung content
|
||||||
|
- Track Indoor (court manufacturer) — active LinkedIn presence
|
||||||
|
- Individual padel hall founders who post about their journey (search "Padelhalle eröffnet")
|
||||||
|
|
||||||
|
**Organic play:** Comment with data insights on every DTB/DPV padel post. One well-placed comment with a real statistic ("interesting — our Playtomic data shows Munich at 73% weekend occupancy") builds awareness with exactly the right audience.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 2. XING
|
||||||
|
|
||||||
|
Often overlooked but **critical for German Mittelstand**. Tennis/sports club boards, regional business owners, and traditional facility operators use XING more than LinkedIn in Germany, especially the 45–60 age group.
|
||||||
|
|
||||||
|
| Group | Audience | Priority | Action |
|
||||||
|
|-------|----------|----------|--------|
|
||||||
|
| Sport als Business | Demand | High | Post cornerstone articles |
|
||||||
|
| Sportmanagement DACH | Demand | High | Same as LinkedIn group |
|
||||||
|
| Sportstätten und Freizeitanlagen | Both | High | Primary target — exact audience |
|
||||||
|
| Unternehmer in Deutschland | Demand | Medium | Broader reach |
|
||||||
|
| IHK Netzwerk [Region] | Demand | Medium | Chamber of commerce network |
|
||||||
|
|
||||||
|
**Note:** XING Groups are less active than LinkedIn groups, but XING messaging (ProBusiness) has higher open rates for German B2B outreach than LinkedIn InMail in many cases.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 3. Reddit
|
||||||
|
|
||||||
|
Honest assessment: Reddit is not a primary channel for this audience. German-language Reddit is thin, and the padel-specific communities are player-focused.
|
||||||
|
|
||||||
|
| Subreddit | Audience | Members | Assessment | Action |
|
||||||
|
|-----------|----------|---------|------------|--------|
|
||||||
|
| r/padel | Both (players) | ⚠️ ~50–80K | Player-focused, minimal business discussion. Occasional "I want to open a court" threads | Monitor for those threads, respond with planner link |
|
||||||
|
| r/entrepreneur | Demand | ~1.4M | General, but will engage with "I built a padel hall data platform" founder stories | One-time post when you have traction/revenue milestone |
|
||||||
|
| r/realestateinvesting | Demand | ~500K | Sports assets as alternative investment angle | Share Location Guide / investment case article |
|
||||||
|
| r/smallbusiness | Demand | ~300K | Post cost bible article as resource | Low effort, medium reach |
|
||||||
|
| r/germany | Demand | ~500K | German audience but generalist | Share State of Padel report when published |
|
||||||
|
| r/Finanzen *(German)* | Demand | ⚠️ ~150K | German personal finance — not perfect fit but "padel als Investment" angle could work | Occasional, carefully framed |
|
||||||
|
|
||||||
|
**Bottom line:** Reddit is for content distribution, not community building. Post articles here for backlinks and occasional traffic spikes. Don't try to build a presence.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 4. Facebook Groups
|
||||||
|
|
||||||
|
Facebook is stronger than expected for this audience — specifically German sports club operators (older demographic, club culture) still live on Facebook.
|
||||||
|
|
||||||
|
| Group | Language | Audience | Priority | Action |
|
||||||
|
|-------|----------|----------|----------|--------|
|
||||||
|
| Padel Deutschland | DE | Demand (players + some owners) | High | Active community, share market data |
|
||||||
|
| Padel in Deutschland / Padel Germany | DE | Demand | High | Multiple groups, search all variants |
|
||||||
|
| Padel Business & Investment *(search to verify)* | EN | Demand | High if active | Spanish-origin groups are most active in padel business |
|
||||||
|
| Tennis & Padel Club Betreiber Deutschland | DE | Demand (beachhead) | **Highest** | Club boards making facility decisions |
|
||||||
|
| Sportstätten und Freizeitanlagen Betreiber | DE | Both | High | Facility owners/operators |
|
||||||
|
| Gründer & Unternehmer Deutschland | DE | Demand | Medium | General entrepreneur group, large |
|
||||||
|
| Real Estate Investment Deutschland | DE | Demand | Medium | Property investor angle |
|
||||||
|
| Padel Clube e Empresas *(Portuguese, but internationally active)* | PT/EN | Both | Medium | Spanish/Portuguese padel industry very active, worth monitoring |
|
||||||
|
|
||||||
|
**Important:** Spanish and Portuguese Facebook padel business groups are the most active globally. Padel originated in Spain — the Spanish market is 5–10 years ahead. Mining these groups for market intelligence (what challenges did Spanish operators face?) is valuable beyond just outreach.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 5. Newsletters & Publications
|
||||||
|
|
||||||
|
### Padel-specific
|
||||||
|
|
||||||
|
| Publication | Language | Audience | Reach | Priority | Opportunity |
|
||||||
|
|-------------|----------|----------|-------|----------|-------------|
|
||||||
|
| **Padel World Press** (padelworldpress.com) | EN/ES | Both | ~100K monthly visitors | **Highest** | Guest article: "State of Padel in Germany — A Data View". They actively look for market data content. |
|
||||||
|
| **Padel Magazine** (padelmagazine.fr) | **FR only** | Both | ⚠️ ~50K | Medium | French-language only. Good for France expansion (Phase 3), less relevant for DACH now. |
|
||||||
|
| **Padel Alto** newsletter | EN | Demand | ⚠️ ~20–50K | High | Their audience is players who aspire to business |
|
||||||
|
| **FEP (European Padel Federation)** newsletter | Multi | Both | ~federation members | High | Co-distribute State of Padel report |
|
||||||
|
| **DTB Newsletter** | DE | Demand (**beachhead**) | ~DTB members/clubs | **Highest** | DTB sends to ~1,400 affiliated clubs. A feature here reaches exactly the beachhead. Approach as: data partner / market research contributor. |
|
||||||
|
| **DPV (Deutscher Padel Verband)** newsletter | DE | Demand | German padel community | High | Same angle as DTB |
|
||||||
|
|
||||||
|
### Sports Business / Facility Management
|
||||||
|
|
||||||
|
| Publication | Language | Audience | Priority | Opportunity |
|
||||||
|
|-------------|----------|----------|----------|-------------|
|
||||||
|
| **SportBusiness** (sportbusiness.com) | EN | Both | High | Press outreach: "Padel boom + nobody has the data" angle |
|
||||||
|
| **Sportswear International** | EN/DE | Supply | Medium | Court manufacturer advertising |
|
||||||
|
| **Sportstättenmanagement** / **sb Magazin** (IAKS) | DE | Demand | **High** | IAKS (International Association for Sports and Leisure Facilities) publishes sb Magazin — reaches German facility managers and club owners directly. Guest article or data contribution. |
|
||||||
|
| **Tennis Magazin** (tennismagazin.de) | DE | Demand (**beachhead**) | **High** | Germany's most-read tennis publication. Actively covers padel. Direct line to club managers and tennis operators adding padel courts. |
|
||||||
|
| **Sportplatzwelt** (sportplatzwelt.de) | DE | Both | **High** | Specialist portal for municipal/recreational sports. Has padel section with 8 listed court builders (all hardware — zero software). Padelnomics would be the only SaaS in their padel directory. Part of Stadionwelt GmbH. **Contacts:** editorial: redaktion@stadionwelt.de; marketing: info@sportplatzwelt.de (+49 2232 5772-20). Full research at `docs/SPORTPLATZWELT_RESEARCH.md`. |
|
||||||
|
| **mypadel.de** (DTB platform) | DE | Demand (**beachhead**) | **High** | DTB's own padel platform with newsletter, Instagram, TikTok. Contacts: Carina Meyer (events), Sandra Achatz (marketing/sales). Best accessed through DTB contacts above. |
|
||||||
|
| **Der Tennisclub** (DTB publication) | DE | Demand (**beachhead**) | **Highest** | DTB's own magazine for club managers. A feature here is a direct line to the beachhead segment. |
|
||||||
|
| **Facility Management Magazin** (fm-magazin.de) | DE | Demand | Medium | Broader facility management audience |
|
||||||
|
|
||||||
|
### Business / Investment
|
||||||
|
|
||||||
|
| Publication | Language | Audience | Priority | Opportunity |
|
||||||
|
|-------------|----------|----------|----------|-------------|
|
||||||
|
| **Gründerszene** (gründerszene.de) | DE | Demand | Medium | Startup/founder angle: "Ich habe eine Marktdaten-Plattform für Padel aufgebaut" |
|
||||||
|
| **Capital** / **WirtschaftsWoche** | DE | Demand | Low (hard to get in) | PR milestone: when you hit €1M ARR or raise |
|
||||||
|
| **Handelsblatt** | DE | Demand | Low (hard to get in) | Same — milestone-gated |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 6. Trade Shows & Events
|
||||||
|
|
||||||
|
### Tier 1 — Must Attend
|
||||||
|
|
||||||
|
| Event | Location | When | Audience | Why |
|
||||||
|
|-------|----------|------|----------|-----|
|
||||||
|
| **Padel World Summit** | Barcelona (Gran Via) | **May 26–28, 2026** | Both | THE dedicated padel B2B event globally. Conference + B2B Exhibition + Play Arena + Innovation Arena. Organized by Fira Barcelona + Inter Padel Cluster. Entire padel industry in one venue. **Higher padel ROI than FSB.** |
|
||||||
|
| **FSB Cologne** (Freiraum, Sport- und Bäderanlagen) | Cologne | **Oct 26–29, 2027** (28,000 visitors, 575 exhibitors) | **Both — entire German target market in one hall** | THE German sports facility trade show. Every court manufacturer, facility operator, architect, and club investor attends. Padel has had a dedicated section since ~2022. Next edition 2027. |
|
||||||
|
| **FIBO** | Cologne | **Apr 16–19, 2026** | Demand (fitness/sports operators) | Padel increasingly featured. Large German sports operator audience. |
|
||||||
|
| **Padel Pro Am** (various European stops) | EU | Year-round | Both | Industry networking alongside tournaments. Business audience present at VIP/sponsor days. |
|
||||||
|
|
||||||
|
### Tier 2 — High Value
|
||||||
|
|
||||||
|
| Event | Location | When | Audience | Why |
|
||||||
|
|-------|----------|------|----------|-----|
|
||||||
|
| **ISPO** | **Amsterdam** *(moved from Munich)* | **Nov 3–5, 2026** | Both | Broader sports industry. Court manufacturers exhibit. Padel presence growing. Note: no longer in Munich. |
|
||||||
|
| **Sportplatzwelt LIVE** | Cologne | **Jun 23, 2026** | Demand | 300+ sports facility decision-makers (municipal officials, club boards, architects — CPD credits from Architects' Chamber NRW). Padelnomics as the only SaaS speaker/exhibitor would stand out. Contact: ponsar@stadionwelt.de |
|
||||||
|
| **IAKS Congress** | Cologne | **Oct 28–31, 2025** | Demand | International sports facility planning congress. Architects, planners, facility investors. |
|
||||||
|
| **Madrid Open** (Mutua Madrid) | Madrid | April/May | Both | Has industry days. Spanish padel business community — most developed globally. Good for supply side sourcing. |
|
||||||
|
| **DTB Congress** / **DTB Vereinskongress** | Germany | Annual | Demand (**beachhead**) | DTB runs conferences for club managers. Attending as a "data partner" or speaker gets you in front of the exact beachhead segment. |
|
||||||
|
|
||||||
|
### Tier 3 — Monitor
|
||||||
|
|
||||||
|
| Event | Location | When | Notes |
|
||||||
|
|-------|----------|------|-------|
|
||||||
|
| **Expo Real** | Munich | **Oct 5–7, 2026** | Real estate exhibition — relevant when targeting real estate developer segment |
|
||||||
|
| **BAU Munich** | Munich | **Jan 11–15, 2027** | Construction industry — supply side contacts |
|
||||||
|
| **INTERNORGA** | Hamburg | **Mar 13–17, 2026** | Food/hospitality — relevant if targeting the F&B angle of padel halls |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 7. Associations & Bodies
|
||||||
|
|
||||||
|
### Primary Targets
|
||||||
|
|
||||||
|
| Association | Relevance | Contact Strategy |
|
||||||
|
|-------------|-----------|------------------|
|
||||||
|
| **DTB (Deutscher Tennis Bund)** — dtb.de | **Highest** — 1,400+ affiliated clubs, many adding padel. Runs the DPV. Has a Sportstättenentwicklung department. | Approach as data partner: "We'd like to contribute market data to DTB's padel expansion guidance for clubs." Offer to co-publish a Germany-specific padel market report. **Verified contacts:** Zamani Badawere (Projektmanager Padel) zamani.badawere@tennis.de; Fabienne Bretz (Leitung Vereins-/Mitglieder-/Trainerentwicklung) fabienne.bretz@tennis.de; Toralf Bitzer (Facility Management) toralf.bitzer@tennis.de. DTB runs **mypadel.de** — its own padel platform with newsletter, Instagram, TikTok. Platform contacts: Carina Meyer (events), Sandra Achatz (marketing/sales). |
|
||||||
|
| **DPV (Deutscher Padel Verband)** | High — specifically padel. Growing fast. | Same as DTB — they're integrated. |
|
||||||
|
| **DOSB (Deutscher Olympischer Sportbund)** | Medium — umbrella body. Runs Sportstättenentwicklung. Has grants for facility improvements. | Less direct but can open doors to Landessportbünde. |
|
||||||
|
| **Landessportbünde (16 state federations)** | High — they advise clubs on facility investments. Bayern, NRW, Baden-Württemberg most important. | Each LSB has a Sportstättenberatung (facility advice) service. Position Padelnomics as a tool they can recommend to clubs. |
|
||||||
|
|
||||||
|
### Secondary Targets
|
||||||
|
|
||||||
|
| Association | Relevance | Notes |
|
||||||
|
|-------------|-----------|-------|
|
||||||
|
| **FEP (Federación Europea de Pádel)** | Medium | European reach, good for Phase 3 expansion |
|
||||||
|
| **FIP (Federación Internacional de Pádel)** | Low-Medium | Global, less action-oriented for our purposes |
|
||||||
|
| **IHK (Chambers of Commerce)** | Medium | They advise businesses starting sports facilities. Gründerberatung teams could recommend Padelnomics. |
|
||||||
|
| **VDS (Verband für Sport- und Bauelemente)** | Medium | German sports construction equipment association. Supply side contacts here. |
|
||||||
|
| **IAKS (Intl. Association for Sports & Leisure Facilities)** | Medium | Global facility planning network. Good for thought leadership and conference speaking. |
|
||||||
|
| **Österreichischer Tennis Verband / Swiss Tennis** | Low-Medium | DACH expansion in Phase 2 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 8. YouTube & Podcasts
|
||||||
|
|
||||||
|
### Podcasts — Business/Industry Focused
|
||||||
|
|
||||||
|
| Podcast | Language | Audience | Reach | Action |
|
||||||
|
|---------|----------|----------|-------|--------|
|
||||||
|
| **Padel Alto Podcast** | EN/ES | Both | ⚠️ ~10–30K listeners | Guest pitch: "Data on where padel is actually profitable in Europe" — unique data angle gets you booked |
|
||||||
|
| **The Padel Show** (British Padel) | EN | Demand | ⚠️ ~5–15K | Guest pitch for UK market awareness |
|
||||||
|
| **Padel & Business** *(search for current active shows)* | ES | Both | ⚠️ Varies | Spanish padel business podcasts are the most developed. Good for supply side contacts. |
|
||||||
|
| **SportBusiness Podcast** | EN | Both | ~industry | Tier 2 — harder to get on but high credibility |
|
||||||
|
|
||||||
|
**Gap/Opportunity:** There is no dedicated German-language padel business podcast as of early 2025. This is both a distribution gap (nowhere to appear) and a content opportunity (start a "Padel Business Report" audio version of your newsletter).
|
||||||
|
|
||||||
|
### YouTube
|
||||||
|
|
||||||
|
| Channel | Audience | Why |
|
||||||
|
|---------|----------|-----|
|
||||||
|
| **FSB Cologne official** | Both | Trade show content — suppliers and facility operators watch this |
|
||||||
|
| **DTB YouTube** | Demand (beachhead) | Club-oriented content. Comment with data when padel content posted. |
|
||||||
|
| **Track Indoor, Padelcreations, World Padel** (manufacturer channels) | Supply | Understand what messaging works for court manufacturers |
|
||||||
|
| *"How to open a padel hall"* searches | Demand | Currently very thin — 1–2 low-production videos in German. **This is an SEO video opportunity.** A 10-minute "Padelhalle eröffnen: Was kostet es wirklich?" YouTube video with your data would likely rank #1 in Germany within weeks. |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 9. Competitor Audiences
|
||||||
|
|
||||||
|
### Sportstättenrechner.de
|
||||||
|
Generic sports facility cost calculator. Their audience is Padelnomics' audience.
|
||||||
|
- **Channels**: Primarily SEO + Google Ads. No meaningful LinkedIn or community presence.
|
||||||
|
- **Approach**: They're a generic sports calculator. Any club owner who found them via "Sporthalle kosten" is a Padelnomics prospect.
|
||||||
|
- **Action**: Target the same keywords they rank for. Their content is generic; yours is padel-specific + data-backed.
|
||||||
|
- **Note:** *Distinct from Sportplatzwelt* (sportplatzwelt.de) — both sites exist independently and cover overlapping topics. Sportplatzwelt is a richer media property (news, directory, events). See `docs/SPORTPLATZWELT_RESEARCH.md`.
|
||||||
|
|
||||||
|
### Padelfinder.de
|
||||||
|
- Germany's largest padel court directory (1,357 courts listed).
|
||||||
|
- More B2B than expected: has "Padel-Platz bauen?" CTA and "Partner werden" program for builders.
|
||||||
|
- Small overlap with demand side (players who want to become operators).
|
||||||
|
- Supply side relevance: court builders who partner with Padelfinder are Padelnomics supply-side prospects.
|
||||||
|
|
||||||
|
### World Padel Tour / Premier Padel
|
||||||
|
- Massive fan audience but almost entirely consumer/player.
|
||||||
|
- Business audience: sponsors and venue operators who host events.
|
||||||
|
- **Supply side angle**: WPT venue operators are a premium segment — they're already running halls.
|
||||||
|
|
||||||
|
### Court Manufacturers (Track Indoor, Padelcreations, Mondo, World Padel Construction)
|
||||||
|
- These companies are **Padelnomics' supply-side customers** AND indirect competitors (they do some advisory).
|
||||||
|
- Their LinkedIn followers and trade show attendees are exactly the audience Padelnomics wants.
|
||||||
|
- **Action**: Monitor their content. When a manufacturer posts about a new hall opening, the client who opened that hall is a Padelnomics demand-side prospect. Comment: "Congrats — our data shows [city] has strong occupancy for new halls right now."
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 10. Cold Outreach Targets
|
||||||
|
|
||||||
|
### Demand Side (aspiring owners)
|
||||||
|
Best sources for building a targeted outreach list:
|
||||||
|
|
||||||
|
1. **DTB club database** — DTB publishes an affiliated club directory. Filter by club size and region. Tennis clubs with 200+ members in cities with growing padel demand = ideal beachhead targets. Introduce as: "We built a free padel planning tool for clubs considering adding courts."
|
||||||
|
|
||||||
|
2. **LinkedIn Sales Navigator** — Filter: Germany + job titles (Vereinsvorsitzender, Geschäftsführer) + industry (Sport, Freizeit, Immobilien) + company size 1–50.
|
||||||
|
|
||||||
|
3. **Google Maps** — Search "Tennisclub [city]" → find club websites → find contact/Vorstand email. Manual but high conversion. The beachhead segment is reachable this way.
|
||||||
|
|
||||||
|
4. **FSB Cologne attendee list** — Available post-event. Previous attendees are a warm list of facility investors.
|
||||||
|
|
||||||
|
### Supply Side (builders)
|
||||||
|
Best sources:
|
||||||
|
|
||||||
|
1. **FSB Cologne exhibitor list** — Public. Every padel court manufacturer and sports construction company exhibits here. This IS the list.
|
||||||
|
|
||||||
|
2. **DTB supplier network** — DTB maintains a list of recommended suppliers for club infrastructure. Getting on this list = inbound supply-side leads.
|
||||||
|
|
||||||
|
3. **Google "Padelhalle bauen Anbieter"** — Manually find the 20–30 German-market court builders. Most have contact forms. Cold email with: "We have X aspiring hall owners in our platform actively seeking builder quotes."
|
||||||
|
|
||||||
|
4. **XING / LinkedIn** — Search "Padel court construction Germany" and variations. Very small world — maybe 30–50 relevant companies in DACH.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Top 10 Priority Actions
|
||||||
|
|
||||||
|
Sorted by effort-to-impact ratio:
|
||||||
|
|
||||||
|
| # | Action | Effort | Impact | Side |
|
||||||
|
|---|--------|--------|--------|------|
|
||||||
|
| 1 | **Email DTB Padel team** (zamani.badawere@tennis.de) offering to co-publish State of Padel Q1 2026 report via mypadel.de | Low (1 email, contacts verified) | Very High — reaches ~1,400 affiliated clubs | Demand |
|
||||||
|
| 2 | **Pitch Padel World Press** a guest article using your Playtomic occupancy data | Low (1 pitch) | High — 100K+ readers, backlink | Both |
|
||||||
|
| 3 | **LinkedIn organic: weekly data insight posts** (3 posts/week, German + English) | Medium (ongoing) | High — exactly right audience, compounds | Both |
|
||||||
|
| 4 | **Sportplatzwelt editorial pitch** (redaktion@stadionwelt.de) — case study article on data-driven padel management | Low (1 email) | High — DE B2B facility media, only software in padel section | Both |
|
||||||
|
| 5 | **DTB affiliated club outreach** — 50 clubs, beachhead pitch | Medium (list building + emails) | Very High — highest-converting segment | Demand |
|
||||||
|
| 6 | **FSB Cologne exhibitor list** (supply side acquisition) — cold email padel court manufacturers | Medium (1–2 days research + emails) | High — entire German supply side in one list | Supply |
|
||||||
|
| 7 | **XING Sportstätten und Freizeitanlagen group** — post + engage | Low (30 min/week) | Medium-High — German-specific, less competitive than LinkedIn | Demand |
|
||||||
|
| 8 | **Padel Alto Podcast guest pitch** — "padel occupancy data across Europe" | Low (1 email) | Medium — English audience, brand authority | Both |
|
||||||
|
| 9 | **"Padelhalle eröffnen" YouTube video** — 10 minutes, uses your cost data | High (production) | High — currently no German-language video, would rank fast | Demand |
|
||||||
|
| 10 | **Register for Padel World Summit** (May 26–28, 2026, Barcelona) — global padel B2B event | Low (register now) | High — entire padel industry, supply side sourcing, potential speaking slot | Both |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## What Doesn't Exist Yet (Opportunity Gaps)
|
||||||
|
|
||||||
|
These channels don't exist but should, and Padelnomics could own them:
|
||||||
|
|
||||||
|
- **No German-language padel business podcast** — "Der Padel Business Report" as a bi-weekly audio show
|
||||||
|
- **No German-language "how to open a padel hall" YouTube video** with real data — rank within weeks
|
||||||
|
- **No padel hall operator community in Germany** — a Slack or Discord for German-language padel hall owners/operators would be a product moat, not just a marketing channel. Padelnomics could own this.
|
||||||
|
- **No quarterly padel market report in German** — the DTB/DPV publish player stats but no investment-focused market report
|
||||||
|
|
||||||
|
> Note: Member counts and activity levels marked ⚠️ should be verified before investing heavily in that channel. Verified items are based on solid industry knowledge through mid-2025.
|
||||||
142
docs/SPORTPLATZWELT_RESEARCH.md
Normal file
142
docs/SPORTPLATZWELT_RESEARCH.md
Normal file
@@ -0,0 +1,142 @@
|
|||||||
|
# Sportplatzwelt Research Report for Padelnomics
|
||||||
|
|
||||||
|
**Prepared:** 2026-02-25
|
||||||
|
**Purpose:** Evaluate Sportplatzwelt as a partnership/advertising target for Padelnomics, a B2B SaaS platform for padel hall entrepreneurs and court builders in DACH.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. Company Identity and Ownership
|
||||||
|
|
||||||
|
Sportplatzwelt (sportplatzwelt.de) is **not a standalone brand** — it is one of several platforms operated by **Stadionwelt GmbH**, headquartered at:
|
||||||
|
|
||||||
|
**Schloßstraße 23, D-50321 Brühl, North Rhine-Westphalia, Germany**
|
||||||
|
|
||||||
|
**In summary:** Sportplatzwelt is the grassroots/municipal sports facility brand of Stadionwelt GmbH. Stadionwelt (~23 staff) is the parent brand focused on stadiums and large arenas. Sportplatzwelt covers smaller venues: sports fields, halls, pools, ice rinks, leisure facilities, and club management.
|
||||||
|
|
||||||
|
**Key contacts:**
|
||||||
|
| Role | Contact |
|
||||||
|
|------|---------|
|
||||||
|
| Editorial | redaktion@stadionwelt.de, +49 2232 5772-0 |
|
||||||
|
| Marketing/Sales | info@sportplatzwelt.de, +49 2232 5772-20 |
|
||||||
|
| Shop/Orders | shop@stadionwelt.de, +49 2232 5772-130 |
|
||||||
|
| Event (LIVE) | ponsar@stadionwelt.de |
|
||||||
|
| LinkedIn | Christopher Pauer, Gabriela Garrido (Sportplatzwelt); +Ganesh Pundt, Alexander Groß, Pauline Baran (Stadionwelt) |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 2. Business Model
|
||||||
|
|
||||||
|
Multi-revenue B2B media and marketplace model:
|
||||||
|
|
||||||
|
### 2a. Company Listings / Supplier Directory (primary)
|
||||||
|
Companies register as "Anbieter" and receive: profile page, PR/news coverage, logo in weekly newsletter (three editions: outdoor, indoor, racket sports), lead forwarding, annual print Branchenbuch inclusion, 40%+ discount on Sportplatzwelt LIVE tickets.
|
||||||
|
|
||||||
|
**Pricing:** Not published — request "Mediadaten" via info@sportplatzwelt.de. Estimated **€1,500–€5,000/year** based on comparable German B2B portals.
|
||||||
|
|
||||||
|
### 2b. Print and Digital Publications
|
||||||
|
- **Kompendium** series: handbooks for Sportplatz, Sporthalle, Freizeitanlagen (€29.90 each)
|
||||||
|
- **Sportplatzwelt INSIDE** magazine: thematic issues
|
||||||
|
- **Specials/eBooks**: e.g., "Racket Sports 2024" (54 pages, free to registered users)
|
||||||
|
- **Branchenbuch 2026**: annual directory of ~300 companies
|
||||||
|
|
||||||
|
### 2c. Events — Sportplatzwelt LIVE
|
||||||
|
- **2025:** May 13, RheinEnergieSTADION Cologne, 300+ attendees
|
||||||
|
- **2026:** June 23, Kölner STRASSENKICKER BASE, Cologne
|
||||||
|
- CPD credits from Architects' Chamber NRW
|
||||||
|
- Contact: ponsar@stadionwelt.de
|
||||||
|
|
||||||
|
### 2d. Consulting / Matching Service
|
||||||
|
"Sie suchen – wir finden!" — free facility-operator-to-supplier matching. Functions as lead-gen for listed companies.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 3. Content Strategy
|
||||||
|
|
||||||
|
### Topics
|
||||||
|
Full lifecycle of sports facility infrastructure: Sportplatz, Sporthalle, Schwimmbad, Eisanlagen, Freizeitanlagen. Thematic pillars: Football, Racket Sports (Tennis/Padel/Squash), Nachhaltigkeit, Förderung, Club management, digitalization.
|
||||||
|
|
||||||
|
### Publishing Frequency
|
||||||
|
Multiple articles per week across all sections. Active and continuously updated.
|
||||||
|
|
||||||
|
### Content Format
|
||||||
|
- Short news articles (200–400 words) on facility openings and product launches
|
||||||
|
- Technical planning guides and cost examples
|
||||||
|
- Case studies with supplier attribution
|
||||||
|
- Advertorial/sponsored content embedded in editorial flow — **Padelnomics should target this format**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 4. Audience
|
||||||
|
|
||||||
|
1. Municipal sports officials (Sportämter) — confirmed through 10-year ADS partnership
|
||||||
|
2. Sports club board members and treasurers
|
||||||
|
3. Sports facility planners and architects
|
||||||
|
4. Construction companies and contractors
|
||||||
|
5. Equipment and surface suppliers (primary paying customers)
|
||||||
|
6. Sports facility operators
|
||||||
|
|
||||||
|
**Estimated reach:** 5,000–25,000 unique monthly visitors, 2,000–8,000 newsletter subscribers. Highly targeted, low-volume, high-value B2B audience.
|
||||||
|
|
||||||
|
**LinkedIn:** 1,637 followers (Sportplatzwelt), 7,933 (Stadionwelt parent brand).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 5. Padel Coverage
|
||||||
|
|
||||||
|
**Dedicated section** at `/themenwelt/padel/` with 16+ articles:
|
||||||
|
|
||||||
|
### Content Quality
|
||||||
|
Infrastructure- and construction-focused. Short facility-opening announcements (200–300 words) tied to court suppliers. **No coverage of padel as an ongoing business** (operations, booking software, revenue optimization, yield management) — the exact gap Padelnomics fills.
|
||||||
|
|
||||||
|
### Listed Padel Companies (Anbieter)
|
||||||
|
1. P4U GmbH – Padel 4 U
|
||||||
|
2. PADELCREATIONS INTERNATIONAL *(dominant in news articles)*
|
||||||
|
3. Real Padel GmbH
|
||||||
|
4. Courtwall International Holding AG
|
||||||
|
5. SuperSub Sportsystems B.V.
|
||||||
|
6. Sportbeleuchtung Deutschland GmbH
|
||||||
|
7. Oostendorp Flutlicht Systeme GmbH
|
||||||
|
8. Street Racket
|
||||||
|
|
||||||
|
**All 8 are hardware/construction suppliers.** Zero SaaS, analytics, or operations management software. **Padelnomics would be the only software company in the padel section.**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 6. Newsletter
|
||||||
|
|
||||||
|
Three editions: Outdoor, Indoor, Racket Sports. Weekly frequency (inferred from LinkedIn cadence). Subscriber count not disclosed. The **Racket Sports newsletter edition** directly reaches tennis/padel/squash facility decision-makers — Padelnomics's exact target.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 7. Relationship: Sportplatzwelt ↔ Stadionwelt
|
||||||
|
|
||||||
|
**They are the same company.** Same address, phone, email infrastructure, shared e-commerce shop, shared employees. Sportplatzwelt = grassroots brand; Stadionwelt = stadium/arena brand. One call/email (info@sportplatzwelt.de) reaches both.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 8. Recommendation
|
||||||
|
|
||||||
|
### Priority: HIGH — editorial entry point first
|
||||||
|
|
||||||
|
**Why it matters:**
|
||||||
|
- Reaches construction-phase buyers: tennis clubs and municipal officials evaluating padel court builds
|
||||||
|
- Zero software competition in the padel Anbieter section
|
||||||
|
- Credibility transfer into German sports infrastructure sector
|
||||||
|
|
||||||
|
### Recommended Entry Sequence
|
||||||
|
|
||||||
|
**Step 1 — Editorial pitch (free):** Contact `redaktion@stadionwelt.de` with a case study pitch: "Digitale Tools für Padel-Betreiber: Wie Data-Driven Management Padel-Anlagen profitabler macht." A real customer story using Padelnomics data to optimize pricing/occupancy. Fits their advertorial model. Gets published in news feed + newsletter.
|
||||||
|
|
||||||
|
**Step 2 — Listing package:** Contact `info@sportplatzwelt.de` (+49 2232 5772-20) for Mediadaten. Target: company profile in padel Anbieter section + Racket Sports newsletter placement. Budget: €1,500–€4,000/year.
|
||||||
|
|
||||||
|
**Step 3 — Branchenbuch:** Included in listing. ~300 companies, distributed November. Only software company among hardware suppliers — clear differentiation.
|
||||||
|
|
||||||
|
**Step 4 — Sportplatzwelt LIVE 2026 (June 23, Cologne):** 300 highly qualified attendees (facility decision-makers, architects earning CPD credits). Exhibition table or speaking slot on "digitalization for padel clubs." Contact: `ponsar@stadionwelt.de`.
|
||||||
|
|
||||||
|
### What NOT to do
|
||||||
|
- Don't lead with banner advertising (weak ROI in niche B2B media)
|
||||||
|
- Don't target the Stadionwelt brand (large arenas, wrong audience)
|
||||||
|
- Don't expect high inbound volume — this is brand-building and credibility, not lead gen
|
||||||
|
|
||||||
|
### Overall
|
||||||
|
Low cost (€1,500–4,000/year), unique positioning (only software company), precisely right audience. Start with editorial pitch, convert to paid listing once the case study runs.
|
||||||
161
scratch/articles/padel-business-plan-bank-de.md
Normal file
161
scratch/articles/padel-business-plan-bank-de.md
Normal file
@@ -0,0 +1,161 @@
|
|||||||
|
---
|
||||||
|
title: "Was deutsche Banken wirklich im Padel-Businessplan sehen wollen"
|
||||||
|
slug: padel-business-plan-bank
|
||||||
|
language: de
|
||||||
|
url_path: /de/blog/padel-business-plan-bank
|
||||||
|
meta_description: "Kapitaldienstdeckungsgrad 1,2–1,5x, KfW-Förderprogramme, Covenant-Compliance: Was Banken und die KfW in einem Padel-Businessplan erwarten."
|
||||||
|
cornerstone: C3
|
||||||
|
---
|
||||||
|
|
||||||
|
# Was deutsche Banken wirklich im Padel-Businessplan sehen wollen
|
||||||
|
|
||||||
|
Die meisten abgelehnten Finanzierungsanfragen für Padelhallen scheitern nicht daran, dass das Projekt schlecht ist. Sie scheitern daran, dass der Businessplan Fragen offen lässt, die jeder Firmenkundenbetreuer stellt — und die sich mit ein bisschen Vorbereitung alle beantworten lassen. Wer mit einer Volksbank, Sparkasse oder Hausbank ins Erstgespräch geht, muss wissen, was auf der anderen Seite des Tisches erwartet wird. Dieser Artikel erklärt es.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Was Banken wirklich wollen: Der Kapitaldienstdeckungsgrad
|
||||||
|
|
||||||
|
Bevor es um Gliederungspunkte geht, ein kurzer Ausflug in die Kreditperspektive: Banken vergeben keine Förderkredite aus Wohlwollen. Sie kalkulieren Ausfallrisiken. Das zentrale Instrument dabei ist der **Kapitaldienstdeckungsgrad (KDDB)** — im internationalen Kontext als DSCR (Debt Service Coverage Ratio) bekannt.
|
||||||
|
|
||||||
|
Die Formel ist einfach: Wie viel Cashflow steht nach Kosten zur Verfügung, um Zins und Tilgung zu bedienen?
|
||||||
|
|
||||||
|
```
|
||||||
|
KDDB = operativer Cashflow ÷ jährlicher Kapitaldienst (Zins + Tilgung)
|
||||||
|
```
|
||||||
|
|
||||||
|
Der Standard im deutschen Mittelstandskreditgeschäft: **1,2 bis 1,5x**. Das bedeutet: Für jeden Euro Kapitaldienst muss das Projekt 1,20 bis 1,50 Euro Cashflow erwirtschaften. Liegt der Wert unter 1,2 — entweder weil die Projektionen zu knapp kalkuliert sind oder weil zu wenig Eigenkapital eingebracht wird — ist die Absage in der Regel programmiert, es sei denn, es wird mehr Eigenkapital nachgeschossen.
|
||||||
|
|
||||||
|
**Was das für den Businessplan bedeutet:** Die Rentabilitätsvorschau und die Liquiditätsplanung müssen so aufgebaut sein, dass der Betreuer den KDDB auf einem Blick nachrechnen kann. Wer das nicht transparent macht, zwingt den Betreuer, selbst zu rechnen — und er rechnet dann konservativer als Sie.
|
||||||
|
|
||||||
|
Hinzu kommt die **Eigenkapitalquote**: Banken erwarten in aller Regel eine Eigenbeteiligung von mindestens 20 bis 30 Prozent der Gesamtinvestition. KfW-Förderprogramme können einen Teil des Eigenkapitals ersetzen (dazu unten mehr), aber sie ersetzen es nie vollständig. Wer mit 10 Prozent Eigenkapital an den Tisch kommt, wird selten Erfolg haben.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Die vollständige Gliederung eines Padel-Businessplans
|
||||||
|
|
||||||
|
Banken arbeiten mit einer klaren inneren Checkliste. Wer den Businessplan so aufbaut, dass jeder Punkt abgehakt werden kann, erleichtert die Kreditentscheidung erheblich. Hier die vollständige Gliederung für ein Padelhallen-Projekt nach dem KfW-Gründerkredit-Standard:
|
||||||
|
|
||||||
|
### 1. Gründer- und Managementprofil
|
||||||
|
|
||||||
|
Wer sind Sie, und warum sind Sie die richtige Person für dieses Projekt? Banken finanzieren Menschen, nicht nur Konzepte. Relevante Erfahrung aus dem Sport-, Gastronomie- oder Facility-Management-Bereich stärkt die Glaubwürdigkeit erheblich. Lücken im Managementteam — etwa wenn niemand kaufmännische Erfahrung mitbringt — sind rote Flaggen, die adressiert werden müssen, zum Beispiel durch einen erfahrenen Steuerberater als externer Berater oder einen Co-Gründer mit entsprechendem Hintergrund.
|
||||||
|
|
||||||
|
### 2. Vorhabensbeschreibung
|
||||||
|
|
||||||
|
Konkret und spezifisch: Wo genau entsteht die Halle? Wie viele Courts (Indoor, Outdoor, oder beides)? Was ist das geplante Eröffnungsdatum? Was ist die Zielgruppe — Breitensport, Mitglieder, Turnierbetrieb? Vage Beschreibungen ("eine moderne Padel-Anlage im Großraum München") signalisieren, dass die Planung noch nicht ausgereift ist.
|
||||||
|
|
||||||
|
### 3. Marktanalyse
|
||||||
|
|
||||||
|
Hier scheitern überraschend viele Businesspläne — nicht weil die Analyse fehlt, sondern weil sie zu generisch ist. "Padel ist der am schnellsten wachsende Sport Europas" interessiert einen Kreditbetreuer herzlich wenig. Was ihn interessiert: Welche Padelhallen gibt es im Einzugsgebiet (15-Minuten-Fahrzeit)? Wie sind deren Auslastungsgrade? Gibt es ungedeckte Nachfrage? Die Marktanalyse muss lokal und konkret sein.
|
||||||
|
|
||||||
|
### 4. Leistungsangebot
|
||||||
|
|
||||||
|
Was genau verkaufen Sie, und zu welchen Preisen? Court-Vermietung (Preismodell: Stoßzeiten vs. Off-Peak, Einzelstunde vs. Abo), Coaching-Programme, Food & Beverage, Merchandise. Für jeden Umsatzstrom muss die Preisgestaltung und die Umsatzerwartung plausibel hergeleitet werden.
|
||||||
|
|
||||||
|
### 5. Marketingkonzept
|
||||||
|
|
||||||
|
Wie füllen Sie die Courts? Ein plausibles Pre-Opening-Konzept (Vorverkauf, Gründungsrabatte, lokale Kooperationen) und ein laufendes Marketingbudget sind Pflicht. Banken wissen, dass Auslastung nicht von selbst kommt — wer keinen Vermarktungsplan hat, wird die Projektionen nicht erreichen.
|
||||||
|
|
||||||
|
### 6. Betriebskonzept
|
||||||
|
|
||||||
|
Stellenplan (wie viele Vollzeitstellen, welche Funktionen), Öffnungszeiten, Buchungssystem, Wartungsplan. Der Personalkostenblock ist oft der größte laufende Kostenblock — er muss plausibel und vollständig sein.
|
||||||
|
|
||||||
|
### 7. Investitionsplan (CAPEX)
|
||||||
|
|
||||||
|
Banken erwarten keine Schätzungen, sondern Positionen: Rohbau, Hallenstruktur, Court-Belag, Beleuchtung (LED-Standard für Padel ist energie- und kostenintensiv), Buchungssystem, Einrichtung Umkleiden und Lounge, Baunebenkosten, Notarkosten, Maklerkosten. Idealerweise belegt durch Angebote. "Baukosten gesamt: 600.000 Euro" ohne Aufschlüsselung ist kein Investitionsplan.
|
||||||
|
|
||||||
|
### 8. Mittelverwendungsplan
|
||||||
|
|
||||||
|
Wo fließt jeder Euro des Kredits hin? Dieser Plan schlägt die Brücke zwischen Investitionsplan und Finanzierungsplan. Er muss auf einzelne CAPEX-Positionen verweisen.
|
||||||
|
|
||||||
|
### 9. Finanzierungsplan
|
||||||
|
|
||||||
|
Wie ist die Finanzierung strukturiert? Eigenkapital (Betrag, Quelle), Förderkredite (KfW, Landesbank), Bankdarlehen, Gesellschafterdarlehen. Und: Welche KfW-Programme wurden geprüft? Wer KfW hier nicht erwähnt, signalisiert mangelnde Vorbereitung.
|
||||||
|
|
||||||
|
### 10. Rentabilitätsvorschau (GuV-Planung)
|
||||||
|
|
||||||
|
Fünf-Jahres-Projektion mit monatlicher Auflösung für Jahr 1. Umsatzannahmen müssen explizit hergeleitet sein: Anzahl Courts × Buchungsstunden × Auslastungsgrad × Preis. Separat für jeden Umsatzstrom. Kostenblöcke müssen vollständig sein (Miete, Personal, Energie, Versicherungen, Marketing, Instandhaltungsrücklage, Abschreibungen, Zinsen, Tilgung).
|
||||||
|
|
||||||
|
### 11. Liquiditätsplanung (Cashflow)
|
||||||
|
|
||||||
|
Monatsgenaue Cashflow-Planung für Jahr 1, quartalsweise für Jahr 2–3. Besonderes Augenmerk auf die Vorbereitungsphase: Wann laufen Mietverbindlichkeiten auf? Wann beginnt der Umsatz? Das Liquiditätsminimum vor Eröffnung ist oft das Risiko, das Banken am meisten beschäftigt.
|
||||||
|
|
||||||
|
### 12. Risikoanalyse
|
||||||
|
|
||||||
|
Drei Szenarien mindestens: Basisfall, konservativer Fall (10–15% geringere Auslastung, 10% höhere Baukosten), Worst Case. Was sind die Risikotreiber, und was sind die Gegenmaßnahmen? Ein Plan ohne Risikoanalyse wirkt naiv — und lässt Banken selbst die schlimmsten Szenarien durchrechnen.
|
||||||
|
|
||||||
|
### 13. Eröffnungsbilanz
|
||||||
|
|
||||||
|
Die Bilanz am ersten Betriebstag: Aktiva (Anlagevermögen nach CAPEX, Anfangsliquidität) versus Passiva (Eigenkapital, Darlehensverbindlichkeiten). Sie zeigt, ob die Finanzierungsstruktur rechnerisch aufgeht.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## KfW-Förderprogramme für Padelhallen
|
||||||
|
|
||||||
|
Die KfW bietet mehrere Programme, die für Padelhallen-Projekte relevant sein können. Wichtig: KfW-Kredite werden nicht direkt bei der KfW beantragt, sondern über die Hausbank. Die Hausbank leitet den Antrag weiter und trägt einen Teil des Ausfallrisikos mit — was erklärt, warum sie ein starkes Eigeninteresse an der Qualität des Businessplans hat.
|
||||||
|
|
||||||
|
**KfW Unternehmerkredit (037/047)**
|
||||||
|
Das klassische Investitionsprogramm für etablierte Unternehmen. Finanzierungsvolumen bis 25 Millionen Euro, bis zu 100 Prozent der förderfähigen Investitionskosten. Besonders geeignet, wenn ein bestehendes Unternehmen (z.B. ein bestehender Sportbetrieb) die Padelhalle als neue Einheit aufbaut.
|
||||||
|
|
||||||
|
**ERP-Kapital für Gründung (058)**
|
||||||
|
Bis zu 500.000 Euro nachrangiges Kapital für Unternehmensgründungen. Das Besondere: Es wird bilanziell wie Eigenkapital behandelt und verbessert so die Eigenkapitalquote für weitere Bankfinanzierungen. Für Neugründungen besonders attraktiv.
|
||||||
|
|
||||||
|
**KfW-Gründerkredit StartGeld (067)**
|
||||||
|
Bis 125.000 Euro für Kleinstgründungen. Für den Bau einer vollwertigen Padelhalle meist zu klein, aber relevant für die frühe Planungsphase oder als ergänzende Finanzierung für Gründer ohne größere Eigenmittel.
|
||||||
|
|
||||||
|
**Landesspezifische Programme**
|
||||||
|
Jedes Bundesland hat eigene Förderprogramme, die KfW-Mittel ergänzen können:
|
||||||
|
- NRW: NRW.BANK mit eigenen Gründungs- und Investitionsprogrammen
|
||||||
|
- Bayern: Bayern Kapital und LfA Förderbank Bayern
|
||||||
|
- Berlin: Investitionsbank Berlin (IBB)
|
||||||
|
- Weitere: L-Bank (BW), IFB Hamburg, SAB (Sachsen), etc.
|
||||||
|
|
||||||
|
Diese Programme werden in zu vielen Businessplänen schlicht ignoriert — obwohl ihre Kombination mit KfW-Mitteln die Eigenkapitalanforderungen erheblich reduzieren kann.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Die fünf häufigsten Fehler im Padel-Businessplan
|
||||||
|
|
||||||
|
### 1. Generische Marktanalyse statt lokalem Wettbewerbsbild
|
||||||
|
|
||||||
|
"Der Padel-Markt wächst in Europa um X Prozent pro Jahr" ist kein Argument für eine Finanzierung in Augsburg. Was zählt: Wie viele Courts gibt es im Einzugsgebiet? Welche Auslastung haben sie? Gibt es eine Nachfragelücke — oder ist der Markt schon versorgt?
|
||||||
|
|
||||||
|
### 2. Unplausible Auslastungsannahmen
|
||||||
|
|
||||||
|
70 oder 80 Prozent Auslastung ab dem ersten Betriebsmonat — das sieht man in Businessplänen regelmäßig. Kreditbetreuer sehen es auch regelmäßig, und sie disqualifizieren es sofort. Realistisch ist ein Hochlauf: Jahr 1 mit 40–50 Prozent, Jahr 2 mit 55–65 Prozent, Vollbetrieb ab Jahr 3. Wer niedrige Anfangsauslastung plant, beweist, dass er das operative Risiko versteht.
|
||||||
|
|
||||||
|
### 3. Keine Sensitivitätsanalyse
|
||||||
|
|
||||||
|
Was passiert, wenn die Auslastung 10 Prozentpunkte unter Plan liegt? Wenn die Baukosten 20 Prozent überziehen? Wenn ein Court-Belag nach zwei Jahren ausgetauscht werden muss? Diese Fragen werden im Bankgespräch gestellt. Wer die Antwort nicht vorbereitet hat, improvisiert — und das ist selten überzeugend.
|
||||||
|
|
||||||
|
### 4. Unvollständiger CAPEX
|
||||||
|
|
||||||
|
Häufig unterschätzt: Nebenkosten des Baus (Architektenhonorar, Baunebenkosten, Baugenehmigungsgebühren), Working Capital für die Anlaufphase (3–6 Monate Betriebskosten als Puffer), Kosten der Betriebsaufnahme (Marketing, Erstausstattung, Versicherungen vor Eröffnung), Unvorhergesehenes (Bankstandard: 10 Prozent Contingency auf den Rohbau). Wer diese Positionen vergisst, finanziert sich zu knapp — und die Bank bemerkt es.
|
||||||
|
|
||||||
|
### 5. KfW nicht adressiert
|
||||||
|
|
||||||
|
Ein Businessplan ohne Auseinandersetzung mit den verfügbaren Förderprogrammen signalisiert: Entweder hat der Gründer die Hausaufgaben nicht gemacht, oder er hat nachgerechnet und es lohnt sich nicht (was dann erklärungsbedürftig ist). Beides ist keine gute Ausgangsposition.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Persönliche Bürgschaft: Was das wirklich bedeutet
|
||||||
|
|
||||||
|
Wer eine Padelhalle als Einzelstandort finanziert, wird eine persönliche Bürgschaft unterzeichnen. Das ist keine Formalie. Es bedeutet: Scheitert das Projekt, haftet der Gründer mit seinem Privatvermögen — Ersparnisse, Immobilien, Rentenansprüche je nach Struktur.
|
||||||
|
|
||||||
|
In Businessplänen wird dieser Punkt häufig weggelassen oder in einem Satz abgehandelt. Das ist ein Fehler — nicht weil die Bank den Hinweis braucht (sie weiß es), sondern weil Sie als Gründer die Konsequenz durchdrungen haben sollten, bevor Sie unterschreiben.
|
||||||
|
|
||||||
|
Fragen, die Sie sich vor der Bürgschaftsübernahme stellen sollten:
|
||||||
|
- Wie hoch ist mein persönliches Nettovermögen, das ich im Notfall einsetzen kann?
|
||||||
|
- Gibt es Vermögenswerte, die ich herauslösen kann (z.B. durch Schenkung an Ehepartner vor Gründung — hier unbedingt Rechtsberatung einholen, da Anfechtungsrisiken bestehen)?
|
||||||
|
- Wie viele Monate Verlustbetrieb kann ich aus eigenen Mitteln abfedern?
|
||||||
|
|
||||||
|
Wer diese Fragen beantwortet hat, hat das Projekt ernst genommen.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Wie Padelnomics hilft
|
||||||
|
|
||||||
|
Ein bankfähiger Businessplan steht und fällt mit der Qualität der Finanzdaten im Hintergrund. Padelnomics generiert aus Ihrem Finanzmodell eine vollständige Rentabilitätsvorschau, Liquiditätsplanung und Sensitivitätsanalyse — formatiert nach dem Standard, den deutsche Hausbanken und KfW-Bearbeiter erwarten. Kein generisches Excel-Template, sondern Zahlen, die zu Ihrer spezifischen Anlage passen: Anzahl Courts, Standortmiete, geplante Eröffnung, lokale Marktdaten.
|
||||||
|
|
||||||
|
Der Businessplan-Export enthält alle 13 Gliederungsabschnitte mit automatisch befüllten Finanztabellen, einer KDDB-Berechnung für alle drei Szenarien und einer Übersicht der relevanten KfW-Programme für Ihr Bundesland.
|
||||||
|
|
||||||
|
[→ Businessplan erstellen]
|
||||||
161
scratch/articles/padel-business-plan-bank-requirements-en.md
Normal file
161
scratch/articles/padel-business-plan-bank-requirements-en.md
Normal file
@@ -0,0 +1,161 @@
|
|||||||
|
---
|
||||||
|
title: "What German Banks Really Want to See in a Padel Hall Business Plan"
|
||||||
|
slug: padel-business-plan-bank-requirements
|
||||||
|
language: en
|
||||||
|
url_path: /en/blog/padel-business-plan-bank-requirements
|
||||||
|
meta_description: "DSCR 1.2–1.5x, KfW programs, covenant compliance: what banks expect from a padel hall business plan in Germany, from people who've reviewed them."
|
||||||
|
cornerstone: C3
|
||||||
|
---
|
||||||
|
|
||||||
|
# What German Banks Really Want to See in a Padel Hall Business Plan
|
||||||
|
|
||||||
|
Most rejected financing applications for padel halls don't fail because the project is bad. They fail because the business plan leaves questions open that every commercial loan officer will ask — questions that are entirely answerable with proper preparation. If you're walking into a first meeting with a Volksbank, Sparkasse, or any German regional bank, you need to know what's expected on the other side of the table. This article covers it.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## The Number That Determines Everything: DSCR
|
||||||
|
|
||||||
|
Before we get to document structure, a brief detour into how banks think. Banks don't lend out of enthusiasm for padel's growth trajectory. They model default risk. The central instrument is the **Debt Service Coverage Ratio (DSCR)** — in German: *Kapitaldienstdeckungsgrad (KDDB)*.
|
||||||
|
|
||||||
|
The formula:
|
||||||
|
|
||||||
|
```
|
||||||
|
DSCR = operating cash flow ÷ annual debt service (interest + principal)
|
||||||
|
```
|
||||||
|
|
||||||
|
The standard in German SME lending: **1.2 to 1.5x**. For every €1 of debt service, the project needs to generate €1.20–1.50 of cash flow. Below 1.2x, you'll either face rejection or be asked to inject more equity. A plan that doesn't make the DSCR calculation transparent forces the loan officer to do the math himself — and he'll be more conservative than you.
|
||||||
|
|
||||||
|
The other hard constraint is **equity contribution** (*Eigenkapitalquote*): banks typically expect the founder to put in 20–30% of total investment. KfW subsidy programs can partly substitute for equity (more on that below), but they never replace it entirely. Coming to the table with 10% equity rarely works.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## The 13 Sections of a German Padel Hall Business Plan
|
||||||
|
|
||||||
|
German banks work from a mental checklist. Structure your plan so each item gets checked off clearly, and you reduce friction in the credit decision considerably. Here's the full framework, based on the KfW *Gründerkredit* standard:
|
||||||
|
|
||||||
|
### 1. Founder and Management Profile (*Gründer- und Managementprofil*)
|
||||||
|
|
||||||
|
Who are you, and why are you the right person for this project? Banks finance people as much as they finance concepts. Relevant experience in sports operations, hospitality, or facility management carries real weight. Gaps in the management team — say, nobody with commercial or P&L experience — are red flags that need to be addressed directly, whether through a qualified co-founder, an experienced external advisor, or a committed board member.
|
||||||
|
|
||||||
|
### 2. Project Description (*Vorhabensbeschreibung*)
|
||||||
|
|
||||||
|
Specific and concrete: Where exactly is the facility? How many courts — indoor, outdoor, or both? Target opening date? Who is the target customer — recreational players, members, competitive players? Vague descriptions ("a modern padel facility in greater Munich") signal that planning hasn't progressed far enough.
|
||||||
|
|
||||||
|
### 3. Market Analysis (*Marktanalyse*)
|
||||||
|
|
||||||
|
This is where many business plans fail — not because the section is missing, but because it's generic. "Padel is the fastest-growing sport in Europe" is not a financial argument. What matters: How many padel facilities exist within a 15-minute drive? What are their utilization rates? Is there unmet demand, or is the local market already served? The analysis must be local and specific. (More on how to research this in our location guide.)
|
||||||
|
|
||||||
|
### 4. Service Offering (*Leistungsangebot*)
|
||||||
|
|
||||||
|
What exactly are you selling, at what prices? Court rental pricing (peak vs. off-peak, hourly vs. subscription), coaching programs, food and beverage, memberships, merchandise. Every revenue stream needs a price point and a volume assumption, both of which need to be traceable back to comparable benchmarks.
|
||||||
|
|
||||||
|
### 5. Marketing Concept (*Marketingkonzept*)
|
||||||
|
|
||||||
|
How will courts get filled? A credible pre-opening plan (pre-sale memberships, launch discounts, local partnerships with sports clubs) and an ongoing marketing budget are not optional. Banks understand that utilization doesn't happen by itself. A plan without a marketing budget is a plan that won't hit its revenue projections.
|
||||||
|
|
||||||
|
### 6. Operating Concept (*Betriebskonzept*)
|
||||||
|
|
||||||
|
Staffing plan (how many FTE, what roles), operating hours, booking system, maintenance schedule. Payroll is typically the largest recurring cost line — it needs to be complete and defensible.
|
||||||
|
|
||||||
|
### 7. CAPEX Investment Plan (*Investitionsplan*)
|
||||||
|
|
||||||
|
Banks want line items, not totals. Construction costs broken down by trade, court surfacing, LED lighting (padel lighting is energy-intensive and expensive), booking system, locker room and lounge fit-out, ancillary construction costs, notary and permitting fees. Ideally supported by contractor quotes. "Total construction: €600k" is not an investment plan.
|
||||||
|
|
||||||
|
### 8. Use of Funds (*Mittelverwendungsplan*)
|
||||||
|
|
||||||
|
Where does every euro of the loan go? This bridges the gap between the CAPEX plan and the financing structure, mapping loan proceeds to specific investment line items.
|
||||||
|
|
||||||
|
### 9. Financing Structure (*Finanzierungsplan*)
|
||||||
|
|
||||||
|
How is the project financed? Equity (amount, source), KfW loans, bank loans, shareholder loans. And critically: which KfW programs have been evaluated? Failing to mention KfW signals you haven't done your homework.
|
||||||
|
|
||||||
|
### 10. P&L Projection (*Rentabilitätsvorschau*)
|
||||||
|
|
||||||
|
A five-year projection, with monthly detail for Year 1. Revenue assumptions must be explicitly derived: number of courts × bookable hours × utilization rate × price. Separately for each revenue stream. Cost lines must be complete: rent, payroll, energy, insurance, marketing, maintenance reserve, depreciation, interest, principal repayment.
|
||||||
|
|
||||||
|
### 11. Cash Flow Plan (*Liquiditätsplanung*)
|
||||||
|
|
||||||
|
Month-by-month cash flow for Year 1, quarterly for Years 2–3. Special attention to the pre-opening period: when do lease obligations start running? When does revenue begin? The cash trough before opening is often the risk that concerns banks most.
|
||||||
|
|
||||||
|
### 12. Risk Analysis (*Risikoanalyse*)
|
||||||
|
|
||||||
|
Three scenarios minimum: base case, conservative case (10–15% lower utilization, 10% construction overrun), and a stress case. What are the risk drivers, and what are the mitigations? A plan without scenario analysis looks naive — and forces the loan officer to imagine the worst.
|
||||||
|
|
||||||
|
### 13. Opening Balance Sheet (*Eröffnungsbilanz*)
|
||||||
|
|
||||||
|
The balance sheet on Day 1: assets (fixed assets after CAPEX, opening cash) versus liabilities (equity, loan balances). It demonstrates that the financing structure is arithmetically coherent.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## KfW Subsidy Programs for Padel Hall Projects
|
||||||
|
|
||||||
|
KfW (Germany's state development bank) offers several programs relevant to padel hall construction and launch. One crucial operational detail: KfW loans are not applied for directly at KfW. They're applied for through your *Hausbank* (house bank), which passes the application to KfW and shares a portion of the default risk. This is precisely why your Hausbank cares so much about the quality of your business plan — they're on the hook too.
|
||||||
|
|
||||||
|
**KfW Unternehmerkredit (programs 037/047)**
|
||||||
|
The core investment program for established businesses. Financing up to €25 million, covering up to 100% of eligible investment costs. Most relevant if an existing company (e.g., an existing sports facility operator) is adding padel as a new business unit.
|
||||||
|
|
||||||
|
**ERP-Kapital für Gründung (program 058)**
|
||||||
|
Up to €500k in subordinated capital for startups and young companies. The key feature: it counts as equity on your balance sheet, improving your *Eigenkapitalquote* and making you more bankable for additional loan facilities. Highly attractive for new-build projects.
|
||||||
|
|
||||||
|
**KfW-Gründerkredit StartGeld (program 067)**
|
||||||
|
Up to €125k for micro-entrepreneurs. Usually too small for a full padel hall build, but can supplement a larger financing package or cover early-stage feasibility costs.
|
||||||
|
|
||||||
|
**Federal state programs (*Landesförderung*)**
|
||||||
|
Each German state (*Bundesland*) runs its own SME and startup lending programs that can be layered on top of KfW:
|
||||||
|
- North Rhine-Westphalia: NRW.BANK
|
||||||
|
- Bavaria: LfA Förderbank Bayern, Bayern Kapital
|
||||||
|
- Berlin: Investitionsbank Berlin (IBB)
|
||||||
|
- Baden-Württemberg: L-Bank
|
||||||
|
- Hamburg: IFB Hamburg
|
||||||
|
- Saxony: Sächsische Aufbaubank (SAB)
|
||||||
|
|
||||||
|
These programs are overlooked in the majority of business plans we've reviewed — despite the fact that combining them with KfW can meaningfully reduce the equity burden.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## The Five Most Common Weaknesses in Padel Hall Business Plans
|
||||||
|
|
||||||
|
### 1. Generic market analysis
|
||||||
|
|
||||||
|
"Padel is growing rapidly across Europe" does not justify a loan in Augsburg. What matters: How many courts are within a 15-minute drive? What are their utilization rates? Is there an identifiable demand gap, or has the local market already been addressed?
|
||||||
|
|
||||||
|
### 2. Implausible utilization assumptions
|
||||||
|
|
||||||
|
70% or 80% utilization from Month 1 appears in business plans with surprising regularity. Loan officers see it regularly too, and they discount it immediately. What's credible: a ramp-up trajectory — Year 1 at 40–50%, Year 2 at 55–65%, steady state from Year 3. Modeling a realistic ramp-up demonstrates that you understand operational risk.
|
||||||
|
|
||||||
|
### 3. No sensitivity analysis
|
||||||
|
|
||||||
|
What happens if utilization comes in 10 percentage points below plan? If construction overruns by 20%? If a court surface needs replacement after two years? These questions will be asked in the bank meeting. Having the answers prepared — ideally already modeled — is the difference between a confident conversation and an improvised one.
|
||||||
|
|
||||||
|
### 4. Incomplete CAPEX
|
||||||
|
|
||||||
|
Frequently underestimated items: architect and engineering fees, permitting fees and costs of the *Baugenehmigung* (building permit), working capital for the ramp-up period (3–6 months of operating costs), pre-opening expenses (marketing, initial inventory, pre-opening insurance), and contingency (the industry standard is 10% of raw construction costs). Forget these, and you're underfunded from Day 1.
|
||||||
|
|
||||||
|
### 5. No mention of KfW or subsidy programs
|
||||||
|
|
||||||
|
A business plan that doesn't engage with available subsidy programs sends one of two signals: either the founder hasn't done their homework, or they've investigated and found it doesn't work for their project (which itself requires explanation). Neither is a strong opening position.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Personal Guarantees: What This Actually Means
|
||||||
|
|
||||||
|
For a single-site padel facility, banks will require a personal guarantee (*persönliche Bürgschaft*) from the founders. This is not a formality. It means: if the project fails, the founder's personal assets — savings, property, retirement provisions depending on structure — are exposed.
|
||||||
|
|
||||||
|
Business plans typically gloss over this point or omit it entirely. That's a mistake — not because the bank needs the reminder (they know), but because founders should have thought through the implications before signing.
|
||||||
|
|
||||||
|
Questions worth answering before you proceed:
|
||||||
|
- What is my personal net worth that could theoretically be drawn upon?
|
||||||
|
- Are there assets that could be structured outside the exposure (specialist legal advice is essential here, as pre-signing asset transfers can be challenged under German insolvency law)?
|
||||||
|
- How many months of operating losses could I absorb from personal resources?
|
||||||
|
|
||||||
|
A founder who has worked through these questions has taken the project seriously. That comes across in a bank conversation.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## How Padelnomics Helps
|
||||||
|
|
||||||
|
A bankable business plan depends on the quality of the financial model behind it. Padelnomics generates a complete P&L projection, cash flow plan, and sensitivity analysis from your facility parameters — formatted to the standard that German house banks and KfW processors expect. Not a generic template, but numbers calibrated to your specific project: number of courts, location rent, planned opening date, local market data.
|
||||||
|
|
||||||
|
The business plan export includes all 13 sections with auto-populated financial tables, a DSCR calculation across all three scenarios, and a summary of applicable KfW and state programs for your *Bundesland*.
|
||||||
|
|
||||||
|
[→ Generate your business plan]
|
||||||
265
scratch/articles/padel-hall-build-guide-en.md
Normal file
265
scratch/articles/padel-hall-build-guide-en.md
Normal file
@@ -0,0 +1,265 @@
|
|||||||
|
---
|
||||||
|
title: "How to Build a Padel Hall: The 5-Phase Process from Feasibility to Opening Day"
|
||||||
|
slug: padel-hall-build-guide
|
||||||
|
language: en
|
||||||
|
url_path: /padel-hall-build-guide
|
||||||
|
meta_description: "Complete guide to building a padel hall. All 23 steps across feasibility, design, construction, pre-opening, and operations. Realistic timelines and what to watch out for."
|
||||||
|
cornerstone: C8
|
||||||
|
---
|
||||||
|
|
||||||
|
# How to Build a Padel Hall: The 5-Phase Process from Feasibility to Opening Day
|
||||||
|
|
||||||
|
The realistic timeline from first concept to opening day is 12 to 18 months. Operators who plan for 9 months almost always run late. Those who budget 18 months negotiate better, handle surprises better, and open with less stress.
|
||||||
|
|
||||||
|
This guide walks through all five phases and 23 steps between your initial market research and a running facility. No glossy success stories — a practical account of what actually happens, in what order, and where things commonly go wrong.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## The 5 Phases at a Glance
|
||||||
|
|
||||||
|
```
|
||||||
|
Phase 1 Phase 2 Phase 3 Phase 4 Phase 5
|
||||||
|
Feasibility → Planning & → Construction → Pre- → Operations &
|
||||||
|
& Concept Design / Conversion Opening Optimization
|
||||||
|
|
||||||
|
Month 1–3 Month 3–6 Month 6–12 Month 10–13 Ongoing
|
||||||
|
|
||||||
|
Steps 1–5 Steps 6–11 Steps 12–16 Steps 17–20 Steps 21–23
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Phase 1: Feasibility and Concept (Months 1–3)
|
||||||
|
|
||||||
|
This is the most important phase and the one where projects most often go wrong in one of two directions: either stopping too early because the first obstacle looks daunting, or moving too fast because enthusiasm outpaces analysis. Rigorous work here prevents expensive corrections later.
|
||||||
|
|
||||||
|
### Step 1: Market Research
|
||||||
|
|
||||||
|
Before you look at a single site or open a spreadsheet, you need to understand whether your target market can support the facility you're planning.
|
||||||
|
|
||||||
|
That means:
|
||||||
|
|
||||||
|
- **Player demand:** How many active padel players exist within a 15–20 minute drive? How full are existing facilities? What are waitlist lengths? These are the leading indicators of unmet demand.
|
||||||
|
- **Competitive mapping:** Which facilities exist, which are planned? Court counts, pricing, utilization, service level. Planning applications are often public record — check them.
|
||||||
|
- **Demographics:** Where do your target customers actually live and work — working professionals aged 25–55, companies with wellness budgets, sports clubs needing training facilities? Do they concentrate within the catchment area of your proposed site?
|
||||||
|
|
||||||
|
Good market research won't guarantee success, but it will protect you from the most common mistake: building the right facility in the wrong location.
|
||||||
|
|
||||||
|
### Step 2: Concept Development
|
||||||
|
|
||||||
|
Your market research should drive your concept. How many courts? Which customer segments — competitive recreational players, club training, corporate wellness, broad community use? What service level — a pure booking facility or a full-concept venue with lounge, bar, pro shop, and coaching program?
|
||||||
|
|
||||||
|
Every decision here cascades into investment requirements, operating costs, and revenue potential. Nail this down before moving to site selection.
|
||||||
|
|
||||||
|
### Step 3: Location Scouting
|
||||||
|
|
||||||
|
Evaluate three to five candidate sites in parallel. Assess each against:
|
||||||
|
|
||||||
|
| Criterion | What to Check |
|
||||||
|
|-----------|---------------|
|
||||||
|
| Accessibility | Public transport, parking, cycling infrastructure |
|
||||||
|
| Visibility | Foot traffic, street presence, signage options |
|
||||||
|
| Floor area | Net usable area for courts plus ancillary spaces (changing rooms, reception, lounge) |
|
||||||
|
| Clear height | Minimum 7 meters for indoor courts — 8+ is preferable |
|
||||||
|
| Zoning | Is sports facility use permitted? Noise restrictions? Change-of-use requirements? |
|
||||||
|
| Rent | Monthly lease cost relative to projected revenue |
|
||||||
|
|
||||||
|
A site that scores 70% across all dimensions is almost always better than one that excels on a single criterion while failing on two others.
|
||||||
|
|
||||||
|
### Step 4: Preliminary Financial Model
|
||||||
|
|
||||||
|
At this stage you don't need a full financial model. You need a viability check.
|
||||||
|
|
||||||
|
Rough questions to answer:
|
||||||
|
- Does the total investment (construction, courts, fit-out, contingency) fit within your available capital plus realistic debt capacity?
|
||||||
|
- What utilization rate do you need to break even on operating costs? Is that achievable in your market?
|
||||||
|
- Does the model still work at conservative assumptions — 50% utilization, not 70%?
|
||||||
|
|
||||||
|
If the business only works under optimistic assumptions, that's a signal to stress-test the concept, not to adjust the assumptions until they fit.
|
||||||
|
|
||||||
|
### Step 5: Go / No-Go Decision
|
||||||
|
|
||||||
|
Phase 1 ends with a real decision. Not "let's keep going and see" — a reasoned answer to the question: do market, location, and preliminary financials together justify the substantially higher costs of Phase 2?
|
||||||
|
|
||||||
|
If yes: proceed. If no, or if material questions remain open: more analysis or a deliberate stop.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Phase 2: Planning and Design (Months 3–6)
|
||||||
|
|
||||||
|
The project becomes concrete in this phase. External advisors, architects, and lawyers come on board. Costs increase meaningfully. The point of no return approaches.
|
||||||
|
|
||||||
|
### Step 6: Secure the Site
|
||||||
|
|
||||||
|
Sign a letter of intent or option agreement for your preferred site. This gives you an exclusive negotiation window without full contractual commitment.
|
||||||
|
|
||||||
|
Don't sign the final lease until the design concept is established — you need to know what you're actually leasing and whether the site can support your facility as designed. Lease terms are negotiated now, not after signing.
|
||||||
|
|
||||||
|
### Step 7: Appoint an Architect and Specialist Engineers
|
||||||
|
|
||||||
|
Hire an architect with demonstrated experience in sports facilities or industrial-to-sports conversions — not a generalist with a good portfolio, but someone who understands what padel courts require structurally and mechanically.
|
||||||
|
|
||||||
|
Deliverables from this phase:
|
||||||
|
- **Floor plans and spatial layout:** Court configuration, circulation, changing rooms, reception, plant rooms
|
||||||
|
- **Structural assessment:** Is the existing structure suitable for courts and any elevated seating?
|
||||||
|
- **MEP design (mechanical, electrical, plumbing):** Heating, ventilation, air conditioning, electrical, drainage — typically the most expensive trade package in a sports hall conversion
|
||||||
|
- **Fire safety strategy**
|
||||||
|
|
||||||
|
> **The most expensive planning mistake in padel hall builds:** underestimating HVAC complexity and budget. Large indoor courts need precise temperature and humidity control — not just for player comfort, but for playing surface longevity and air quality. Courts installed in a poorly climate-controlled building will degrade faster and generate complaints. Budget for it properly from the start, not as a value-engineering target.
|
||||||
|
|
||||||
|
### Step 8: Court Supplier Selection
|
||||||
|
|
||||||
|
Get quotes from at least three court manufacturers. European suppliers vary in specification, warranty terms, and delivery capability — evaluate all three dimensions, not just price.
|
||||||
|
|
||||||
|
Coordinate technical requirements between the manufacturer and your architect from the outset: court dimensions, drainage specifications, lighting requirements (lux levels vary by playing standard), glass specifications, and foundation construction requirements.
|
||||||
|
|
||||||
|
This coordination needs to happen in Phase 2, not Phase 3. Conflicts discovered during construction between manufacturer specs and building design generate costly change orders.
|
||||||
|
|
||||||
|
### Step 9: Detailed Financial Model
|
||||||
|
|
||||||
|
With real lease costs, architectural estimates, and court quotes in hand, build the full model. Refine all assumptions and run explicit sensitivity analysis — at minimum across utilization (±15 percentage points) and construction costs (+20%). These aren't stress tests for show; they're the scenarios you should actually be planning for.
|
||||||
|
|
||||||
|
### Step 10: Secure Financing
|
||||||
|
|
||||||
|
Approach lenders with your full business plan. Typical capital structure for padel hall projects:
|
||||||
|
- 50–70% debt (bank loan)
|
||||||
|
- 30–50% equity (own funds, silent partners, shareholder loans)
|
||||||
|
|
||||||
|
What lenders will require: a credible financial model, collateral, your track record, and — almost universally for single-asset leisure facilities — personal guarantees from principal shareholders. See the companion article on investment risks for a full treatment of personal guarantee exposure.
|
||||||
|
|
||||||
|
Investigate public funding programs: development bank loans, regional sports infrastructure grants, and municipal co-investment schemes can reduce either equity requirements or interest burden. This research is worth several hours of your time.
|
||||||
|
|
||||||
|
### Step 11: Planning Permissions and Regulatory Approvals
|
||||||
|
|
||||||
|
Typically required: building permit (change-of-use application if the building isn't already zoned as a sports facility), noise impact assessment, possibly environmental review.
|
||||||
|
|
||||||
|
Budget four to six months for this step depending on the local authority and project complexity. The single best thing you can do to protect your timeline is to have informal pre-application conversations with the relevant authority before submitting. Find out what they'll ask for and address it upfront.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Phase 3: Construction and Conversion (Months 6–12)
|
||||||
|
|
||||||
|
The most capital-intensive and schedule-sensitive phase. This is where budget and timeline either hold or don't.
|
||||||
|
|
||||||
|
### Step 12: Tender, Contract, and Mobilize
|
||||||
|
|
||||||
|
Have your architect prepare detailed specifications and tender the main trade packages. Decide whether to appoint a general contractor (single point of responsibility, cost premium) or to manage trades directly (lower cost, significantly higher management burden).
|
||||||
|
|
||||||
|
Key trades in a sports hall build or conversion:
|
||||||
|
- **Structural / civil:** If structural modifications are required
|
||||||
|
- **Ground works:** Court foundations and drainage — often the first significant milestone
|
||||||
|
- **HVAC:** Heating, ventilation, air conditioning — typically 20–25% of total construction cost
|
||||||
|
- **Electrical:** LED court lighting to lux standard, distribution boards, emergency systems
|
||||||
|
- **Plumbing:** Changing rooms, showers, bar if applicable
|
||||||
|
|
||||||
|
Negotiate fixed-price contracts where you can. Read the risk allocation provisions in every contract — not just the summary price.
|
||||||
|
|
||||||
|
### Step 13: Court Installation
|
||||||
|
|
||||||
|
Courts are installed after the building envelope is weathertight. This is a hard sequencing rule, not a suggestion.
|
||||||
|
|
||||||
|
Glass panels, artificial turf, and court metalwork must not be exposed to construction dust, moisture, and site traffic. Projects that try to accelerate schedules by installing courts before the building is properly enclosed regularly end up with surface contamination, glass damage, and voided manufacturer warranties.
|
||||||
|
|
||||||
|
> **The most common construction mistake on padel hall projects:** rushing court installation sequencing under schedule pressure. The pressure to hit an opening date is real — but installing courts into an unenclosed building is one of the most reliable ways to add cost and delay, not reduce them. Hold the sequence.
|
||||||
|
|
||||||
|
Allow two to four weeks for court installation per batch, depending on the manufacturer's crew capacity. Build this explicitly into your master program.
|
||||||
|
|
||||||
|
### Step 14: Fit-Out of Ancillary Areas
|
||||||
|
|
||||||
|
Reception desk, changing rooms and showers, lounge area, bar setup, pro shop fixtures. These spaces make the first impression on every visitor and should not be treated as afterthoughts. Budget, specification, and timeline for ancillary fit-out belong in your main construction program, not as a separate appendix.
|
||||||
|
|
||||||
|
### Step 15: IT Infrastructure, Booking System, and Access Control
|
||||||
|
|
||||||
|
Decide early: which booking platform, which point-of-sale system, and whether you want automated access control? System configuration — setting up courts, defining pricing rules, configuring memberships, integrating payments — takes longer than expected.
|
||||||
|
|
||||||
|
Access control systems must be coordinated with the electrical design. Adding them in the final stages of construction is possible but costs more.
|
||||||
|
|
||||||
|
> **The most common pre-opening mistake:** the booking system isn't fully configured, tested, and working on day one. A broken booking flow, failed test payments, or a QR code that leads to an error page on opening day kills your launch momentum in a way that's difficult to recover from. Test the system end-to-end — including real bookings, real payments, and real cancellations — two to four weeks before opening.
|
||||||
|
|
||||||
|
### Step 16: Inspections and Certifications
|
||||||
|
|
||||||
|
Fire safety sign-off, building control completion certificate, operating license where required, accessibility compliance. Allow four to eight weeks before your target opening date for this step. Do not schedule your opening event until at least the fire safety inspection is confirmed.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Phase 4: Pre-Opening (Months 10–13)
|
||||||
|
|
||||||
|
The building is ready. Now you determine whether you have customers on day one — or whether you're waiting for the first booking in an empty hall.
|
||||||
|
|
||||||
|
### Step 17: Hire Your Team
|
||||||
|
|
||||||
|
Start recruiting three to four months before the planned opening. Last-minute hiring gets you whoever is still available.
|
||||||
|
|
||||||
|
Core opening team:
|
||||||
|
- **Facility manager:** Operational accountability, booking management, customer relationships — the most important hire and the hardest to get right. Don't compromise here.
|
||||||
|
- **Reception / front of house:** For peak times — weekday evenings and full weekend days
|
||||||
|
- **Coaches:** If coaching programs are in scope, quality over quantity. One excellent coach with an established following is worth three average ones.
|
||||||
|
- **Cleaning:** Regular court maintenance is not a secondary concern. Dirty courts generate reviews. Clean courts don't, which is exactly what you want.
|
||||||
|
|
||||||
|
### Step 18: Pre-Launch Marketing
|
||||||
|
|
||||||
|
Don't wait for opening day to become known. Build your community in advance:
|
||||||
|
|
||||||
|
- Social media construction updates generate local awareness and genuine anticipation
|
||||||
|
- Local partnerships: sports clubs, companies with wellness budgets, nearby fitness operators
|
||||||
|
- Press outreach: local media covers new sports infrastructure willingly — but only if you approach them with a clear story before the opening, not after
|
||||||
|
- Founding member offers or introductory pricing: these create an early customer base and stabilize early-stage utilization, which is the hardest period in any new venue's life
|
||||||
|
|
||||||
|
### Step 19: Soft Opening
|
||||||
|
|
||||||
|
Before the public launch, invite a curated group: local padel players, micro-influencers with relevant audiences, sports journalists, potential corporate clients. The goals are specific: real feedback on court quality and operational flow, early reviews, photographs and video of actual players in a working facility.
|
||||||
|
|
||||||
|
The soft opening is also your last opportunity to identify operational problems before normal operations begin. Find them now, not in week three.
|
||||||
|
|
||||||
|
### Step 20: Grand Opening
|
||||||
|
|
||||||
|
Celebrate it — but understand that opening day is the beginning of a long build, not its culmination. The operators who succeed long-term treat the opening as the start of their community-building program, not the end of their pre-opening marketing.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Phase 5: Operations and Optimization (Ongoing)
|
||||||
|
|
||||||
|
Construction is finished. The real work starts now.
|
||||||
|
|
||||||
|
### Step 21: Monitor Utilization and Manage Pricing Dynamically
|
||||||
|
|
||||||
|
Not all time slots are equal. Monday evening at 8pm books out; Tuesday at 1pm runs at 15%. Dynamic pricing — lower rates during off-peak hours, premium pricing at high-demand slots — can materially improve overall utilization without acquiring a single new customer.
|
||||||
|
|
||||||
|
Measure by court, by day of week, by time slot. Which courts fill first? Which times consistently underperform? The answers are in the data your booking system generates daily. Use them.
|
||||||
|
|
||||||
|
### Step 22: Build the Community
|
||||||
|
|
||||||
|
A high-utilization padel venue isn't a booking machine — it's a social hub. Regular tournaments, recreational leagues, corporate events, beginner courses, themed evenings: these are the formats that convert first-time visitors into regulars.
|
||||||
|
|
||||||
|
Corporate clients are a consistently underestimated segment. Companies with employee wellness budgets actively want team activities and employee benefits — they just don't know your venue offers it. Direct outreach with a clear proposition (flat-rate group events, framework agreements for regular bookings) opens this channel efficiently.
|
||||||
|
|
||||||
|
### Step 23: Broaden Revenue Streams
|
||||||
|
|
||||||
|
Court bookings are your core revenue, but rarely your only opportunity:
|
||||||
|
|
||||||
|
- **Coaching:** Qualified coaches with existing client bases are a real revenue lever when the compensation model is structured well
|
||||||
|
- **Equipment:** Racket rental and retail, balls, accessories — low capital requirement, reasonable margin
|
||||||
|
- **Food and beverage:** If you do this, do it properly or outsource it to a dedicated operator. A mediocre café doesn't just underperform — it actively degrades the overall venue impression.
|
||||||
|
- **Memberships:** Monthly packages with guaranteed booking allowances stabilize cash flow and build medium-term customer retention
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## What Separates Successful Builds from the Ones That Overshoot
|
||||||
|
|
||||||
|
Patterns emerge when you observe padel hall projects across a market over time.
|
||||||
|
|
||||||
|
**Projects that go over budget** almost always cut at the wrong place early — too little HVAC budget, no construction contingency, a cheap general contractor without adequate contractual protection. The savings on the way in become much larger costs on the way out.
|
||||||
|
|
||||||
|
**Projects that slip their schedule** consistently underestimate the regulatory process. Permits, noise assessments, and change-of-use applications take time that money cannot buy once you've started too late. Start conversations with authorities before you need the approvals, not when you need them.
|
||||||
|
|
||||||
|
**Projects that open weakly** started marketing too late and tested the booking system too late. An empty calendar on day one and a broken booking page create impressions that stick longer than the opening week.
|
||||||
|
|
||||||
|
**Projects that succeed long-term** treat all three phases — planning, build, and opening — with equal rigor, and invest early and consistently in community and repeat customers.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Find Builders and Suppliers Through Padelnomics
|
||||||
|
|
||||||
|
Padelnomics maintains a directory of verified build partners for padel hall projects: architects with sports facility experience, court suppliers, HVAC specialists, and operational consultants.
|
||||||
|
|
||||||
|
If you're currently in Phase 1 or Phase 2 and looking for the right partners, the directory is the fastest place to start.
|
||||||
190
scratch/articles/padel-hall-cost-guide-en.md
Normal file
190
scratch/articles/padel-hall-cost-guide-en.md
Normal file
@@ -0,0 +1,190 @@
|
|||||||
|
---
|
||||||
|
title: "How Much Does It Cost to Open a Padel Hall in Germany? Complete 2026 CAPEX Breakdown"
|
||||||
|
slug: padel-hall-cost-guide
|
||||||
|
language: en
|
||||||
|
url_path: /padel-hall-cost-guide
|
||||||
|
meta_description: "Real cost data for opening a padel hall in Germany in 2026. Full CAPEX breakdown €930K–€1.9M, city-by-city pricing, operating costs, and ROI model."
|
||||||
|
cornerstone: C2
|
||||||
|
---
|
||||||
|
|
||||||
|
# How Much Does It Cost to Open a Padel Hall in Germany? Complete 2026 CAPEX Breakdown
|
||||||
|
|
||||||
|
Anyone who has started researching padel hall investment in Germany has encountered the same frustrating non-answer: "it depends." And it genuinely does — total project costs for a six-court indoor facility range from **€930,000 to €1.9 million**, a span wide enough to make planning feel impossible.
|
||||||
|
|
||||||
|
But that range is not noise. It reflects specific, quantifiable decisions: whether you're fitting out an existing warehouse or building from scratch, whether you're in Munich or Leipzig, whether you want panorama glass courts or standard construction. Once you understand where the variance lives, the numbers become plannable.
|
||||||
|
|
||||||
|
This article gives you the complete picture: itemized CAPEX, city-by-city rent and booking rates, a full operating cost breakdown, a three-year P&L projection, and the key metrics your bank will want to see. All figures are based on real German market data from 2025–2026. By the end, you should be able to build a credible first-pass financial model for your specific scenario — and walk into a lender conversation with confidence.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Why the Cost Range Is So Wide
|
||||||
|
|
||||||
|
The single largest driver of CAPEX variance is construction. Converting a suitable existing warehouse — one that already has the necessary ceiling height (8–9 m clear) and adequate structural load — costs vastly less than a ground-up build or a complete gut-renovation. This line item alone accounts for €400,000 to €800,000 of the total budget.
|
||||||
|
|
||||||
|
Location adds another layer of variance. The same 2,000 sqm hall costs 40–60% more to rent in Munich than in Leipzig. That gap shows up not just in annual OPEX but in the lease deposit and the working capital reserve you need to fund the ramp-up — both of which are part of your initial CAPEX.
|
||||||
|
|
||||||
|
For a **six-court indoor facility** with solid but not extravagant fit-out, the realistic planning figure is **€1.2–1.5 million all-in**. Projects that come in below that typically either benefited from an exceptional real estate deal or — more often — undercounted one of the three most expensive items: construction, HVAC, and the operating reserve.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Complete CAPEX Breakdown: Six Courts, Germany 2026
|
||||||
|
|
||||||
|
| Item | Range |
|
||||||
|
|---|---|
|
||||||
|
| Building lease deposit or land | €50,000–€200,000 |
|
||||||
|
| Construction / conversion | €400,000–€800,000 |
|
||||||
|
| 6 padel courts (installed) | €180,000–€300,000 |
|
||||||
|
| Lighting (LED, 500 lux per court) | €30,000–€60,000 |
|
||||||
|
| HVAC system | €50,000–€120,000 |
|
||||||
|
| Changing rooms, reception, lounge | €80,000–€150,000 |
|
||||||
|
| IT, booking system, access control | €15,000–€30,000 |
|
||||||
|
| Furniture, equipment, pro shop inventory | €20,000–€40,000 |
|
||||||
|
| Architect, permits, legal, consulting | €40,000–€80,000 |
|
||||||
|
| Pre-launch marketing | €15,000–€30,000 |
|
||||||
|
| Working capital reserve | €50,000–€100,000 |
|
||||||
|
| **Total** | **€930,000–€1,910,000** |
|
||||||
|
|
||||||
|
**Construction/conversion (€400k–€800k)** is where projects go over budget most often. Before signing a lease, commission a structural assessment from a contractor experienced in sports hall conversions. A building that looks right on paper can carry hidden costs — drainage, load-bearing upgrades, fire egress — that flip a €500k construction budget to €750k.
|
||||||
|
|
||||||
|
**The courts themselves (€30k–€50k each installed)** vary primarily by glass specification. Full-panorama courts with all-glass back walls cost more than standard hybrid construction. On a six-court project, the difference between the low and high end is roughly €120k — real money, but roughly 8–10% of total project cost. Don't let court spec be the tail wagging the dog.
|
||||||
|
|
||||||
|
**HVAC (€50k–€120k)** is consistently underestimated. A closed hall with six active courts and 60+ simultaneous players generates significant heat load and humidity. Under-speccing this system creates player complaints, structural moisture damage, and expensive remediation. Budget toward the upper end and treat it as a fixed cost of operating indoors — a well-designed system also reduces energy consumption over the full operating life.
|
||||||
|
|
||||||
|
**Working capital reserve (€50k–€100k)** is not optional. In months one through six, revenue runs well below steady-state while rent and payroll are already at full run rate. This reserve is the difference between a stressful launch and a controlled one.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Commercial Rent by German City
|
||||||
|
|
||||||
|
A six-court facility with changing rooms, a reception area, and a lounge requires **1,500–2,500 sqm** of floor space. Current industrial/warehouse lease rates across major German cities:
|
||||||
|
|
||||||
|
| City | Rent €/sqm/month | Typical monthly cost (2,000 sqm) |
|
||||||
|
|---|---|---|
|
||||||
|
| Munich | €10–14 | €20,000–€28,000 |
|
||||||
|
| Berlin | €8–12 | €16,000–€24,000 |
|
||||||
|
| Frankfurt | €8–11 | €16,000–€22,000 |
|
||||||
|
| Düsseldorf | €8–11 | €16,000–€22,000 |
|
||||||
|
| Hamburg | €7–10 | €14,000–€20,000 |
|
||||||
|
| Stuttgart | €7–10 | €14,000–€20,000 |
|
||||||
|
| Cologne | €6–9 | €12,000–€18,000 |
|
||||||
|
| Leipzig | €4–7 | €8,000–€14,000 |
|
||||||
|
|
||||||
|
In the tightest urban submarkets — central Berlin, Munich's inner districts — even warehouse and light-industrial space increasingly commands premium rates. Locations 15–20 minutes outside the core city center offer meaningfully lower rents without sacrificing catchment, and are worth modelling explicitly.
|
||||||
|
|
||||||
|
One structural note: German commercial landlords typically require lease terms of 5–10 years for hall-scale premises. That creates long-term commitment, but it also gives lenders a bankable asset — a long lease with indexed rent escalation reads as revenue visibility, not risk, on a credit application.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Court Hire Rates: What the Market Will Bear
|
||||||
|
|
||||||
|
Booking rates vary significantly by city and time slot. The following figures are drawn from platform data and direct market surveys:
|
||||||
|
|
||||||
|
| City | Off-Peak (€/hr) | Peak (€/hr) | Confidence |
|
||||||
|
|---|---|---|---|
|
||||||
|
| Berlin | €33 | €46 | High |
|
||||||
|
| Munich | €30 | €42 | Estimated |
|
||||||
|
| Düsseldorf | €30 | €42 | Estimated |
|
||||||
|
| Hamburg | €26 | €36 | Medium |
|
||||||
|
| Stuttgart | €26 | €38 | Medium |
|
||||||
|
| Frankfurt | €24 | €28 | High |
|
||||||
|
| Cologne | €22 | €27 | High |
|
||||||
|
| Leipzig | €18 | €26 | Estimated |
|
||||||
|
|
||||||
|
The Playtomic Global Padel Report 2025 provides a useful market-level cross-check: Germany's average GMV per court grew **48% year-on-year to €4,000/month** at approximately 30% utilization. That implies a blended effective rate of around **€30/hour** — consistent with the figures for mid-tier German cities at 30% fill rates.
|
||||||
|
|
||||||
|
For the revenue model in this article, we use a blended rate of **€45/hour** — a weighted average of off-peak and peak pricing for a well-positioned facility in an upper-tier German city. If your location is a smaller market, stress-test your model at €28–€32.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Operating Costs (OPEX)
|
||||||
|
|
||||||
|
Operating cost projections are where business plans most often diverge from reality. The figures below reflect actual operating structures for six-court halls in the German market:
|
||||||
|
|
||||||
|
| Cost item | Year 1 | Year 2 | Year 3 |
|
||||||
|
|---|---|---|---|
|
||||||
|
| Rent / lease | €120,000 | €123,000 | €127,000 |
|
||||||
|
| Staff (5–8 FTE) | €200,000 | €220,000 | €235,000 |
|
||||||
|
| Energy (lighting, HVAC) | €45,000 | €50,000 | €55,000 |
|
||||||
|
| Maintenance & repairs | €20,000 | €25,000 | €30,000 |
|
||||||
|
| Marketing | €40,000 | €30,000 | €25,000 |
|
||||||
|
| Insurance | €12,000 | €12,000 | €13,000 |
|
||||||
|
| Booking system / IT | €8,000 | €8,000 | €9,000 |
|
||||||
|
| COGS (F&B, shop) | €25,000 | €40,000 | €48,000 |
|
||||||
|
| Admin, accounting, legal | €20,000 | €22,000 | €24,000 |
|
||||||
|
| **Total OPEX** | **€490,000** | **€530,000** | **€566,000** |
|
||||||
|
|
||||||
|
**Staffing** is the line that most first-time operators get wrong. Five FTEs is a genuine minimum for professional operations — reception, court management, a coach, administration. In Germany, employer social security contributions add roughly 20% on top of gross wages. €200k in Year 1 for a five-person team is lean, not generous.
|
||||||
|
|
||||||
|
**Energy** depends heavily on the building envelope. An older warehouse with poor insulation and an oversized, inefficient HVAC installation can run 30–50% higher than the figures shown here. Commissioning a quick energy audit before signing the lease is cheap insurance.
|
||||||
|
|
||||||
|
**Marketing** is front-loaded by design. Pre-launch campaign, opening events, league partnerships — these drive the initial community that makes Year 2 look like Year 2 in the projections below. Once you have a full league schedule and a waiting list for peak slots, the marketing budget can drop substantially.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Three-Year P&L Projection
|
||||||
|
|
||||||
|
[scenario:padel-halle-6-courts:full]
|
||||||
|
|
||||||
|
The projection below assumes a blended rate of €45/hour, six courts, 14 operating hours per day (8am–10pm), 365 days per year.
|
||||||
|
|
||||||
|
| Revenue stream | Year 1 (45% util.) | Year 2 (60% util.) | Year 3 (70% util.) |
|
||||||
|
|---|---|---|---|
|
||||||
|
| Court rental | €665,000 | €887,000 | €1,035,000 |
|
||||||
|
| Coaching & academy | €60,000 | €90,000 | €120,000 |
|
||||||
|
| F&B / bar | €40,000 | €65,000 | €80,000 |
|
||||||
|
| Pro shop | €15,000 | €25,000 | €30,000 |
|
||||||
|
| Events & corporate | €20,000 | €40,000 | €60,000 |
|
||||||
|
| **Total revenue** | **€800,000** | **€1,107,000** | **€1,325,000** |
|
||||||
|
| **Total OPEX** | **€490,000** | **€530,000** | **€566,000** |
|
||||||
|
| **EBITDA** | **€310,000** | **€577,000** | **€759,000** |
|
||||||
|
|
||||||
|
Court rental dominates revenue in Year 1 (83%), which is both expected and correct for a new operation. As the facility matures, coaching programs, corporate bookings, and F&B each contribute more — these lines carry better margins than pure court hire and meaningfully improve Year 3 EBITDA.
|
||||||
|
|
||||||
|
The EBITDA margins here — 39% in Year 1, rising to 57% by Year 3 — sit at the upper end of documented European padel benchmarks. They are achievable with disciplined staffing and energy management, but they are not automatic. Underperformance on either line will compress margins quickly.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Key Financial Metrics
|
||||||
|
|
||||||
|
Five numbers your lender will ask about — and that you should be able to justify with your own sensitivity analysis:
|
||||||
|
|
||||||
|
**Payback period: 3–5 years**
|
||||||
|
At a €1.4M total project cost (midpoint) and free cash flow of €200k+ in Year 1 scaling to €650k+ by Year 3, equity payback lands in the 3–5 year range depending on your debt structure. For a leisure-infrastructure investment, that is a strong return profile.
|
||||||
|
|
||||||
|
**Break-even utilization: 35–40%**
|
||||||
|
Below 35% utilization, the hall typically does not cover its running costs. This sounds low in isolation — in practice, the first six months of operation routinely run at 25–30%, which is why the working capital reserve exists. Model the monthly cash position through the ramp-up explicitly.
|
||||||
|
|
||||||
|
**Revenue per court target: €150k+ at maturity**
|
||||||
|
Year 3 in the model above: €1,035k court revenue ÷ 6 courts = €172,500 per court. This is the operational benchmark for a well-run facility. Tracking revenue per court is more useful than aggregate revenue for comparing performance across differently sized halls.
|
||||||
|
|
||||||
|
**Cash-on-cash ROI: 60%+ by Year 3**
|
||||||
|
With €500k equity deployed and €300k+ annual free cash flow at maturity, cash-on-cash return exceeds 60% — provided the debt service is covered. This assumes a sensible financing structure, not all-equity.
|
||||||
|
|
||||||
|
**Annual debt service: ~€102k**
|
||||||
|
On an €800k loan at 5% over 10 years, annual debt service is approximately €102k. At Year 1 EBITDA of €310k, the debt service coverage ratio (DSCR) is 3.0 — well above any lender's threshold. The stress test is: what does DSCR look like at 35% utilization? Run that number before your first bank meeting.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## What Lenders Actually Look For
|
||||||
|
|
||||||
|
A padel hall is an unusual asset class for most bank credit officers. What moves a credit committee is not enthusiasm for the sport — it is the rigor of the financial documentation.
|
||||||
|
|
||||||
|
**DSCR of 1.2–1.5x minimum.** Lenders want operating cash flow to cover debt service with a 20–50% buffer. The base case in this model clears that bar easily; your job is to show it holds under stress scenarios too.
|
||||||
|
|
||||||
|
**Signed lease agreement.** Without a lease in place, the credit assessment stays hypothetical. A long-term lease with indexed escalation is a positive signal to lenders — it translates future revenue into something closer to contracted income.
|
||||||
|
|
||||||
|
**Monthly cashflow model for Year 1.** Lenders do not expect monthly forecasts to be accurate. They use them to assess whether you have thought through the ramp-up — the timing of fit-out completion, the month of first bookings, the staffing build-out. A monthly model signals operational seriousness.
|
||||||
|
|
||||||
|
**Sensitivity analysis.** Show three scenarios: base case (45–60% utilization), downside (35%), and stress (25%). If your project only works at optimistic assumptions, that is important information — for you, not just for the bank.
|
||||||
|
|
||||||
|
A dedicated article on structuring a padel hall business plan and navigating German bank and KfW financing options covers this in full detail.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Bottom Line
|
||||||
|
|
||||||
|
Opening a padel hall in Germany in 2026 is a real capital commitment: €930k on the low end, €1.9M at the top, with €1.2–1.5M as the honest planning figure for a solid six-court operation. The economics, modelled carefully, are genuinely attractive — payback in 3–5 years, 60%+ cash-on-cash return at maturity, and a market that continues to grow.
|
||||||
|
|
||||||
|
The investors who succeed in this space are not the ones who found a cheaper build. They are the ones who understood the numbers precisely enough to make the right location and concept decisions early — and to structure their financing before the costs escalated.
|
||||||
|
|
||||||
|
**Next step:** Use the Padelnomics Financial Planner to model your specific scenario — your city, your financing mix, your pricing assumptions. The model above is the starting point. Your hall deserves a projection built around your actual numbers.
|
||||||
179
scratch/articles/padel-hall-financing-germany-en.md
Normal file
179
scratch/articles/padel-hall-financing-germany-en.md
Normal file
@@ -0,0 +1,179 @@
|
|||||||
|
---
|
||||||
|
title: "How to Finance a Padel Hall in Germany: Loans, Grants, and KfW Programs in 2026"
|
||||||
|
slug: padel-hall-financing-germany
|
||||||
|
language: en
|
||||||
|
url_path: /padel-hall-financing-germany
|
||||||
|
meta_description: "KfW Unternehmerkredit, ERP-Kapital, state development banks: a practical guide to financing a padel hall in Germany in 2026 — with specific programs, amounts, and structures."
|
||||||
|
cornerstone: C6
|
||||||
|
---
|
||||||
|
|
||||||
|
# How to Finance a Padel Hall in Germany: Loans, Grants, and KfW Programs in 2026
|
||||||
|
|
||||||
|
The financing question stops more padel hall projects than any technical challenge. Not because the economics don't work — well-run padel halls generate strong returns — but because the capital requirements are substantial, the subsidy landscape is complex, and German banks ask hard questions about single-asset leisure investments.
|
||||||
|
|
||||||
|
This guide lays out the full financing architecture for a padel hall in Germany: which KfW programs apply, what the state development banks offer, and how to structure equity, debt, and subsidies into a package that gets a yes from your bank while keeping your personal exposure manageable.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## The Basic Structure: Equity, Bank Debt, and Subsidies
|
||||||
|
|
||||||
|
A padel hall is capital-intensive. With a realistic total investment of **€1.2–1.5M** for a 6-court indoor facility, the financing typically looks like this:
|
||||||
|
|
||||||
|
| Source | Share | Amount (€1.3M example) |
|
||||||
|
|---|---|---|
|
||||||
|
| Founder equity | 20–30% | €260,000–€390,000 |
|
||||||
|
| KfW / development bank | 20–30% | €260,000–€390,000 |
|
||||||
|
| Commercial bank loan | 40–60% | €520,000–€780,000 |
|
||||||
|
|
||||||
|
This three-way split isn't arbitrary: German banks typically require at least 20–30% genuine equity. KfW funding supplements — not replaces — commercial debt. The state development bank layer is the piece most international investors miss entirely, and it can meaningfully improve your financing terms.
|
||||||
|
|
||||||
|
**Critical process point:** KfW loans always flow through your Hausbank (the commercial bank you apply to). You do not apply to KfW directly. Your bank submits the application, retains the credit decision, and holds all or part of the default risk. This means your Hausbank relationship matters from day one.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## KfW Programs Relevant for Padel Hall Developers
|
||||||
|
|
||||||
|
### KfW Unternehmerkredit (Program 037/047) — The Workhorse
|
||||||
|
|
||||||
|
The most broadly applicable KfW program for established businesses.
|
||||||
|
|
||||||
|
**Eligibility:** Businesses operating for at least 2 years, plus freelancers and sole traders.
|
||||||
|
|
||||||
|
**What it finances:** Capital investments (equipment, fit-out, property), land acquisition (up to 50% of investment costs), and working capital.
|
||||||
|
|
||||||
|
**Terms:**
|
||||||
|
- Loan amount: up to **€25M** (typical for padel halls: €300k–€1M)
|
||||||
|
- Tenor: up to 20 years for investments, 5 years for working capital
|
||||||
|
- Grace period options: possible — important for the pre-revenue ramp-up
|
||||||
|
- Rate: fixed or variable, at current market levels with KfW's below-market refinancing benefit passed through
|
||||||
|
|
||||||
|
**Why it matters:** Unternehmerkredit is the most flexible KfW product. If you're building a padel hall through an existing GmbH, or adding courts to an existing sports complex, this is typically the first program your bank will suggest.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### ERP-Kapital für Gründung (Program 058) — The Strategic Underutilized Tool
|
||||||
|
|
||||||
|
Often overlooked, frequently the highest-leverage instrument for new padel hall projects.
|
||||||
|
|
||||||
|
**Eligibility:** Founders and businesses in the first 5 years after formation, investing in a primary business.
|
||||||
|
|
||||||
|
**What it is:** Not a conventional bank loan — this is **subordinated capital** that sits in your balance sheet like equity. It directly improves your equity ratio for all subsequent financing.
|
||||||
|
|
||||||
|
**Terms:**
|
||||||
|
- Amount: up to **€500,000** per project
|
||||||
|
- Tenor: **15 years, with 7 years interest-only** — exceptionally favorable for the ramp-up period
|
||||||
|
- No collateral required for the ERP portion (the bank's liability is capped)
|
||||||
|
- Rate: below market, as this is federal development funding
|
||||||
|
|
||||||
|
**The leverage mechanism:** If you're starting with €250k of personal equity, ERP-Kapital adds another €250k of equity-equivalent capital — and your bank now sees €500k of equity-like funding rather than €250k. That difference can be the decisive factor in whether a commercial bank approves the loan. **This is the mechanism most padel hall founders don't know about.**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### KfW-Gründerkredit StartGeld (Program 067) — Smaller Supplement
|
||||||
|
|
||||||
|
**For:** Founders in the first 5 years, small businesses.
|
||||||
|
|
||||||
|
**Terms:** Up to €125k, with KfW absorbing 80% of default risk (your bank only carries 20%). Simplified review, faster processing.
|
||||||
|
|
||||||
|
**Limitation:** Too small to anchor a full padel hall build (€1.2M+), but useful as a top-up for specific sub-investments — IT infrastructure, the booking system build-out, pro shop stock.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## German State Development Banks: Often More Favorable than KfW
|
||||||
|
|
||||||
|
Each of Germany's 16 states (*Bundesländer*) has its own development bank with programs that complement or sometimes beat KfW on specific terms. Check these **in addition to** KfW — they are not alternatives, they stack.
|
||||||
|
|
||||||
|
### NRW.BANK (North Rhine-Westphalia)
|
||||||
|
|
||||||
|
**NRW.BANK Gründungskredit:** For new businesses in NRW. Competitive rates, grace period options. Well-suited for first-time padel operators in Germany's most populous state.
|
||||||
|
|
||||||
|
**NRW.BANK Mittelstandskredit:** For established NRW businesses investing in growth. Partial guarantee options available.
|
||||||
|
|
||||||
|
Contact: nrwbank.de
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Investitionsbank Berlin (IBB)
|
||||||
|
|
||||||
|
**IBB Investitionskredit / IBB Gründungskredit:** Particularly relevant given Berlin's strong padel demand — consistently one of the highest-occupancy markets in Germany. The IBB is accessible and responsive for sports-adjacent investments.
|
||||||
|
|
||||||
|
Contact: ibb.de
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### LfA Förderbank Bayern
|
||||||
|
|
||||||
|
**LfA StartCredit:** For young Bavarian companies (first 3 years). Can be combined with ERP-Kapital.
|
||||||
|
|
||||||
|
**LfA Wachstumskredit:** For established Bavarian businesses.
|
||||||
|
|
||||||
|
Contact: lfa.de
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Other State Banks
|
||||||
|
|
||||||
|
Every state has a development bank: Investitionsbank Schleswig-Holstein, Thüringer Aufbaubank, NBank Niedersachsen, Sächsische Aufbaubank, and others. Programs vary but are consistently worth checking.
|
||||||
|
|
||||||
|
**Practical resource:** förderinfo.de (operated by Germany's Federal Ministry for Economic Affairs) lists all relevant federal and state programs based on your location and business type.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Personal Guarantee Reality: Don't Avoid This Conversation
|
||||||
|
|
||||||
|
German banks financing a padel hall through a standalone project company will almost always require **persönliche Bürgschaft** (personal guarantee) from the founders. This means your personal assets — home, savings, existing investments — are at risk if the business fails.
|
||||||
|
|
||||||
|
Three ways to limit this exposure:
|
||||||
|
|
||||||
|
1. **Bürgschaftsbanken (Credit Guarantee Associations):** Every state has one. They can take over up to 80% of a guarantee, dramatically reducing your personal exposure. Applications run parallel to your bank application.
|
||||||
|
|
||||||
|
2. **KfW guarantee exemption:** Some KfW programs include partial bank liability exemption — reducing how much guarantee the commercial bank requires.
|
||||||
|
|
||||||
|
3. **Silent partner / co-investor:** A silent investor who contributes equity reduces the bank loan size, and therefore the guarantee requirement.
|
||||||
|
|
||||||
|
What every business plan must address: an explicit section on the guarantee structure. Bankers notice when founders pretend this isn't a real risk. Addressing it directly signals maturity.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Financing a Padel Hall: A Worked Example
|
||||||
|
|
||||||
|
A founder is building a 6-court indoor hall in Cologne. Total investment: **€1.3M**.
|
||||||
|
|
||||||
|
| Building block | Instrument | Amount |
|
||||||
|
|---|---|---|
|
||||||
|
| Personal equity | Founder capital | €230,000 |
|
||||||
|
| Subordinated capital | ERP-Kapital für Gründung | €250,000 |
|
||||||
|
| State development loan | NRW.BANK Gründungskredit | €180,000 |
|
||||||
|
| Commercial bank loan | Hausbank investment credit (KfW-refinanced) | €640,000 |
|
||||||
|
| **Total** | | **€1,300,000** |
|
||||||
|
|
||||||
|
From the bank's perspective: €480k of equity-equivalent funding (personal + ERP) against €820k of debt instruments. Equity ratio on total funding: 37%. That's comfortable territory.
|
||||||
|
|
||||||
|
DSCR on the bank loan (€640k at 5% over 10 years → ~€82k/year): With projected Year 2 EBITDA of €520k (conservative for Cologne's market), coverage is 6.3x. Even in the downside scenario at 20% lower utilization (EBITDA ~€350k), coverage is 4.3x — well above the 1.2–1.5x covenant threshold.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Ten Practical Steps to Getting Financed
|
||||||
|
|
||||||
|
1. **Complete your business plan and financial model** — no credible numbers, no bank meeting
|
||||||
|
2. **Approach your Hausbank first** — the relationship bank that holds your existing accounts
|
||||||
|
3. **Apply for KfW through your Hausbank** — the bank advises on which programs fit your profile
|
||||||
|
4. **Check the state development bank in parallel** — most operators use KfW + Landesbank combinations
|
||||||
|
5. **Contact the Bürgschaftsbank** — if equity is tight or you want to reduce personal guarantee exposure
|
||||||
|
6. **Engage a tax advisor early** — legal entity choice (GmbH vs. GmbH & Co. KG), VAT recovery on construction, depreciation structure
|
||||||
|
7. **Approach multiple banks in parallel** — never exclusive; compare terms across at least 3 institutions
|
||||||
|
8. **Document equity sources** — banks need proof of where your equity comes from (bank statements, property valuations)
|
||||||
|
9. **Apply for subsidies before breaking ground** — KfW and state programs require application *before* construction begins
|
||||||
|
10. **Get a bank commitment letter before signing** — secure financing confirmation before signing the lease or land purchase contract
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Summary
|
||||||
|
|
||||||
|
Financing a padel hall in Germany is solvable — but only with the right preparation. The combination of founder equity, ERP subordinated capital, state development bank debt, and commercial bank debt is the realistic path for most projects between €1.0M and €1.5M. ERP-Kapital für Gründung is the most underutilized lever, with the highest balance-sheet impact per euro.
|
||||||
|
|
||||||
|
Your most powerful tool in every bank meeting: a complete financial model demonstrating the specific economics of your location, pricing, and financing structure.
|
||||||
|
|
||||||
|
[scenario:padel-halle-6-courts:full]
|
||||||
|
|
||||||
|
The Padelnomics business plan includes a full financing structure overview and use-of-funds breakdown — the exact format your bank needs to evaluate the application.
|
||||||
197
scratch/articles/padel-hall-investment-risks-en.md
Normal file
197
scratch/articles/padel-hall-investment-risks-en.md
Normal file
@@ -0,0 +1,197 @@
|
|||||||
|
---
|
||||||
|
title: "The 14 Risks of Opening a Padel Hall That Most Investors Underestimate"
|
||||||
|
slug: padel-hall-investment-risks
|
||||||
|
language: en
|
||||||
|
url_path: /padel-hall-investment-risks
|
||||||
|
meta_description: "Trend risk, competitor cannibalization, personal guarantees, construction overruns: honest risk assessment for padel hall investors, from the data."
|
||||||
|
cornerstone: C7
|
||||||
|
---
|
||||||
|
|
||||||
|
# The 14 Risks of Opening a Padel Hall That Most Investors Underestimate
|
||||||
|
|
||||||
|
Most padel hall business plans look good. Utilization assumptions of 65–70%, five or six courts, a revenue line for corporate clients — run the numbers and the returns look compelling.
|
||||||
|
|
||||||
|
The problem is rarely the math. The problem is what's missing from it.
|
||||||
|
|
||||||
|
This article covers the 14 risks that don't get enough airtime in investor discussions. Not because padel halls are bad investments — well-run facilities generate strong returns. But the ones that fail almost always failed because someone skipped this conversation. An honest look at the downside protects your capital and produces better decisions.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## The 14 Risks at a Glance
|
||||||
|
|
||||||
|
| # | Risk | Category | Severity |
|
||||||
|
|---|------|----------|----------|
|
||||||
|
| 1 | Trend / fad risk | Strategic | High |
|
||||||
|
| 2 | Construction cost overruns | Construction & Development | High |
|
||||||
|
| 3 | Construction delays | Construction & Development | High |
|
||||||
|
| 4 | Landlord risk: sale, insolvency, non-renewal | Property & Lease | High |
|
||||||
|
| 5 | New competitor in your catchment | Competition | Medium–High |
|
||||||
|
| 6 | Key-person dependency | Operations | Medium |
|
||||||
|
| 7 | Staff retention and wage pressure | Operations | Medium |
|
||||||
|
| 8 | Court surface and maintenance cycles | Operations | Medium |
|
||||||
|
| 9 | Energy price volatility | Financial | Medium |
|
||||||
|
| 10 | Interest rate risk | Financial | Medium |
|
||||||
|
| 11 | Personal guarantee exposure | Financial | High |
|
||||||
|
| 12 | Customer concentration | Financial | Medium |
|
||||||
|
| 13 | Noise complaints and regulatory restrictions | Regulatory & Legal | Medium |
|
||||||
|
| 14 | Booking platform dependency | Regulatory & Legal | Low–Medium |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. Trend Risk: Is Padel Still Here in 2035?
|
||||||
|
|
||||||
|
This is the risk nobody wants to say out loud — which makes it the one worth examining most carefully.
|
||||||
|
|
||||||
|
Padel is genuinely booming. Player numbers in Germany have grown consistently for six consecutive years. Courts are full, waitlists are real, media coverage is accelerating. All of that is true right now.
|
||||||
|
|
||||||
|
But you're not building for right now. A padel hall is a 10–15 year investment thesis. The question is whether padel reaches self-sustaining critical mass in your specific market — or whether it peaks, plateaus, and slowly deflates as the novelty wears off.
|
||||||
|
|
||||||
|
Squash followed a strikingly similar pattern in the 1980s: grassroots boom, infrastructure build-out, then a long, slow decline. Anyone who opened a squash center in 1988 lived through the consequences.
|
||||||
|
|
||||||
|
The counterargument has real merit: padel requires permanent, fixed courts. That infrastructure creates genuine stickiness that squash never had — players build habits, drive to a venue, become regulars. Padel is also demonstrably more accessible and social than squash, which supports long-term participation. German player numbers show no plateau effect yet.
|
||||||
|
|
||||||
|
Even so: if utilization falls from 65% to 35% in year five because hype fades, your model breaks. That scenario is largely unhedgeable — but it can be modeled. What does your P&L look like at 40% utilization sustained for two years? Can your financing structure survive it? If you haven't answered that question, you're not done with your business plan.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 2 & 3. Construction and Development Risk: Overruns Are the Rule
|
||||||
|
|
||||||
|
Sports facility builds almost never come in at the original budget. Cost overruns of 15–30% versus the first estimate are industry-standard, not exceptional. This is partly contractor behavior, partly scope creep, partly the genuine complexity of converting commercial or industrial space for athletic use.
|
||||||
|
|
||||||
|
Construction delays compound the financial hit. Every month your hall isn't open is a month you're paying rent, debt service, and potentially contracted staff with zero revenue coming in. For a mid-size facility with €30,000–50,000 in monthly fixed costs, a four-month delay adds €120,000–200,000 to your actual project cost.
|
||||||
|
|
||||||
|
**What prudent planning looks like:**
|
||||||
|
- Build a minimum 15–20% contingency buffer into the budget — not aspirationally, but as a hard floor
|
||||||
|
- Pursue fixed-price contracts wherever possible; read the risk allocation provisions, not just the headline price
|
||||||
|
- Model a specific delay scenario (three to six months) in your financial plan and verify the business can survive it
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 4. Property and Lease Risk: The Building Belongs to Someone Else
|
||||||
|
|
||||||
|
Lease-based operators often invest €500,000 or more fitting out a building they don't own. That's not inherently problematic — but it creates a set of risks that need active management.
|
||||||
|
|
||||||
|
What happens if the landlord sells to a buyer with different plans? What if the landlord goes insolvent and the administrator terminates your lease? What if after ten years no renewal is offered — and while your fit-out costs are fully depreciated, your business would effectively need to restart from scratch?
|
||||||
|
|
||||||
|
**The minimum terms worth fighting for in a lease negotiation:**
|
||||||
|
- Minimum 15-year initial term, ideally longer
|
||||||
|
- Renewal options with pre-agreed rent escalation formulas
|
||||||
|
- Compensation clauses covering tenant improvements in the event of early termination by the landlord
|
||||||
|
- Right of first refusal or consent rights on ownership transfer, if negotiable
|
||||||
|
|
||||||
|
Get a commercial property lawyer involved before signing. The few thousand euros in legal fees are among the highest-ROI expenditures in the entire project.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 5. Competitive Risk: Your Success Is an Invitation
|
||||||
|
|
||||||
|
Full courts and waitlists are a great problem to have. They're also a signal to other investors: there's money to be made here.
|
||||||
|
|
||||||
|
When a new competitor opens ten minutes away in year three, you feel it in utilization. A drop from 70% to 50% sounds manageable until you model it against your fixed cost base. Depending on your leverage and lease obligations, that delta can mean the difference between a profitable operation and one that needs emergency cash.
|
||||||
|
|
||||||
|
Padel has no real moat. No patents, no network effects, no meaningful switching costs. What you have is location, the community you've built, and service quality — genuine advantages, but ones that require continuous investment to maintain.
|
||||||
|
|
||||||
|
**The right move is to model this explicitly.** What does your P&L look like when a competitor opens in year three and takes 20% of your demand? What operational responses are available — pricing, loyalty programs, corporate contracts, additional programming? Having thought through the competitive response in advance means you won't be improvising when it happens.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 6–8. Operational Risks: Three Factors That Get Overlooked
|
||||||
|
|
||||||
|
### Key-Person Dependency
|
||||||
|
|
||||||
|
Many padel halls launch with one person holding everything together — a founder who handles operations, sales, and programming, or a head coach who brings their network with them. What happens when that person leaves or burns out?
|
||||||
|
|
||||||
|
The answer is process documentation, distributed responsibility, and compensation structures that don't create unhealthy dependence on any individual. Build this from day one, not year three.
|
||||||
|
|
||||||
|
### Staff Retention and Wage Pressure
|
||||||
|
|
||||||
|
Good facility managers, coaches who combine technical skill with genuine hospitality, and reliable front-desk staff are not easy to find or keep. The German labor market is tight. Shift work in a physically demanding environment creates natural churn. Model realistic staff turnover and the associated recruiting and training costs — they're a real operating expense, not a rounding error.
|
||||||
|
|
||||||
|
### Court Surface and Maintenance Cycles
|
||||||
|
|
||||||
|
Courts need replacing. Artificial turf has a lifespan of five to eight years. Glass panels and framework require regular inspection and periodic replacement. If this isn't in your long-term financial model, you're looking at a significant unplanned capital call in year six or seven. Budget a per-court annual refurbishment reserve — and set it conservatively above zero.
|
||||||
|
|
||||||
|
F&B operations deserve a separate note: running a café or bar inside your facility is an entirely different business with different skills, thin margins, and regulatory requirements. Outsourcing to an operator is worth serious consideration.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 9–12. Financial Risks: The Four Silent Killers
|
||||||
|
|
||||||
|
### Energy Price Volatility
|
||||||
|
|
||||||
|
Indoor halls consume meaningful energy: court lighting, climate control, ventilation, hot water. The energy price spikes of 2021–2022 were a stress test many leisure facilities failed. Fixed-price energy contracts, LED lighting at proper lux standards, and efficient HVAC systems aren't just cost-saving measures — they're risk management instruments.
|
||||||
|
|
||||||
|
### Interest Rate Risk
|
||||||
|
|
||||||
|
Financing a padel hall typically involves a six-to-twelve-month gap between planning and loan drawdown. Interest rates can shift materially in that window. On a €900,000 debt facility, a 200-basis-point increase adds roughly €18,000 in annual interest expense — every year for the life of the loan. Lock your rate early where possible; if you can't, stress-test your model at current rates plus two percentage points.
|
||||||
|
|
||||||
|
### Customer Concentration
|
||||||
|
|
||||||
|
If three or four corporate clients account for 30% of your revenue — employee wellness programs, team events, regular bookings — that's attractive until one of them restructures or cuts the discretionary budget. Diversifying your revenue base across individual members, drop-in players, leagues, and corporate accounts isn't just good strategy; it's risk management.
|
||||||
|
|
||||||
|
### Inflation Pass-Through
|
||||||
|
|
||||||
|
Your costs will increase three to five percent per year. Whether you can pass those increases to customers without losing utilization depends entirely on your competitive position. In a market with multiple operators, pricing power is limited. This question deserves explicit analysis in your business plan, not an assumption that it'll work itself out.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## The Risk No One Talks About: Personal Guarantees
|
||||||
|
|
||||||
|
**This section gets skipped in almost every padel hall investment conversation. That's a serious mistake.**
|
||||||
|
|
||||||
|
Banks financing a single-asset leisure facility without corporate backing will almost universally require personal guarantees from the principal shareholders. Not as an unusual request — as standard terms for this type of deal.
|
||||||
|
|
||||||
|
Here is what that means in practice:
|
||||||
|
|
||||||
|
You form a GmbH (or equivalent limited liability entity). The GmbH takes the loan. The bank, knowing the GmbH has no operating history and a single illiquid asset, requires you to sign a personal guarantee — unlimited, or up to a defined amount, typically the full loan value.
|
||||||
|
|
||||||
|
If the GmbH becomes insolvent, the bank doesn't stop at the company. It comes after you personally. Your home. Your savings. Your investment portfolio. The "limited liability" of the GmbH is functionally meaningless in this scenario for the guaranteeing shareholders.
|
||||||
|
|
||||||
|
The numbers make this concrete: a personal guarantee on an €800,000 loan means your entire private net worth is backstopping a single venue. If the hall closes in year two — due to a delayed opening, a failed market, a major competitor, or any combination of factors — you're not just losing the investment. You're potentially losing everything.
|
||||||
|
|
||||||
|
**What to actually do about this:**
|
||||||
|
|
||||||
|
1. **Before signing:** Have a lawyer review the guarantee terms. A cap on personal exposure is often negotiable; unlimited guarantees are not inevitable.
|
||||||
|
2. **Private asset planning:** Work with a financial adviser before the project begins on what private assets can be structured appropriately. Do this early — not after the bank has already submitted terms.
|
||||||
|
3. **The honest stress test:** Can you personally absorb the worst-case outcome? Not just financially, but in practical terms — what does your life look like if this fails? If you can't honestly answer this, you're not ready to proceed.
|
||||||
|
4. **Multi-shareholder structures:** If you're investing with partners, clarify upfront who guarantees, for how much, and on what terms. Undiscussed assumptions here become serious conflicts later.
|
||||||
|
|
||||||
|
No other risk in this article is as immediate and personal as this one. Approach it with that level of seriousness.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 13–14. Regulatory and Legal Risks
|
||||||
|
|
||||||
|
### Noise Complaints
|
||||||
|
|
||||||
|
Padel generates distinctive noise — ball impacts on glass walls carry further and at different frequencies than most sport sounds. Near residential areas, this creates genuine conflict potential. Municipalities can impose operating hour restrictions or mandate expensive acoustic retrofits.
|
||||||
|
|
||||||
|
Before signing any lease: commission a professional noise assessment. Verify that the planned use is permissible under applicable noise ordinances at that specific site and with that specific building configuration. This is not due diligence you can do retrospectively.
|
||||||
|
|
||||||
|
### Booking Platform Dependency
|
||||||
|
|
||||||
|
Playtomic is the dominant booking platform in most European padel markets. That convenience comes with concentration risk. If Playtomic raises commissions, changes its algorithm to favor partner venues, or otherwise alters terms, you have limited ability to resist if you've built your customer acquisition entirely through their platform.
|
||||||
|
|
||||||
|
Building a parallel booking capability — even a simple direct booking option — is a medium-term priority. It preserves your customer relationships and maintains margin optionality.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## What Good Risk Management Actually Looks Like
|
||||||
|
|
||||||
|
The investors who succeed long-term in padel aren't the ones who found a risk-free opportunity. There isn't one. They're the ones who went in with their eyes open.
|
||||||
|
|
||||||
|
**They modeled the bad scenarios before assuming the good ones.** A business plan that shows only the base case isn't a planning tool — it's wishful thinking. Explicit downside modeling — 40% utilization, six-month delay, new competitor in year three — is the baseline, not an optional exercise.
|
||||||
|
|
||||||
|
**They built structural buffers into the plan.** Liquid reserves covering at least six months of fixed costs. Construction contingency treated as a budget line, not a hedge. These aren't comfort margins; they're operational requirements.
|
||||||
|
|
||||||
|
**They got the contractual foundations right from the start.** Lease terms. Financing conditions. Guarantee scope. The cost of good legal and financial advice at the planning stage is trivial relative to the downside exposure it addresses.
|
||||||
|
|
||||||
|
**They planned for competition.** Not by hoping it wouldn't come, but by building a product — community, quality, service — that gives existing customers a reason to stay when someone cheaper opens nearby.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Model the Downside with Padelnomics
|
||||||
|
|
||||||
|
The Padelnomics investment planner includes a sensitivity analysis tab designed for exactly this kind of scenario work: how does ROI change at 40% vs 65% utilization? What does a six-month construction delay cost in total? What happens to the model when a competitor opens in year three and takes 20% of demand?
|
||||||
|
|
||||||
|
Good decisions need an honest model — not just the best-case assumptions.
|
||||||
172
scratch/articles/padel-hall-location-guide-en.md
Normal file
172
scratch/articles/padel-hall-location-guide-en.md
Normal file
@@ -0,0 +1,172 @@
|
|||||||
|
---
|
||||||
|
title: "Where to Build a Padel Hall: A Data-Driven Location Analysis"
|
||||||
|
slug: padel-hall-location-guide
|
||||||
|
language: en
|
||||||
|
url_path: /en/blog/padel-hall-location-guide
|
||||||
|
meta_description: "8 criteria for choosing the right location for a padel hall: catchment area, competition, visibility, rent costs, and building regulations — data over gut feeling."
|
||||||
|
cornerstone: C5
|
||||||
|
---
|
||||||
|
|
||||||
|
# Where to Build a Padel Hall: A Data-Driven Location Analysis
|
||||||
|
|
||||||
|
The location decision is the only decision in a padel hall's lifecycle that can't be undone. Poor pricing can be adjusted. A weak marketing strategy can be overhauled. A court surface that turns out to be the wrong choice can be replaced in a few years. The location cannot. Committing to a site based on instinct, or because the rent looked good, embeds a structural risk into every projection that follows. This guide walks through how a data-driven location decision actually works.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## The 8 Criteria for Padel Hall Site Selection
|
||||||
|
|
||||||
|
### 1. Catchment Area Analysis
|
||||||
|
|
||||||
|
Before any property is seriously evaluated, the catchment area must be understood. Start with two drive-time isochrones from the candidate site: 15 minutes and 30 minutes. Within these zones, analyze the population — not by headcount alone, but by the metrics that predict padel demand:
|
||||||
|
|
||||||
|
**Age distribution**: The core padel demographic is 25–55. Areas with a median age above 55 or a very young demographic without disposable income are harder markets.
|
||||||
|
|
||||||
|
**Household income**: Destatis publishes income data at district (*Kreis*) level in Germany, and equivalent regional statistics exist across DACH. Padel isn't luxury, but it isn't mass-market either. Dual-income households with a net monthly income above €3,000 represent the strongest demand cohort.
|
||||||
|
|
||||||
|
**Employment profile**: Areas with high concentrations of knowledge workers, professionals, and dual-income households show the highest willingness to pay for fixed-schedule indoor sports bookings.
|
||||||
|
|
||||||
|
**Existing sports participation**: Is there an active tennis or squash community in the area? Padel has a high conversion rate from both sports — shared audience demographics and transferable technique lower the marketing effort required.
|
||||||
|
|
||||||
|
A strong catchment area looks like this: high population density within 15 minutes, age median 30–45, above-average household income, and existing sports infrastructure that proves a sports-active population is already there.
|
||||||
|
|
||||||
|
### 2. Competition Mapping
|
||||||
|
|
||||||
|
What padel facilities already exist in the catchment area, and how well-utilized are they? This is the single most important question in the site decision.
|
||||||
|
|
||||||
|
Existing padel halls list their courts on booking platforms like Playtomic and Matchi. Spend 30 minutes checking availability for the next weekend across your candidate competitors. Look specifically at peak slots — weekday evenings (17:00–21:00) and weekend mornings (09:00–14:00):
|
||||||
|
|
||||||
|
- Courts fully booked at peak: a clear demand signal. The market is absorbing supply. Room for well-located new entrants.
|
||||||
|
- Substantial availability at peak: either the market is already served, or the venue has an operational problem. Investigate before concluding.
|
||||||
|
|
||||||
|
A practical distance heuristic for modeling utilization impact: a competing venue within 5km will typically cost a new hall 15–25% utilization; within 10km, expect 5–15%. These aren't fixed laws, but they provide a sensible baseline for scenario planning.
|
||||||
|
|
||||||
|
Important nuance: competition is not a disqualifier. In markets with genuine demand and insufficient supply, a second or third hall can perform strongly. The question is always the ratio of demand to supply, not the mere existence of competitors.
|
||||||
|
|
||||||
|
### 3. Accessibility and Parking
|
||||||
|
|
||||||
|
Padel is overwhelmingly a car-visited sport. This has direct operational consequences.
|
||||||
|
|
||||||
|
**Parking**: The working benchmark is 2–3 spaces per court minimum. A four-court facility needs at least 8–12 dedicated spaces — plus buffer for coaches, staff, and the overlap between adjacent booking slots (players arriving early while previous players are still finishing). Parking shortfalls become visible only at peak capacity, and by then they're structurally unfixable.
|
||||||
|
|
||||||
|
**Public transit**: Not a dealbreaker in most DACH markets, but a genuine multiplier where it exists. A facility accessible by S-Bahn or metro reaches a meaningfully broader audience, particularly younger players and urban households without a second car.
|
||||||
|
|
||||||
|
Industrial and business park locations often have good car access but no transit connections. That's operationally acceptable for many padel halls — but it should be factored into the target customer profile and marketing assumptions.
|
||||||
|
|
||||||
|
### 4. Visibility and Location Profile
|
||||||
|
|
||||||
|
A site on a main road or near a commercial hub generates passive awareness. People see the facility while going about their daily routines, without having searched for it. This reduces the marketing effort required during the launch and ramp-up period.
|
||||||
|
|
||||||
|
A site tucked into a secondary industrial estate with no street presence also works — but it demands 30–40% more marketing investment to build awareness from scratch, and requires a stronger digital presence to compensate for the absence of organic traffic.
|
||||||
|
|
||||||
|
The tradeoff: premium visible locations typically command 2x the rent per square meter compared to equivalent space in secondary locations. The question to answer is always: what does the visibility premium cost annually, and what would the same budget accomplish as marketing spend? In many cases, the less visible but cheaper location with a proper marketing budget outperforms the visible premium location on net economics.
|
||||||
|
|
||||||
|
### 5. Building Suitability for Conversion
|
||||||
|
|
||||||
|
Not every large building is actually suitable for a padel hall. Specific structural requirements apply:
|
||||||
|
|
||||||
|
**Clear height**: Minimum 8 metres of unobstructed ceiling height, ideally 10 metres or more. Below 8 metres, play is possible only with modified court dimensions and is unsuitable for competitive or club-standard use.
|
||||||
|
|
||||||
|
**Column-free spans**: A standard padel court occupies 20m × 10m. With mandatory safety zones, each court requires a column-free area of approximately 22m × 12m. Halls with tight structural grids typically don't work.
|
||||||
|
|
||||||
|
**Floor capacity**: Padel court steel structures are not exceptionally heavy, but they need to be anchored properly. The substrate must have adequate load-bearing capacity.
|
||||||
|
|
||||||
|
**Power supply**: LED lighting to padel standard (300–500 lux on playing surface) draws significant electricity. The existing supply connection needs to support this, or be upgradable without prohibitive cost.
|
||||||
|
|
||||||
|
German industrial and warehouse buildings from the 1980s and 1990s frequently meet these criteria and are often available at substantially lower rent per square meter than retail or office space. They represent the most common conversion path for padel halls in DACH.
|
||||||
|
|
||||||
|
### 6. Rent-to-Revenue Ratio
|
||||||
|
|
||||||
|
Padel halls need substantial floor area: 1,500–3,000 sqm for a 4–8 court facility including changing rooms, lounge, reception, and storage. Rent per sqm therefore has an outsized impact on the unit economics.
|
||||||
|
|
||||||
|
**The working rule**: annual total rent should not exceed 15% of projected Year 3 revenue. Worked example:
|
||||||
|
|
||||||
|
- Projected Year 3 revenue: €1.1 million
|
||||||
|
- Maximum sustainable annual rent: €165,000 (15%)
|
||||||
|
- Monthly rent: €13,750
|
||||||
|
- At 1,500 sqm: approximately €9.20/sqm/month
|
||||||
|
|
||||||
|
If the asking rent sits materially above this threshold, the site has a structural economics problem — regardless of how well it scores on other criteria. This is one of the two hard disqualifiers in site selection (the other being building unsuitability).
|
||||||
|
|
||||||
|
The 15% rule is a planning ceiling, not a guarantee of viability. Facilities with strong ancillary revenue (F&B, coaching, events) can tolerate a higher rent burden; lean court-rental-only operations need to be below it.
|
||||||
|
|
||||||
|
### 7. Area Growth Trajectory
|
||||||
|
|
||||||
|
Is the surrounding area developing? New residential or commercial development nearby can significantly expand the catchment base during the first years of operation. Securing a site ahead of completed area development often means lower rent and a first-mover position that becomes increasingly valuable as the area fills in.
|
||||||
|
|
||||||
|
Information sources: municipal development plans (*Bebauungspläne*), land use plans (*Flächennutzungspläne*), reports from the local economic development office (*Wirtschaftsförderung*), and regional population projections from national statistics offices (Destatis for Germany, Statistics Austria, Swiss Federal Statistical Office). Reviewing building permit statistics for the surrounding area gives a useful leading indicator of near-term population growth.
|
||||||
|
|
||||||
|
### 8. Regulatory Environment
|
||||||
|
|
||||||
|
The building permit (*Baugenehmigung* in Germany) is one of the most consistently underestimated risk factors in padel hall projects. Processing times of six to nine months are not exceptional — and every month of delay means rent running without revenue.
|
||||||
|
|
||||||
|
Key checks before committing to a site:
|
||||||
|
|
||||||
|
**Zoning (*Nutzungsklasse*)**: Is commercial sports use permissible at this location under the *Baunutzungsverordnung*? Commercial sports facilities are not permitted in all zone types. A pre-inquiry (*Voranfrage*) to the building authority — typically informal and often free — can answer this before any lease is signed.
|
||||||
|
|
||||||
|
**Noise regulations**: Critical for outdoor courts. Germany's *TA Lärm* sets strict noise level thresholds for sports facilities depending on the surrounding zone category. These regulations can permanently restrict outdoor court operation if the site is near residential zones. Assess this before investing in outdoor infrastructure.
|
||||||
|
|
||||||
|
**Municipal support**: Some municipalities actively want sports infrastructure — expedited permitting, discounted commercial space, or direct funding. Contacting the local *Wirtschaftsförderung* early in the site selection process costs nothing and occasionally surfaces meaningful support.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## The Site Scoring Framework: From 8 Criteria to a Decision
|
||||||
|
|
||||||
|
Anyone evaluating multiple sites in parallel needs a comparison tool. A weighted scoring matrix works well: each criterion is rated 1–5 and multiplied by a weighting factor.
|
||||||
|
|
||||||
|
A suggested weighting:
|
||||||
|
|
||||||
|
| Criterion | Weight |
|
||||||
|
|---|---|
|
||||||
|
| Catchment area (population, income, demographics) | 25% |
|
||||||
|
| Competitive landscape | 20% |
|
||||||
|
| Rent-to-revenue ratio | 20% |
|
||||||
|
| Building suitability | 15% |
|
||||||
|
| Accessibility and parking | 10% |
|
||||||
|
| Regulatory environment | 5% |
|
||||||
|
| Visibility | 3% |
|
||||||
|
| Area growth trajectory | 2% |
|
||||||
|
|
||||||
|
This produces a total score per site that enables structured comparison. Important caveat: a site that fails either of the two hard disqualifiers — rent-to-revenue ratio above the threshold, or building structurally unsuitable — is eliminated regardless of total score.
|
||||||
|
|
||||||
|
The matrix also reveals where trade-offs are being made explicitly, which makes conversations with co-investors, partners, and banks more grounded.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Common Mistakes in Site Selection
|
||||||
|
|
||||||
|
**The visibility trap**: A premium-visibility site on a main arterial road sounds compelling. But padel customers book online. Visibility helps with passive brand awareness — it doesn't replace functional digital marketing, and it costs substantially more per sqm. Quantify what the visibility premium costs per year, and compare that to what the same budget would do as targeted digital advertising. The math often favors the less visible but cheaper site with a real marketing budget.
|
||||||
|
|
||||||
|
**Underestimating parking**: Parking problems only become fully visible at operating capacity — the busiest weekend morning when every slot is full and customers can't find a space. By that point, the problem is structural and unfixable without significant additional cost or renegotiation. Assess parking capacity before signing.
|
||||||
|
|
||||||
|
**Ignoring regulatory risk**: Planning permissions fail or stall for reasons that were often visible in advance — wrong zone type, outdoor court noise exposure, adjacent protected buildings. A pre-inquiry to the building authority before committing to a lease takes a week and can save months of wasted effort and meaningful sunk costs.
|
||||||
|
|
||||||
|
**Anchoring too early on a single site**: The best location decisions come from comparing at least three to five options side by side. Taking the first workable option forfeits the ability to optimize the rent, location quality, and suitability trade-off. The scoring matrix only pays off if there's something to compare.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## German and DACH Markets: City-Level Signals for 2026
|
||||||
|
|
||||||
|
Padel demand is unevenly distributed across DACH. Some current market read:
|
||||||
|
|
||||||
|
**Established markets with continued strong demand**
|
||||||
|
Munich, Hamburg, Berlin, Frankfurt — padel is already an established sport in these cities, well-positioned facilities run at high utilization, and the market has capacity for additional well-located halls. Construction and lease costs are correspondingly elevated.
|
||||||
|
|
||||||
|
**Strong growth, not yet saturated**
|
||||||
|
Stuttgart, Düsseldorf, Cologne — intermediate market maturity, clear growth momentum, identifiable supply gaps in specific districts and surrounding municipalities. Often a better rent-to-demand ratio than the top-four cities.
|
||||||
|
|
||||||
|
**Emerging markets with attractive risk-return**
|
||||||
|
Leipzig, Dresden, Nuremberg — lower rent costs, growing player base, but lower absolute demand volume. Suited to operators with cost discipline and a marketing strategy that actively builds community rather than relying on organic demand.
|
||||||
|
|
||||||
|
**Mid-size cities in metro hinterlands**
|
||||||
|
Towns of 50,000–200,000 people near major economic centers are frequently underserved, offer more attractive commercial rents, and have less complex permitting processes. Operators willing to invest in community building — local leagues, beginner programs, partnerships with tennis clubs — often find better unit economics here than in the major metros.
|
||||||
|
|
||||||
|
**Austria and Switzerland**
|
||||||
|
Vienna and Zurich both show strong padel growth signals, with utilization data from booking platforms suggesting meaningful unmet demand. Regulatory complexity differs from Germany (Austrian *Bauordnung* varies by state; Swiss cantonal permitting adds procedural steps), but the demographic and income profile of both cities is highly favorable.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## How Padelnomics Helps
|
||||||
|
|
||||||
|
Padelnomics analyzes market data for your target area: player density, competitive supply, demand signals from booking platform data, and demographic indicators at municipality level. For your candidate sites, Padelnomics produces a catchment area profile and a side-by-side comparison — so the decision is grounded in data rather than a map with a finger pointing at it.
|
||||||
|
|
||||||
|
[→ Run a location analysis]
|
||||||
260
scratch/articles/padel-halle-bauen-de.md
Normal file
260
scratch/articles/padel-halle-bauen-de.md
Normal file
@@ -0,0 +1,260 @@
|
|||||||
|
---
|
||||||
|
title: "Padel Halle Bauen: Die 5 Phasen vom Konzept bis zur Eröffnung"
|
||||||
|
slug: padel-halle-bauen
|
||||||
|
language: de
|
||||||
|
url_path: /padel-halle-bauen
|
||||||
|
meta_description: "Wie baut man eine Padelhalle? Machbarkeit, Planung, Bau, Voreröffnung, Betrieb – alle 23 Schritte in einem vollständigen Leitfaden."
|
||||||
|
cornerstone: C8
|
||||||
|
---
|
||||||
|
|
||||||
|
# Padel Halle Bauen: Die 5 Phasen vom Konzept bis zur Eröffnung
|
||||||
|
|
||||||
|
Von der ersten Idee bis zum Tag der Eröffnung vergehen realistisch 12 bis 18 Monate. Wer mit 9 Monaten plant, ist fast immer zu optimistisch — wer mit 24 rechnet, kann entspannter planen und besser verhandeln.
|
||||||
|
|
||||||
|
Dieser Leitfaden zeigt Ihnen alle 5 Phasen und 23 Schritte, die zwischen Ihrer ersten Standortrecherche und einem laufenden Betrieb liegen. Kein Hochglanzbild des Erfolgs, sondern ein ehrlicher Überblick über das, was tatsächlich passiert — und was schiefgehen kann.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Die 5 Phasen im Überblick
|
||||||
|
|
||||||
|
```
|
||||||
|
Phase 1 Phase 2 Phase 3 Phase 4 Phase 5
|
||||||
|
Machbarkeit → Planung & → Bau / → Voreröff- → Betrieb &
|
||||||
|
& Konzept Design Umbau nung Optimierung
|
||||||
|
|
||||||
|
Monat 1–3 Monat 3–6 Monat 6–12 Monat 10–13 laufend
|
||||||
|
|
||||||
|
Schritte 1–5 Schritte 6–11 Schritte 12–16 Schritte 17–20 Schritte 21–23
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Phase 1: Machbarkeit & Konzept (Monat 1–3)
|
||||||
|
|
||||||
|
Diese Phase ist die wichtigste — und die, in der am häufigsten zu früh abgebrochen oder zu schnell vorangeschritten wird. Wer hier gründlich arbeitet, spart sich später teure Korrekturen.
|
||||||
|
|
||||||
|
### Schritt 1: Marktanalyse
|
||||||
|
|
||||||
|
Bevor Sie ein Grundstück besichtigen oder ein Finanzmodell öffnen, müssen Sie verstehen, ob der Markt für Ihre geplante Anlage trägt.
|
||||||
|
|
||||||
|
Das bedeutet konkret:
|
||||||
|
- **Spielerbefragungen:** Wie viele aktive Padelspielende gibt es im Radius von 15 bis 20 Fahrminuten? Wie stark ist die Warteliste bei bestehenden Anlagen?
|
||||||
|
- **Wettbewerb kartieren:** Welche Anlagen gibt es bereits? Welche sind in Planung? (Planungsanträge sind öffentlich einsehbar.) Was kosten deren Buchungen? Wie stark sind sie ausgelastet?
|
||||||
|
- **Demografie prüfen:** Wo wohnen die Zielgruppen — zahlungsbereite Berufstätige zwischen 25 und 55 Jahren, Unternehmen mit Wellness-Budgets, Sportvereine mit Trainingsbedarf? Liegen diese Gruppen im Einzugsgebiet des geplanten Standorts?
|
||||||
|
|
||||||
|
Eine professionelle Marktanalyse ist keine Garantie für Erfolg, aber sie schützt vor einem häufigen Fehler: der Anlage, die am falschen Ort oder für den falschen Markt gebaut wird.
|
||||||
|
|
||||||
|
### Schritt 2: Konzeptentwicklung
|
||||||
|
|
||||||
|
Aus der Marktanalyse leitet sich das Konzept ab: Wie viele Courts? Welche Zielgruppe — ambitionierte Freizeitspieler, Vereinssport, Corporate-Kunden, breite Bevölkerung? Welches Serviceniveau — einfache Buchungsanlage oder Hallenkonzept mit Lounge, Bar, Pro Shop und Coaching?
|
||||||
|
|
||||||
|
Jede dieser Entscheidungen beeinflusst Investitionsbedarf, Betriebskosten und Einnahmepotenzial. Das Konzept ist das Fundament aller weiteren Planung.
|
||||||
|
|
||||||
|
### Schritt 3: Standortsuche
|
||||||
|
|
||||||
|
Suchen Sie parallel drei bis fünf Kandidatenstandorte. Bewerten Sie diese nach:
|
||||||
|
|
||||||
|
| Kriterium | Was Sie prüfen |
|
||||||
|
|-----------|---------------|
|
||||||
|
| Erreichbarkeit | Öffentlicher Nahverkehr, Parkplätze, Radwege |
|
||||||
|
| Sichtbarkeit | Laufkundschaft, Straßenpräsenz, Beschilderungsmöglichkeiten |
|
||||||
|
| Raumgröße | Nettofläche für Courts plus Nebenräume (Umkleiden, Empfang, Lounge) |
|
||||||
|
| Deckenhöhe | Mindestens 7 Meter lichte Höhe für Indoor-Courts — lieber 8+ |
|
||||||
|
| Bebauungsplan | Ist die Nutzung als Sportstätte zulässig? Lärmschutzauflagen? |
|
||||||
|
| Mietkosten | Monatsmiete im Verhältnis zum erwartbaren Umsatz |
|
||||||
|
|
||||||
|
Ein Standort, der in allen Dimensionen 70 Prozent erfüllt, ist besser als einer, der in einer Dimension herausragt, dafür in zwei anderen scheitert.
|
||||||
|
|
||||||
|
### Schritt 4: Vorläufiges Finanzmodell
|
||||||
|
|
||||||
|
An diesem frühen Punkt brauchen Sie kein Detailmodell. Was Sie brauchen: einen ersten Plausibilitätscheck.
|
||||||
|
|
||||||
|
Grobe Hochrechnung:
|
||||||
|
- Investitionsvolumen (Bau, Courts, Einrichtung, Puffer) vs. verfügbares Kapital plus Fremdfinanzierbarkeit
|
||||||
|
- Breakeven-Auslastung: Bei welchem Nutzungsgrad decken die Einnahmen die Fixkosten?
|
||||||
|
- Ist das Geschäftsmodell bei konservativen Annahmen (50 % Auslastung, nicht 70 %) noch lebensfähig?
|
||||||
|
|
||||||
|
Wenn das vorläufige Modell nur bei sehr günstigen Annahmen funktioniert, ist das ein Warnsignal — keine Einladung, an den Annahmen zu schrauben.
|
||||||
|
|
||||||
|
### Schritt 5: Go/No-go-Entscheidung
|
||||||
|
|
||||||
|
Phase 1 endet mit einer echten Entscheidung. Nicht mit "wir machen weiter und sehen mal" — sondern mit einer begründeten Antwort auf die Frage: Rechtfertigen Markt, Standort und vorläufiges Finanzmodell die deutlich höheren Kosten der nächsten Phase?
|
||||||
|
|
||||||
|
Wenn ja: weiter. Wenn nein oder wenn wesentliche Fragen offen sind: mehr Analyse oder konsequentes Stopp.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Phase 2: Planung & Design (Monat 3–6)
|
||||||
|
|
||||||
|
In dieser Phase konkretisiert sich das Projekt. Die Kosten steigen spürbar — externe Dienstleister, Gutachter, Anwälte. Der Punkt of no return nähert sich.
|
||||||
|
|
||||||
|
### Schritt 6: Standort sichern
|
||||||
|
|
||||||
|
Unterzeichnen Sie einen Letter of Intent oder eine Optionsvereinbarung für den bevorzugten Standort. Das sichert Ihnen eine Exklusivverhandlungsphase, ohne Sie bereits vertraglich vollständig zu binden.
|
||||||
|
|
||||||
|
Lassen Sie den Mietvertrag erst unterzeichnen, wenn die Grundzüge der Planung stehen — damit Sie wissen, was Sie anmieten und ob der Standort das Konzept trägt. Gute Konditionen verhandeln Sie jetzt, nicht nach der Unterschrift.
|
||||||
|
|
||||||
|
### Schritt 7: Architekt und Fachplaner beauftragen
|
||||||
|
|
||||||
|
Beauftragen Sie einen Architekten mit nachweisbarer Erfahrung in Sportanlagen oder Hallenumbauten — nicht irgendein gutes Architekturbüro, sondern eines, das versteht, was ein Padel-Court baulich erfordert.
|
||||||
|
|
||||||
|
Was in dieser Phase entsteht:
|
||||||
|
- Grundrisse und Flächenplanung: Court-Layout, Wegeführung, Umkleiden, Empfang, Technikräume
|
||||||
|
- Statische Beurteilung: Ist die Tragkonstruktion für Courts und ggf. Tribünen geeignet?
|
||||||
|
- MEP-Planung (Haustechnik): Heizung, Lüftung, Klimaanlage, Elektro, Sanitär — das sind bei Sporthallen oft die kostenintensivsten Gewerke
|
||||||
|
- Brandschutzkonzept
|
||||||
|
|
||||||
|
**Häufiger Fehler in dieser Phase:** Die Haustechnik wird unterschätzt. Eine große Innenhalle braucht präzise Temperatur- und Feuchtigkeitskontrolle — für die Spielqualität, für die Langlebigkeit des Belags und für das Wohlbefinden der Spielenden. Eine schlechte HVAC-Anlage ist eine Dauerbaustelle.
|
||||||
|
|
||||||
|
### Schritt 8: Courtlieferant auswählen
|
||||||
|
|
||||||
|
Holen Sie Angebote von mindestens drei Court-Herstellern ein. Marktgängige Anbieter im deutschsprachigen Raum sind u.a. Mondo, Padelcreations, MejorSet und weitere europäische Hersteller.
|
||||||
|
|
||||||
|
Koordinieren Sie die technischen Anforderungen des Herstellers frühzeitig mit dem Architekten: Court-Maße, Entwässerung, Lichtanforderungen (LUX-Werte für unterschiedliche Spielniveaus), Glasspezifikationen, Fundamentaufbau. Wer das erst in der Bauphase koordiniert, zahlt für Nacharbeiten.
|
||||||
|
|
||||||
|
### Schritt 9: Detailliertes Finanzmodell
|
||||||
|
|
||||||
|
Jetzt liegt genug Material vor, um das Finanzmodell auf echte Zahlen zu stellen: reale Mietkosten, Architektenangebote, erste Bauschätzungen, Court-Preise. Verfeinern Sie alle Annahmen und führen Sie explizite Sensitivitätsanalysen durch — mindestens bei Auslastung (+/- 15 Prozentpunkte) und Baukosten (+20 Prozent).
|
||||||
|
|
||||||
|
### Schritt 10: Finanzierung sichern
|
||||||
|
|
||||||
|
Mit dem detaillierten Businessplan gehen Sie zu Banken und ggf. Fördermittelgebern. Typische Kapitalstruktur:
|
||||||
|
- 50–70 Prozent Fremdkapital (Bankdarlehen)
|
||||||
|
- 30–50 Prozent Eigenkapital (eigene Mittel, stille Beteiligungen, Gesellschafterdarlehen)
|
||||||
|
|
||||||
|
Was Banken sehen wollen: belastbares Finanzmodell, Sicherheiten, Ihr persönliches Track Record, und — fast immer — eine persönliche Bürgschaft. (Mehr dazu im separaten Artikel zu Investitionsrisiken.)
|
||||||
|
|
||||||
|
Klären Sie Förderprogramme: KfW-Mittel, Landesförderbanken und kommunale Sportförderprogramme können den Eigenkapitalbedarf oder die Zinsbelastung reduzieren. Diese Recherche lohnt sich.
|
||||||
|
|
||||||
|
### Schritt 11: Baugenehmigung und Behördenprozesse
|
||||||
|
|
||||||
|
In der Regel erforderlich: Baugenehmigung (Nutzungsänderung, wenn das Gebäude nicht als Sportstätte ausgewiesen ist), Lärmschutzgutachten, ggf. Umweltprüfungen.
|
||||||
|
|
||||||
|
Planen Sie für diesen Schritt ausreichend Zeit ein — je nach Gemeinde und Komplexität können Genehmigungsprozesse drei bis sechs Monate dauern. Sprechen Sie frühzeitig informell mit der zuständigen Behörde, um Überraschungen zu vermeiden.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Phase 3: Bau und Umbau (Monat 6–12)
|
||||||
|
|
||||||
|
Der teuerste und zeitlich aufwendigste Teil des Projekts. Hier entscheidet sich, ob der Zeitplan und das Budget halten.
|
||||||
|
|
||||||
|
### Schritt 12: Bauausschreibung und Vertragsschluss
|
||||||
|
|
||||||
|
Lassen Sie Leistungsverzeichnisse durch Ihren Architekten erstellen und schreiben Sie die Gewerke aus. Entscheiden Sie, ob Sie einen Generalunternehmer beauftragen (ein Ansprechpartner, höhere Koordinationskosten im Preis) oder eine Fachgewerke-Koordination selbst übernehmen (günstiger, aber deutlich aufwendiger für Sie oder Ihren Bauleiter).
|
||||||
|
|
||||||
|
Kerntrades im Sporthallenumbau:
|
||||||
|
- **Rohbau/Statik:** Falls strukturelle Eingriffe nötig sind
|
||||||
|
- **Bodenarbeiten:** Fundamente und Drainage für die Courts
|
||||||
|
- **HVAC:** Heizung, Lüftung, Klimaanlage — bei Hallen oft 20–25 Prozent der Baukosten
|
||||||
|
- **Elektro:** LED-Hallenbeleuchtung nach LUX-Norm, Unterverteilungen, Notstrom
|
||||||
|
- **Sanitär:** Umkleiden, Duschen, ggf. Bar
|
||||||
|
|
||||||
|
Verhandeln Sie Festpreise, wo möglich. Lesen Sie die Risikoverteilung in den Verträgen genauer als den Gesamtpreis.
|
||||||
|
|
||||||
|
### Schritt 13: Court-Montage
|
||||||
|
|
||||||
|
Courts werden nach Fertigstellung der Gebäudehülle montiert — das ist eine harte Reihenfolge, keine Empfehlung. Glaselemente dürfen nicht Feuchtigkeit, Staub und Baustellenverkehr ausgesetzt werden, bevor das Gebäude dicht ist.
|
||||||
|
|
||||||
|
**Ein häufiger und vermeidbarer Fehler:** Projekte, die unter Zeitdruck stehen, versuchen, Court-Montage vorzuziehen. Das Ergebnis sind beschädigte Oberflächen, Glasschäden, Verschmutzungen im Belag und Gewährleistungsprobleme mit dem Hersteller. Halten Sie die Reihenfolge ein — konsequent.
|
||||||
|
|
||||||
|
Die Montage von Courts dauert je nach Hersteller und Parallelkapazität zwei bis vier Wochen pro Charge. Planen Sie das in den Gesamtablauf ein.
|
||||||
|
|
||||||
|
### Schritt 14: Ausbau der Nebenflächen
|
||||||
|
|
||||||
|
Parallel zur oder nach der Court-Montage: Empfangstresen, Umkleiden, Lounge-Bereich, ggf. Bar/Café, Pro-Shop-Einrichtung. Diese Flächen machen den ersten Eindruck bei Besuchern und sollten nicht als nachrangig behandelt werden.
|
||||||
|
|
||||||
|
### Schritt 15: IT, Buchungssystem, Zugangskontrolle
|
||||||
|
|
||||||
|
Frühzeitig entscheiden: Playtomic, Matchi, ein anderes System oder eine Hybridlösung? Die Systemkonfiguration — Courts anlegen, Preisregeln definieren, Mitgliedschaften einrichten, Kassensystem integrieren — dauert länger als erwartet.
|
||||||
|
|
||||||
|
Zugangskontrolle (falls gewünscht) muss mit der Elektroplanung koordiniert werden. Wer das in der letzten Bauphase ergänzen möchte, zahlt dafür.
|
||||||
|
|
||||||
|
**Das häufigste Vorabend-Fehler:** Am Tag der Eröffnung ist das Buchungssystem noch nicht richtig konfiguriert, Testzahlungen schlagen fehl, der QR-Code am Eingang führt auf eine Fehlerseite. Der Eröffnungsbuzz ist ein einmaliges Gut. Testen Sie das System zwei bis vier Wochen vorher vollständig — inklusive echter Buchungen, echter Zahlungen und echter Stornierungen.
|
||||||
|
|
||||||
|
### Schritt 16: Abnahmen und Zertifizierungen
|
||||||
|
|
||||||
|
Brandschutzabnahme, Bauabnahme, Betriebsgenehmigung (wo erforderlich), Barrierefreiheitsprüfung. Planen Sie für diesen Schritt vier bis acht Wochen Vorlauf gegenüber dem geplanten Eröffnungsdatum.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Phase 4: Voreröffnung (Monat 10–13)
|
||||||
|
|
||||||
|
Die Halle steht. Jetzt entscheidet sich, ob Sie am Eröffnungstag Kunden haben — oder ob Sie in einer leeren Halle auf den ersten Anruf warten.
|
||||||
|
|
||||||
|
### Schritt 17: Personal einstellen
|
||||||
|
|
||||||
|
Wer auf den letzten Drücker anfängt zu suchen, bekommt, wer noch verfügbar ist. Idealer Beginn der Personalsuche: drei bis vier Monate vor dem geplanten Eröffnungstermin.
|
||||||
|
|
||||||
|
Kerncrew für den Betrieb:
|
||||||
|
- **Hallenleiterin oder Hallenleiter:** Betriebsverantwortung, Buchungsmanagement, Kundenkontakt — die wichtigste Einstellung, und die schwierigste
|
||||||
|
- **Empfang/Service:** Für die Spitzenzeiten (Abend unter der Woche, ganzer Samstag/Sonntag)
|
||||||
|
- **Coaches:** Sofern Trainingsbetrieb geplant ist — Qualität vor Quantität
|
||||||
|
- **Reinigung:** Regelmäßige Hallenpflege ist kein nachrangiges Thema; schmutzige Courts werden bemerkt und bewertet
|
||||||
|
|
||||||
|
### Schritt 18: Marketing und Vor-Eröffnungs-Aktivierung
|
||||||
|
|
||||||
|
Warten Sie nicht bis zur Eröffnung, um bekannt zu werden. Bauen Sie die Community vor der Eröffnung auf:
|
||||||
|
|
||||||
|
- Social Media mit Baufortschritt-Updates (erzeugt Vorfreude und lokale Reichweite)
|
||||||
|
- Lokale Kooperationen: Sportvereine, Unternehmen mit Wellness-Budgets, Fitnessstudios in der Nähe
|
||||||
|
- Pressearbeit: Lokale Medien berichten gern über neue Sportinfrastruktur — aber nur, wenn Sie sie einladen
|
||||||
|
- Einführungspreise oder Gründungsmitgliedschaften: Schaffen früh einen festen Kundenstamm und stabilisieren die Frühphase-Auslastung
|
||||||
|
|
||||||
|
### Schritt 19: Soft Opening
|
||||||
|
|
||||||
|
Laden Sie vor der öffentlichen Eröffnung ausgewählte Spielende ein: Local Influencer (auch Micro-Influencer mit relevanter Zielgruppe), Sportjournalisten, Vereinsfunktionäre, Unternehmenskunden.
|
||||||
|
|
||||||
|
Ziele: echtes Feedback zu Court-Qualität und Abläufen, erste Bewertungen, Bilder und Videos von echten Spielern in einer vollen Halle. Das Soft Opening ist auch die letzte Chance, operative Probleme zu finden, bevor der Normalbetrieb beginnt.
|
||||||
|
|
||||||
|
### Schritt 20: Grand Opening
|
||||||
|
|
||||||
|
Feiern Sie die Eröffnung — aber machen Sie es nicht zum Ende der Marketingaktivität. Der Eröffnungstag ist der Anfang eines langen Aufbaus, nicht dessen Höhepunkt.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Phase 5: Betrieb und Optimierung (laufend)
|
||||||
|
|
||||||
|
Der Bau ist abgeschlossen. Die eigentliche Arbeit beginnt jetzt.
|
||||||
|
|
||||||
|
### Schritt 21: Auslastung analysieren und Preise dynamisch steuern
|
||||||
|
|
||||||
|
Nicht alle Zeiten sind gleich. Montagabend 20:00 Uhr ist ausgebucht; Dienstagmittag 13:00 Uhr liegt bei 15 Prozent. Dynamische Preisgestaltung — günstigere Buchungen in Schwachzeiten, Premium in Stoßzeiten — kann die Gesamtauslastung signifikant erhöhen, ohne neue Kunden zu gewinnen.
|
||||||
|
|
||||||
|
Messen Sie: Auslastung pro Court, pro Wochentag, pro Tageszeit. Welche Courts laufen besser? Warum? Wo verlieren Sie Buchungen? Die Antworten liegen in den Daten, die Ihr Buchungssystem täglich erzeugt — nutzen Sie sie.
|
||||||
|
|
||||||
|
### Schritt 22: Community aufbauen
|
||||||
|
|
||||||
|
Eine Padelhalle mit hoher Auslastung ist keine Buchungsmaschine — sie ist ein sozialer Ort. Regelmäßige Turniere, Hobbyligen, Corporate-Events, Ladies-Nights, Anfängerkurse: Das sind die Formate, die Erstbesucher zu Stammkunden machen.
|
||||||
|
|
||||||
|
Corporates sind dabei ein unterschätztes Segment. Viele Unternehmen haben Budget für Team-Events und Mitarbeiter-Benefits, wissen aber nicht, dass Ihre Halle das anbietet. Eine direkte Ansprache mit einem klaren Angebot (Pauschalpreise für Gruppenveranstaltungen, Rahmenverträge für regelmäßige Buchungen) öffnet hier Türen.
|
||||||
|
|
||||||
|
### Schritt 23: Umsatz verbreitern
|
||||||
|
|
||||||
|
Die Court-Buchung ist Ihr Kernangebot — aber nicht die einzige Einnahmequelle:
|
||||||
|
|
||||||
|
- **Coaching:** Qualifizierte Trainer mit eigenem Kundenstamm sind ein echter Hebel, wenn die Vergütungsstruktur stimmt
|
||||||
|
- **Equipment:** Schläger-Verleih und -Verkauf, Bälle, Zubehör — geringe Investition, brauchbare Marge
|
||||||
|
- **Food & Beverage:** Wenn überhaupt, dann entweder mit echter Qualität oder ausgelagert an einen Betreiber; Halbherziges schadet dem Gesamteindruck
|
||||||
|
- **Mitgliedschaften:** Monatspakete mit garantierten Buchungskontingenten stabilisieren den Cashflow und binden Kunden mittelfristig
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Was erfolgreiche Bauprojekte von den anderen unterscheidet
|
||||||
|
|
||||||
|
Wer Dutzende Padelhallenprojekte in Europa beobachtet, sieht Muster auf beiden Seiten:
|
||||||
|
|
||||||
|
**Die Projekte, die über Budget laufen**, haben fast immer früh an der falschen Stelle gespart — zu wenig Haustechnikbudget, kein Baukostenpuffer, zu günstiger Generalunternehmer ohne ausreichende Vertragsabsicherung.
|
||||||
|
|
||||||
|
**Die Projekte, die terminlich entgleisen**, haben die behördlichen Prozesse unterschätzt. Genehmigungen, Lärmschutzgutachten, Nutzungsänderungen brauchen Zeit — und diese Zeit lässt sich nicht kaufen, sobald man zu spät damit anfängt.
|
||||||
|
|
||||||
|
**Die Projekte, die schwach starten**, haben das Marketing zu spät begonnen und das Buchungssystem zu spät getestet. Ein leerer Kalender am Eröffnungstag und eine kaputte Buchungsseite erzeugen Eindrücke, die sich festsetzen.
|
||||||
|
|
||||||
|
**Die Projekte, die langfristig erfolgreich sind**, haben alle drei Phasen — Planung, Bau, Eröffnung — mit derselben Sorgfalt behandelt und früh in Community und Stammkundschaft investiert.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Planer und Lieferanten finden
|
||||||
|
|
||||||
|
Padelnomics führt ein Verzeichnis verifizierter Baupartner für Padelhallen im DACH-Raum: Architekten mit Sportanlagenerfahrung, Court-Lieferanten, Haustechnikspezialisten und Betriebsberater.
|
||||||
|
|
||||||
|
Wenn Sie gerade in Phase 1 oder Phase 2 sind und die richtigen Partner suchen, ist das Verzeichnis der schnellste Einstieg.
|
||||||
199
scratch/articles/padel-halle-finanzierung-de.md
Normal file
199
scratch/articles/padel-halle-finanzierung-de.md
Normal file
@@ -0,0 +1,199 @@
|
|||||||
|
---
|
||||||
|
title: "Padel Halle Finanzieren: KfW-Programme, Fördermittel und Bankdarlehen 2026"
|
||||||
|
slug: padel-halle-finanzierung
|
||||||
|
language: de
|
||||||
|
url_path: /padel-halle-finanzierung
|
||||||
|
meta_description: "KfW Unternehmerkredit, ERP-Kapital, Bundesland-Förderprogramme: Wie Sie eine Padelhalle in Deutschland 2026 finanzieren — mit konkreten Programmen und Konditionen."
|
||||||
|
cornerstone: C6
|
||||||
|
---
|
||||||
|
|
||||||
|
# Padel Halle Finanzieren: KfW-Programme, Fördermittel und Bankdarlehen 2026
|
||||||
|
|
||||||
|
Die Finanzierungsfrage ist für viele Padelhallenentwickler die härteste Nuss. Nicht weil das Vorhaben unwirtschaftlich wäre — gut geplante Paddelhallen erwirtschaften solide Renditen — sondern weil die Eigenkapitalanforderungen hoch sind, die Förderkulisse komplex ist und Banken bei sportlichen Freizeitprojekten zunächst kritisch nachfragen.
|
||||||
|
|
||||||
|
Dieser Artikel legt die Finanzierungsarchitektur für eine Padelhalle in Deutschland offen: Welche KfW-Programme kommen in Frage? Was bieten die Landesförderbanken? Wie strukturieren Sie Eigenkapital, Fremdkapital und Fördermittel so, dass die Bank Ja sagt — und Ihr persönliches Risiko in einem vernünftigen Rahmen bleibt?
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Die Grundstruktur: Eigenkapital, Bankdarlehen, Förderung
|
||||||
|
|
||||||
|
Eine Padelhalle ist eine kapitalintensive Investition. Bei einem Gesamtinvestitionsbedarf von realistisch **€1,2–1,5 Millionen** für eine 6-Court-Innenhalle setzt sich die Finanzierung typischerweise wie folgt zusammen:
|
||||||
|
|
||||||
|
| Finanzierungsquelle | Anteil | Betrag (Beispiel €1,3M Gesamt) |
|
||||||
|
|---|---|---|
|
||||||
|
| Eigenkapital (Gründer) | 20–30 % | €260.000–€390.000 |
|
||||||
|
| KfW / Förderbank | 20–30 % | €260.000–€390.000 |
|
||||||
|
| Hausbank-Kredit | 40–60 % | €520.000–€780.000 |
|
||||||
|
|
||||||
|
Diese Dreiteilung ist kein Zufall: Banken verlangen in der Regel mindestens 20–30 % echtes Eigenkapital. KfW-Mittel können — je nach Programm — als **Ergänzung zur Hausbank** (nicht als Ersatz) hinzukommen und die Finanzierungsstruktur deutlich verbessern.
|
||||||
|
|
||||||
|
**Wichtig:** KfW-Förderkredite laufen immer über Ihre Hausbank — Sie beantragen sie nicht direkt bei der KfW, sondern gehen zu Ihrer Hausbank, die den Antrag weiterleitet. Die Bank hält das Ausfallrisiko vollständig oder anteilig.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## KfW-Programme für Padelhallenentwickler
|
||||||
|
|
||||||
|
### KfW Unternehmerkredit (Programm 037/047)
|
||||||
|
|
||||||
|
Das wichtigste KfW-Programm für etablierte Unternehmen und Selbstständige.
|
||||||
|
|
||||||
|
**Für wen:** Unternehmen, die mindestens 2 Jahre am Markt sind, sowie Freiberufler und Selbstständige.
|
||||||
|
|
||||||
|
**Was wird finanziert:**
|
||||||
|
- Investitionen in Anlagen, Ausstattung, Gebäude
|
||||||
|
- Grunderwerb (bis zu 50 % der Investitionskosten)
|
||||||
|
- Working Capital / Betriebsmittel
|
||||||
|
|
||||||
|
**Konditionen:**
|
||||||
|
- Kreditbetrag: bis zu **€25 Millionen** (für Padelhallenprojekte typisch: €300k–€1M)
|
||||||
|
- Laufzeit: bis 20 Jahre (Investitionen) / bis 5 Jahre (Betriebsmittel)
|
||||||
|
- Tilgungsfreie Anlaufjahre möglich (wichtig für die Anlaufphase)
|
||||||
|
- Zinssatz: variabel oder fest, aktuell im Rahmen der Marktzinsen
|
||||||
|
|
||||||
|
**Warum relevant:** Der Unternehmerkredit ist das flexibelste KfW-Produkt. Für eine Padelhalle in einer bestehenden GmbH oder als Erweiterung eines Sportbetrieb-Portfolios ist dies typischerweise das erste Instrument, das Ihre Hausbank vorschlägt.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### ERP-Kapital für Gründung (Programm 058)
|
||||||
|
|
||||||
|
Das strategisch wertvollste Programm für Padelhallenneugründungen — oft übersehen.
|
||||||
|
|
||||||
|
**Für wen:** Gründer und junge Unternehmen (bis 5 Jahre nach Gründung), die zum ersten Mal oder erneut in ein Hauptgewerbe investieren.
|
||||||
|
|
||||||
|
**Was es ist:** Kein klassisches Bankdarlehen, sondern **nachrangiges Kapital** — es steht in der Bilanz ähnlich wie Eigenkapital. Das verbessert Ihre Eigenkapitalquote für weitere Finanzierungen erheblich.
|
||||||
|
|
||||||
|
**Konditionen:**
|
||||||
|
- Kreditbetrag: bis zu **€500.000** je Vorhaben
|
||||||
|
- Laufzeit: 15 Jahre, davon 7 tilgungsfreie Jahre — das ist außergewöhnlich günstig für die Anlaufphase
|
||||||
|
- Keine Sicherheiten für den ERP-Teil erforderlich (die Hausbank haftet begrenzt)
|
||||||
|
- Zinssatz: i.d.R. günstiger als Marktkonditionen, da Bundesförderung
|
||||||
|
|
||||||
|
**Warum strategisch:** Wenn Sie mit €250.000 Eigenkapital starten, können Sie durch das ERP-Programm €250.000 weiteres nachrangiges Kapital ergänzen — und erscheinen gegenüber der Hausbank mit €500.000 "eigenkapitalähnlichen Mitteln". Das öffnet die Tür zu einem substantiellen Bankdarlehen. **Dies ist der Hebelmechanismus, den die meisten Padelhallengründer nicht kennen.**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### KfW-Gründerkredit – StartGeld (Programm 067)
|
||||||
|
|
||||||
|
**Für wen:** Gründer in den ersten 5 Jahren, Kleinunternehmen.
|
||||||
|
|
||||||
|
**Konditionen:**
|
||||||
|
- Bis zu **€125.000** Finanzierung
|
||||||
|
- Die Hausbank haftet nur zu 20 % — KfW übernimmt 80 % des Ausfallrisikos
|
||||||
|
- Vereinfachte Prüfung, schnellere Bearbeitung
|
||||||
|
|
||||||
|
**Einschränkung:** Für eine vollständige Padelhalle (€1,2M+) reicht StartGeld als Hauptinstrument nicht aus. Es kann aber als **Ergänzung** für spezifische Teilinvestitionen genutzt werden, beispielsweise für die IT-Infrastruktur oder den Pro-Shop-Aufbau.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Bundesland-Förderbanken: Oft günstiger als KfW
|
||||||
|
|
||||||
|
Die Landesförderbanken sind häufig attraktiver als die KfW, weil sie gezielt regionale Wirtschaftsentwicklung fördern. Für Sportstätten gibt es teils spezifische Programme. Prüfen Sie diese **zusätzlich** zur KfW:
|
||||||
|
|
||||||
|
### NRW.BANK (Nordrhein-Westfalen)
|
||||||
|
|
||||||
|
**NRW.BANK Gründungskredit**: Für Unternehmensgründungen und Betriebsübernahmen in NRW. Günstige Konditionen, tilgungsfreie Anlaufjahre.
|
||||||
|
|
||||||
|
**NRW.BANK Mittelstandskredit**: Für bestehende NRW-Unternehmen, die investieren. Haftungsfreistellung möglich.
|
||||||
|
|
||||||
|
Kontakt: nrwbank.de/foerderangebote-fuer-unternehmen
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Investitionsbank Berlin (IBB)
|
||||||
|
|
||||||
|
**IBB Investitionskredit**: Für Berliner Unternehmen mit Investitionsvorhaben in Berlin. Besonders relevant für Padelkonzepte in Berlin, wo die Marktnachfrage besonders stark ist.
|
||||||
|
|
||||||
|
**IBB Gründungskredit**: Für Berliner Gründer in den ersten 3 Jahren.
|
||||||
|
|
||||||
|
Kontakt: ibb.de
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### LfA Förderbank Bayern
|
||||||
|
|
||||||
|
**LfA StartCredit**: Für Neugründungen und junge Unternehmen in Bayern (bis 3 Jahre). Kombi mit ERP-Kapital möglich.
|
||||||
|
|
||||||
|
**LfA Wachstumskredit**: Für etablierte bayerische Unternehmen.
|
||||||
|
|
||||||
|
Kontakt: lfa.de
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Investitionsbank Schleswig-Holstein, Thüringer Aufbaubank, NBank Niedersachsen
|
||||||
|
|
||||||
|
Jedes Bundesland hat ein eigenes Institut. Die Programme variieren in Volumen und Konditionen, sind aber stets prüfenswert — insbesondere wenn Ihr Standort in einem wirtschaftsschwächeren Gebiet liegt (z.B. Fördergebiete nach Art. 107 AEUV).
|
||||||
|
|
||||||
|
**Praktischer Tipp:** Die Datenbank unter förderinfo.de (vom BMWK betrieben) listet alle relevanten Bundes- und Landesprogramme für Ihren spezifischen Standort und Ihre Unternehmensform.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Sportstättenförderung: Kommunale Mittel für geeignete Projekte
|
||||||
|
|
||||||
|
Padelhallen, die als öffentlich zugängliche Sportstätten konzipiert sind, können in bestimmten Konstellationen auch kommunale Sportstättenförderung erhalten:
|
||||||
|
|
||||||
|
- **Landessportbünde** (z.B. LSB NRW, BLSV Bayern): Investitionszuschüsse für gemeinnützige Sportvereine, die Padel als Breitensportangebot anbieten. Nicht für rein kommerzielle Betreiber, aber für Vereinsanlagen hochrelevant.
|
||||||
|
- **Bundesprogramm "Sport im Revier"** (in strukturschwachen Gebieten): Investitionshilfen für Sportstättenentwicklung in bestimmten Förderregionen.
|
||||||
|
- **Kommunale Liegenschaften**: Einzelne Kommunen stellen Grundstücke zu subventionierten Konditionen zur Verfügung, wenn das Projekt dem lokalen Breitensport zugute kommt.
|
||||||
|
|
||||||
|
Diese Wege sind aufwändiger, aber der Aufwand lohnt sich: Ein Zuschuss von €100.000–€200.000 verbessert Ihre Eigenkapitalquote, ohne dass Sie mehr einbringen müssen.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Finanzierungsstruktur in der Praxis: Ein Beispiel
|
||||||
|
|
||||||
|
Ein Gründer baut eine 6-Court-Innenhalle in Düsseldorf. Gesamtinvestition: **€1,4 Millionen**.
|
||||||
|
|
||||||
|
| Baustein | Instrument | Betrag |
|
||||||
|
|---|---|---|
|
||||||
|
| Eigene Mittel | Eigenkapital Gründer | €250.000 |
|
||||||
|
| Nachrangkapital | ERP-Kapital für Gründung | €250.000 |
|
||||||
|
| Landesförderung | NRW.BANK Gründungskredit | €200.000 |
|
||||||
|
| Bankkredit | Hausbank-Investitionskredit (KfW-refinanziert) | €700.000 |
|
||||||
|
| **Gesamt** | | **€1.400.000** |
|
||||||
|
|
||||||
|
Die Hausbank sieht €500.000 eigenkapitalähnliche Mittel (eigenes EK + ERP) gegenüber €200.000 Landeskredit und €700.000 Bankdarlehen. Eigenkapitalquote auf Basis der gesamten Passivseite: 36 %. Das ist eine komfortable Ausgangslage.
|
||||||
|
|
||||||
|
Der Kapitaldienstdeckungsgrad (DSCR) auf den Bankkredit (€700k, 5 %, 10 Jahre → ~€89k/Jahr): Bei einem prognostizierten EBITDA im Jahr 2 von €577k ist der DSCR weit über 1,5x. Auch in einem Stressszenario mit 20 % niedrigerer Auslastung bleibt er über 1,2x.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Das persönliche Risiko: Bürgschaften offen ansprechen
|
||||||
|
|
||||||
|
Banken werden für eine Padelhalle, die eine eigenständige Projektgesellschaft ist, fast immer eine **persönliche Bürgschaft** des Gründers fordern. Das bedeutet: Ihre privaten Vermögenswerte — Eigenheim, Ersparnisse, Beteiligungen — haften im Zweifelsfall.
|
||||||
|
|
||||||
|
Es gibt drei Wege, dieses Risiko zu begrenzen:
|
||||||
|
|
||||||
|
1. **Bürgschaftsbanken (Kreditgarantiegemeinschaften)**: In jedem Bundesland gibt es eine Bürgschaftsbank, die bis zu 80 % einer Bürgschaft übernehmen kann. Das reduziert die persönliche Exposition erheblich. Antrag läuft parallel zum Bankkredit.
|
||||||
|
|
||||||
|
2. **KfW-Haftungsfreistellung**: Bei bestimmten KfW-Programmen übernimmt die KfW einen Teil des Bankrisikos — das verringert den Bürgschaftsbedarf der Hausbank.
|
||||||
|
|
||||||
|
3. **Beteiligungsgesellschaften**: Stille Beteiligung eines Co-Investors, der Eigenkapital einbringt und damit den Bankkredit und Ihre persönliche Bürgschaft reduziert.
|
||||||
|
|
||||||
|
**Was in keinem Businessplan fehlen darf:** Eine explizite Darstellung der Bürgschaftssituation. Banken schätzen Gründer, die dieses Risiko klar verstehen und adressieren — nicht diejenigen, die es verdrängen.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Zehn praktische Schritte zur Finanzierung
|
||||||
|
|
||||||
|
1. **Businessplan und Finanzmodell fertigstellen** — ohne belastbare Zahlen kein Bankgespräch
|
||||||
|
2. **Hausbank ansprechen** — am besten die, bei der Ihr bestehendes Konto liegt
|
||||||
|
3. **KfW-Antrag via Hausbank stellen** — die Hausbank entscheidet, welche Programme geeignet sind
|
||||||
|
4. **Landesförderbank parallel prüfen** — viele Gründer nutzen die Kombi aus KfW und Landesförderung
|
||||||
|
5. **Bürgschaftsbank kontaktieren** — falls Eigenkapital knapp ist oder persönliche Bürgschaft minimiert werden soll
|
||||||
|
6. **Steuerberater einbeziehen** — Rechtsformwahl (GmbH vs. GmbH & Co. KG), Vorsteuerabzug, Abschreibungsstruktur
|
||||||
|
7. **Mehrere Banken parallel ansprechen** — kein Exklusivgespräch, Konditionen vergleichen
|
||||||
|
8. **Eigenkapitalnachweis vorbereiten** — Banken wollen die Herkunft der Eigenkapitalmittel nachweisbar sehen
|
||||||
|
9. **Förderantrag früh stellen** — KfW und Landesförderung erfordern Antrag **vor** Baubeginn
|
||||||
|
10. **Zusageschreiben der Bank sichern** — bevor Sie den Mietvertrag oder den Kaufvertrag für das Grundstück unterzeichnen
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Fazit
|
||||||
|
|
||||||
|
Die Finanzierung einer Padelhalle ist lösbar — aber nur mit der richtigen Vorbereitung. Die Kombination aus Eigenkapital, ERP-Nachrangkapital, Landesförderung und Bankdarlehen ist der realistische Weg für die meisten Projekte zwischen €1,0M und €1,5M. Das ERP-Kapital für Gründung ist dabei das am häufigsten übersehene Instrument mit der höchsten Hebelwirkung.
|
||||||
|
|
||||||
|
Ihr wichtigstes Werkzeug in jedem Bankgespräch: ein vollständiges Finanzmodell, das die Rentabilität Ihrer spezifischen Halle — nach Standort, Preismodell und Finanzierungsstruktur — belastbar demonstriert.
|
||||||
|
|
||||||
|
[scenario:padel-halle-6-courts:full]
|
||||||
|
|
||||||
|
Der Padelnomics-Businessplan enthält eine vollständige Finanzierungsstrukturübersicht und eine Mittelverwendungsplanung, die direkt in Ihr Bankgespräch mitgenommen werden kann.
|
||||||
190
scratch/articles/padel-halle-kosten-de.md
Normal file
190
scratch/articles/padel-halle-kosten-de.md
Normal file
@@ -0,0 +1,190 @@
|
|||||||
|
---
|
||||||
|
title: "Padel Halle Kosten 2026: Die komplette CAPEX-Aufstellung"
|
||||||
|
slug: padel-halle-kosten
|
||||||
|
language: de
|
||||||
|
url_path: /padel-halle-kosten
|
||||||
|
meta_description: "Was kostet eine Padel Halle wirklich? CAPEX €930k–1,9M, Mietpreise nach Stadt, Betriebskosten und ROI-Berechnung – mit echten Marktdaten für Deutschland 2026."
|
||||||
|
cornerstone: C2
|
||||||
|
---
|
||||||
|
|
||||||
|
# Padel Halle Kosten 2026: Die komplette CAPEX-Aufstellung
|
||||||
|
|
||||||
|
Wer ernsthaft über eine Padelhalle nachdenkt, bekommt auf die Frage nach den Kosten zunächst eine frustrierende Antwort: "Das kommt drauf an." Und ja — die Spanne ist tatsächlich enorm. Je nach Standort, Konzept und Bausubstanz liegen die Gesamtinvestitionskosten für eine sechsstellige Anlage zwischen **€930.000 und €1,9 Millionen**. Diese Streuung ist kein Zufall, sondern Ausdruck ganz konkreter Entscheidungen, die Sie als Investor treffen werden.
|
||||||
|
|
||||||
|
Dieser Artikel schlüsselt die vollständige Investition auf — von der Bausubstanz über Platztechnik und Ausstattung bis hin zu Betriebskosten, Standortmieten und einer belastbaren 3-Jahres-Ergebnisprognose. Alle Zahlen basieren auf realen deutschen Marktdaten aus 2025/2026. Das Ziel: Sie sollen nach der Lektüre in der Lage sein, eine erste realistische Wirtschaftlichkeitsrechnung für Ihre konkrete Situation aufzustellen — und wissen, welche Fragen Sie Ihrer Bank stellen müssen.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Die Wahrheit über die Kostenbandbreite
|
||||||
|
|
||||||
|
Warum liegen €930.000 und €1,9 Millionen so weit auseinander? Der größte Einzeltreiber ist der bauliche Aufwand. Wer eine bestehende Gewerbehalle — etwa einen ehemaligen Produktions- oder Logistikbau — kostengünstig anmieten und mit minimalem Umbau bespielen kann, landet am unteren Ende der Spanne. Wer dagegen auf grüner Wiese baut oder ein Gebäude von Grund auf saniert, zahlt entsprechend mehr.
|
||||||
|
|
||||||
|
Dazu kommt der Standortfaktor. In München oder Berlin kostet dasselbe Objekt in der Miete 40–60 % mehr als in Leipzig oder Kassel. Das drückt sich nicht nur in der laufenden OPEX aus, sondern auch in der Kaution und dem nötigen Working-Capital-Puffer — beides Teil der initialen CAPEX.
|
||||||
|
|
||||||
|
Realistischer Planungsansatz für eine **6-Court-Innenhalle** mit solider Ausstattung: **€1,2–1,5 Millionen Gesamtinvestition**. Wer mit deutlich weniger kalkuliert, unterschätzt in der Regel einen der drei teuersten Posten: Bau/Umbau, Lüftungstechnik oder den Kapitalpuffer für den Anlauf.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Komplette Investitionskostenübersicht (6 Courts, Deutschland 2026)
|
||||||
|
|
||||||
|
Die folgende Tabelle zeigt die typischen Bandbreiten für eine sechsstellige Innenanlage. Darunter finden Sie für jeden Posten eine kurze Einordnung, wo die Varianz entsteht.
|
||||||
|
|
||||||
|
| Kostenposition | Bandbreite |
|
||||||
|
|---|---|
|
||||||
|
| Mietkaution oder Grundstück | €50.000–€200.000 |
|
||||||
|
| Bau / Umbau | €400.000–€800.000 |
|
||||||
|
| 6 Padelcourts (montiert) | €180.000–€300.000 |
|
||||||
|
| Beleuchtung (LED, 500 Lux/Court) | €30.000–€60.000 |
|
||||||
|
| Lüftung / Klimatisierung (HVAC) | €50.000–€120.000 |
|
||||||
|
| Umkleiden, Empfang, Lounge | €80.000–€150.000 |
|
||||||
|
| IT, Buchungssystem, Zugangskontrolle | €15.000–€30.000 |
|
||||||
|
| Mobiliar, Equipment, Pro-Shop-Ware | €20.000–€40.000 |
|
||||||
|
| Architekt, Genehmigungen, Rechts- und Beratungskosten | €40.000–€80.000 |
|
||||||
|
| Marketing vor der Eröffnung | €15.000–€30.000 |
|
||||||
|
| Betriebsmittelreserve | €50.000–€100.000 |
|
||||||
|
| **Gesamt** | **€930.000–€1.910.000** |
|
||||||
|
|
||||||
|
**Bau und Umbau (€400k–€800k)** ist mit Abstand der volatilste Posten. Ob Sie in eine Bestandshalle einziehen, die bereits die nötige Deckenhöhe (mindestens 8–9 m lichte Höhe) mitbringt, oder ob Statik, Dachkonstruktion und Entwässerung angepasst werden müssen — das entscheidet oft über €200.000 in die eine oder andere Richtung. Lassen Sie diesen Posten durch einen lokalen Bauunternehmer mit Hallenerfahrung früh einschätzen.
|
||||||
|
|
||||||
|
**Die Courts selbst (€30.000–€50.000 pro Court)** variieren vor allem nach Hersteller und Glasqualität. Panorama-Courts mit vollverglaster Rückwand kosten mehr als Standard-Courts mit Kombikonstruktion. Auf die Gesamtanlage bezogen ist der Unterschied jedoch kleiner als er scheint: Six Courts für €180k oder €300k — das ist bei einem Gesamtprojekt von €1,2M eine Differenz von rund 10 %.
|
||||||
|
|
||||||
|
**HVAC (€50k–€120k)** wird systematisch unterschätzt. In einer geschlossenen Halle mit sechs aktiven Courts und 60+ gleichzeitigen Spielern entsteht erhebliche thermische Last und Feuchtigkeit. Wer hier spart, riskiert Beschwerden, Bauschäden und hohe Folgekosten. Kalkulieren Sie eher an der oberen Grenze — zumal eine gut ausgelegte Anlage auch den Energieverbrauch dauerhaft senkt.
|
||||||
|
|
||||||
|
**Betriebsmittelreserve (€50k–€100k)** ist kein "nice to have". In den ersten sechs bis zwölf Monaten liegen die Einnahmen unter dem Regelbetrieb, während Personal und Miete bereits voll anfallen. Wer diese Rücklage nicht einplant, gerät schnell unter Liquiditätsdruck, bevor das Geschäft überhaupt Fahrt aufnimmt.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Hallenmiete in Deutschland: Was Sie nach Standort zahlen
|
||||||
|
|
||||||
|
Eine 6-Court-Halle benötigt je nach Konzept (Nebenräume, Lounge, Pro Shop) eine Fläche von **1.500 bis 2.500 qm**. Auf Basis aktueller Gewerberaummieten für Industrie- und Hallenflächen in deutschen Städten ergibt sich folgende Einschätzung:
|
||||||
|
|
||||||
|
| Stadt | Miete €/qm/Monat | Typische Monatsmiete (2.000 qm) |
|
||||||
|
|---|---|---|
|
||||||
|
| München | €10–14 | €20.000–€28.000 |
|
||||||
|
| Berlin | €8–12 | €16.000–€24.000 |
|
||||||
|
| Frankfurt | €8–11 | €16.000–€22.000 |
|
||||||
|
| Hamburg | €7–10 | €14.000–€20.000 |
|
||||||
|
| Düsseldorf | €8–11 | €16.000–€22.000 |
|
||||||
|
| Köln | €6–9 | €12.000–€18.000 |
|
||||||
|
| Stuttgart | €7–10 | €14.000–€20.000 |
|
||||||
|
| Leipzig | €4–7 | €8.000–€14.000 |
|
||||||
|
|
||||||
|
In Hochpreislagen Berlins (Mitte, Prenzlauer Berg) oder Münchens (Schwabing, Maxvorstadt) liegen die Preise auch für Gewerbehallen teils noch darüber. Die in der OPEX-Tabelle verwendete Jahresmiete von €120.000 entspricht einer Monatsmiete von €10.000 — das ist ein realistischer Wert für eine mittelgroße deutsche Stadt mit einem Standort leicht außerhalb der Innenstadt.
|
||||||
|
|
||||||
|
Ein Hinweis zur Mietstruktur: Viele Vermieter verlangen bei Hallenflächen eine Laufzeit von mindestens 5–10 Jahren, oft mit Verlängerungsoptionen. Das bindet Sie, schafft aber auch Planungssicherheit für die Finanzierung. Banken bewerten einen langen Mietvertrag mit festen Konditionen positiv.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Platzbuchungspreise: Was der Markt trägt
|
||||||
|
|
||||||
|
Die Mietpreise sind das Fundament Ihrer Ertragsrechnung. Hier die aktuellen Marktpreise nach Stadt, basierend auf Plattformdaten und direkten Hallenerhebungen:
|
||||||
|
|
||||||
|
| Stadt | Nebenzeiten (€/Std.) | Hauptzeiten (€/Std.) | Datenbasis |
|
||||||
|
|---|---|---|---|
|
||||||
|
| Berlin | €33 | €46 | Hoch |
|
||||||
|
| München | €30 | €42 | Schätzung |
|
||||||
|
| Düsseldorf | €30 | €42 | Schätzung |
|
||||||
|
| Hamburg | €26 | €36 | Mittel |
|
||||||
|
| Stuttgart | €26 | €38 | Mittel |
|
||||||
|
| Frankfurt | €24 | €28 | Hoch |
|
||||||
|
| Köln | €22 | €27 | Hoch |
|
||||||
|
| Leipzig | €18 | €26 | Schätzung |
|
||||||
|
|
||||||
|
Der Playtomic Global Padel Report 2025 liefert dazu eine interessante Benchmark: Der deutsche Durchschnitt-GMV je Court stieg im Jahresvergleich um **48 % auf €4.000/Monat** — bei einer Auslastung von rund 30 % entspricht das einem Blended-Stundensatz von etwa **€30**. Das deckt sich gut mit den obigen Stadtdaten für B-Lagen und kleinere Märkte.
|
||||||
|
|
||||||
|
Für die Ertragsmodellierung in diesem Artikel rechnen wir mit einem blended Durchschnittspreis von **€45/Stunde** — das ist ein Mischpreis aus Neben- und Hauptzeiten und entspricht einem gut positionierten Angebot in einer Stadt der oberen Hälfte dieser Liste.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Betriebskosten (OPEX)
|
||||||
|
|
||||||
|
Laufende Kosten werden beim Business-Plan häufig zu optimistisch angesetzt. Die folgende Übersicht zeigt realistische Werte für eine 6-Court-Halle im deutschen Markt:
|
||||||
|
|
||||||
|
| Kostenposition | Jahr 1 | Jahr 2 | Jahr 3 |
|
||||||
|
|---|---|---|---|
|
||||||
|
| Miete / Pacht | €120.000 | €123.000 | €127.000 |
|
||||||
|
| Personal (5–8 VZÄ) | €200.000 | €220.000 | €235.000 |
|
||||||
|
| Energie (Beleuchtung, HVAC) | €45.000 | €50.000 | €55.000 |
|
||||||
|
| Wartung und Reparaturen | €20.000 | €25.000 | €30.000 |
|
||||||
|
| Marketing | €40.000 | €30.000 | €25.000 |
|
||||||
|
| Versicherungen | €12.000 | €12.000 | €13.000 |
|
||||||
|
| Buchungssystem / IT | €8.000 | €8.000 | €9.000 |
|
||||||
|
| Wareneinsatz (F&B, Shop) | €25.000 | €40.000 | €48.000 |
|
||||||
|
| Verwaltung, Buchhaltung, Recht | €20.000 | €22.000 | €24.000 |
|
||||||
|
| **OPEX gesamt** | **€490.000** | **€530.000** | **€566.000** |
|
||||||
|
|
||||||
|
**Personal** ist der größte Einzelposten und wird am häufigsten falsch angesetzt. Fünf Vollzeitäquivalente sind das Minimum für einen vernünftigen Betrieb — Empfang, Platzservice, Trainer, Verwaltung. Mit Arbeitgeberanteilen zur Sozialversicherung und realistischen deutschen Lohnniveaus sind €200.000 im ersten Jahr eher knapp als großzügig kalkuliert.
|
||||||
|
|
||||||
|
**Energie** ist ein Posten, der je nach Lage und technischer Ausstattung stark schwanken kann. Ältere Gewerbegebäude mit schlechter Dämmung und ineffizienter Lüftung können deutlich über den hier angesetzten Werten liegen. Lassen Sie vor dem Mietvertrag einen Energieberater die Hülle bewerten.
|
||||||
|
|
||||||
|
**Marketing** ist im ersten Jahr bewusst höher angesetzt — Pre-Launch, Eröffnungskampagne, erste Ligakooperationen. Ab Jahr 2 trägt die Community zunehmend selbst, wenn das Produkt stimmt.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 3-Jahres-Ergebnisvorschau
|
||||||
|
|
||||||
|
[scenario:padel-halle-6-courts:full]
|
||||||
|
|
||||||
|
Die folgende Projektion basiert auf einem blended Stundenpreis von €45 bei 6 Courts und einem Betrieb von täglich 14 Betriebsstunden (8–22 Uhr, 365 Tage).
|
||||||
|
|
||||||
|
| Ertragsquelle | Jahr 1 (45 % Ausl.) | Jahr 2 (60 % Ausl.) | Jahr 3 (70 % Ausl.) |
|
||||||
|
|---|---|---|---|
|
||||||
|
| Platzvermietung | €665.000 | €887.000 | €1.035.000 |
|
||||||
|
| Coaching & Akademie | €60.000 | €90.000 | €120.000 |
|
||||||
|
| Gastronomie / Bar | €40.000 | €65.000 | €80.000 |
|
||||||
|
| Pro Shop | €15.000 | €25.000 | €30.000 |
|
||||||
|
| Events & Corporate | €20.000 | €40.000 | €60.000 |
|
||||||
|
| **Gesamtumsatz** | **€800.000** | **€1.107.000** | **€1.325.000** |
|
||||||
|
| **OPEX gesamt** | **€490.000** | **€530.000** | **€566.000** |
|
||||||
|
| **EBITDA** | **€310.000** | **€577.000** | **€759.000** |
|
||||||
|
|
||||||
|
Zur Einordnung: Die Platzvermietung macht im ersten Jahr rund 83 % des Umsatzes aus. Mit wachsender Community gewinnen Coaching, Events und Gastronomie an Gewicht — was die Marge verbessert, weil diese Angebote oft höhere Deckungsbeiträge haben als reiner Platzbetrieb.
|
||||||
|
|
||||||
|
Die EBITDA-Margen von 39 % (J1) über 52 % (J2) bis 57 % (J3) liegen im oberen Bereich dessen, was im europäischen Padel-Sektor dokumentiert ist. Sie setzen voraus, dass Personal sauber dimensioniert und das Energiekonzept vernünftig ist — keine heroischen Annahmen, aber auch kein Spielraum für Schlampigkeit.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Wirtschaftlichkeit: Die entscheidenden Kennzahlen
|
||||||
|
|
||||||
|
Bevor Sie einen Business-Plan zur Bank tragen, sollten Sie diese fünf Kennzahlen selbst rechnen können — und die Sensitivitäten verstehen.
|
||||||
|
|
||||||
|
**Amortisationsdauer: 3–5 Jahre**
|
||||||
|
Bei einem Gesamtprojekt von €1,4M (Midpoint) und einem Free Cashflow von €200k (J1) bis €650k+ (J3) ergibt sich je nach Finanzierungsstruktur eine Rückzahlungsdauer von 3–5 Jahren für das eingesetzte Eigenkapital. Das ist für eine Immobilien-Infrastruktur-Investition im Freizeitsektor sehr attraktiv.
|
||||||
|
|
||||||
|
**Break-even-Auslastung: 35–40 %**
|
||||||
|
Unterhalb von 35 % Auslastung deckt der Betrieb in der Regel nicht seine laufenden Kosten. Das klingt niedrig — ist es in der Praxis aber nicht zwingend. In der Anlaufphase (Monate 1–6) sind 25–30 % realistisch; das setzt voraus, dass die Betriebsmittelreserve steht.
|
||||||
|
|
||||||
|
**Zielumsatz je Court: €150.000+ p.a. bei Reife**
|
||||||
|
Jahr 3 in obiger Projektion: €1,035M Platzvermietung ÷ 6 Courts = €172.500/Court. Das entspricht einem gut etablierten Angebot — erreichbar, aber kein Selbstläufer.
|
||||||
|
|
||||||
|
**Eigenkapitalrendite (Cash-on-Cash): 60 %+ ab Jahr 3**
|
||||||
|
Bei einer Eigenkapitalbeteiligung von €500.000 und einem bereinigten Free Cashflow von €300.000+ in Jahr 3 ergibt sich eine Cash-on-Cash-Rendite von über 60 %. Das setzt eine saubere Finanzierungsstruktur mit Fremdkapital voraus — mehr dazu im nächsten Abschnitt.
|
||||||
|
|
||||||
|
**Schuldendienst: ~€102.000/Jahr**
|
||||||
|
Bei einem Darlehen von €800.000 (z. B. KfW oder Hausbank), 5 % Zinsen und 10 Jahren Laufzeit ergibt sich ein jährlicher Kapitaldienst von rund €102.000. Dieser ist in den EBITDA-Zahlen noch nicht abgezogen — er sollte im Jahr 1 bereits komfortabel gedeckt sein.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Was Banken wirklich wollen
|
||||||
|
|
||||||
|
Eine Padelhalle ist für die meisten Bankberater ein ungewohntes Investitionsobjekt. Was zählt, ist nicht die Begeisterung für Padel — sondern die Qualität Ihrer Zahlengrundlage.
|
||||||
|
|
||||||
|
**Debt Service Coverage Ratio (DSCR) 1,2–1,5x:** Die Bank will sehen, dass Ihr operativer Cashflow den Schuldendienst mit einem Puffer von 20–50 % abdeckt. Mit einem EBITDA von €310.000 im ersten Jahr und einem Schuldendienst von €102.000 liegt der DSCR bei 3,0 — auf dem Papier sehr solide. Aber: Banken werden nachfragen, wie empfindlich dieses Ergebnis auf niedrigere Auslastung reagiert.
|
||||||
|
|
||||||
|
**Sensitivitätsanalyse:** Zeigen Sie, was bei 35 % Auslastung (Break-even) und bei 25 % Auslastung passiert. Das signalisiert, dass Sie die Downside kennen und quantifiziert haben.
|
||||||
|
|
||||||
|
**3-Jahres-Projektionen mit monatlicher Cashflow-Planung im ersten Jahr:** Gerade die ersten 12 Monate wollen Banken auf Monatsbasis sehen — nicht weil sie den genauen Zahlen glauben, sondern weil es zeigt, dass Sie den Anlaufbetrieb durchdacht haben.
|
||||||
|
|
||||||
|
**Objektgutachten und Mietvertrag:** Ein unterschriebener Mietvertrag mit klaren Konditionen ist für das Kreditgespräch praktisch Pflicht. Ohne ihn bleibt die Kreditwürdigkeitsprüfung im Ungefähren.
|
||||||
|
|
||||||
|
Wie Sie einen vollständigen Businessplan strukturieren und welche Unterlagen Banken im Detail verlangen, lesen Sie im separaten Artikel zu Businessplan und Finanzierungsoptionen für Padelhallen.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Fazit
|
||||||
|
|
||||||
|
Die Kosten für eine Padelhalle sind real und erheblich — €930.000 bis €1,9 Millionen, realistischer Mittelpunkt €1,2–1,5 Millionen. Wer diese Zahlen kennt und versteht, wo die Hebel sitzen, kann daraus ein belastbares Investitionsmodell bauen. Wer mit Schätzungen aus zweiter Hand ins Bankgespräch geht, verliert Zeit und Glaubwürdigkeit.
|
||||||
|
|
||||||
|
Die Wirtschaftlichkeit stimmt: Bei konservativen Annahmen und solider Betriebsführung ist die Amortisation in 3–5 Jahren realistisch. Der deutsche Padel-Markt wächst weiter — aber mit wachsendem Angebot steigen auch die Erwartungen der Spieler und die Anforderungen an Konzept, Lage und Service.
|
||||||
|
|
||||||
|
**Nächster Schritt:** Nutzen Sie den Padelnomics Financial Planner, um Ihre spezifische Konstellation durchzurechnen — mit Ihrem Standort, Ihrer Finanzierungsstruktur und Ihren Preisannahmen. Das Modell oben ist der Einstieg. Ihre Halle verdient eine maßgeschneiderte Kalkulation.
|
||||||
193
scratch/articles/padel-halle-risiken-de.md
Normal file
193
scratch/articles/padel-halle-risiken-de.md
Normal file
@@ -0,0 +1,193 @@
|
|||||||
|
---
|
||||||
|
title: "Die 14 Risiken einer Padel Halle, die Investoren unterschätzen"
|
||||||
|
slug: padel-halle-risiken
|
||||||
|
language: de
|
||||||
|
url_path: /padel-halle-risiken
|
||||||
|
meta_description: "Konkurrenz, Baukostenüberschreitungen, Trend-Risiko, persönliche Bürgschaft: Die wichtigsten Risiken beim Bau einer Padelhalle – ehrlich bewertet."
|
||||||
|
cornerstone: C7
|
||||||
|
---
|
||||||
|
|
||||||
|
# Die 14 Risiken einer Padel Halle, die Investoren unterschätzen
|
||||||
|
|
||||||
|
Wer sich mit dem Gedanken trägt, eine Padelhalle zu bauen, hat meistens schon eine Hochrechnung gemacht. Und die sieht gut aus: Buchungsauslastung von 65 bis 70 Prozent, fünf oder sechs Courts, ein paar Premiumstunden für Corporate-Kunden — und schon rechnet sich das Projekt auf dem Papier.
|
||||||
|
|
||||||
|
Das Problem ist nicht die Hochrechnung. Das Problem ist, was in der Hochrechnung fehlt.
|
||||||
|
|
||||||
|
Dieser Artikel zeigt Ihnen die 14 Risiken, über die in Investorenrunden zu wenig gesprochen wird. Nicht um Sie abzuschrecken — Padelhallen können sehr gut funktionierende Unternehmen sein. Sondern weil die Projekte scheitern, die diese Risiken nicht einplanen. Ein ehrlicher Blick auf die Downside schützt Ihr Kapital und gibt Ihnen eine solidere Grundlage für die Entscheidung.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Die 14 Risiken im Überblick
|
||||||
|
|
||||||
|
| # | Risiko | Kategorie | Schwere |
|
||||||
|
|---|--------|-----------|---------|
|
||||||
|
| 1 | Trend-/Modeerscheinung | Strategisch | Hoch |
|
||||||
|
| 2 | Baukostenüberschreitungen | Bau & Entwicklung | Hoch |
|
||||||
|
| 3 | Verzögerungen während des Baus | Bau & Entwicklung | Hoch |
|
||||||
|
| 4 | Vermieterproblem: Verkauf, Insolvenz, keine Verlängerung | Immobilie & Mietvertrag | Hoch |
|
||||||
|
| 5 | Neue Konkurrenz im Einzugsgebiet | Wettbewerb | Mittel–Hoch |
|
||||||
|
| 6 | Schlüsselpersonen-Abhängigkeit | Betrieb | Mittel |
|
||||||
|
| 7 | Fachkräftemangel und Lohndruck | Betrieb | Mittel |
|
||||||
|
| 8 | Instandhaltungszyklen für Belag, Glas, Kunstrasen | Betrieb | Mittel |
|
||||||
|
| 9 | Energiepreisvolatilität | Finanzen | Mittel |
|
||||||
|
| 10 | Zinsänderungsrisiko | Finanzen | Mittel |
|
||||||
|
| 11 | Persönliche Bürgschaft | Finanzen | Hoch |
|
||||||
|
| 12 | Kundenkonzentration | Finanzen | Mittel |
|
||||||
|
| 13 | Lärmbeschwerden und behördliche Auflagen | Regulatorisch & Rechtlich | Mittel |
|
||||||
|
| 14 | Buchungsplattform-Abhängigkeit | Regulatorisch & Rechtlich | Niedrig–Mittel |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. Trend-Risiko: Ist Padel in 10 Jahren noch relevant?
|
||||||
|
|
||||||
|
Das ist das Risiko, über das die wenigsten laut nachdenken wollen — und das gleichzeitig das gefährlichste ist.
|
||||||
|
|
||||||
|
Padel boomt. In Deutschland wächst die Spielerzahl seit sechs Jahren konsistent. Courts sind ausgebucht, Wartelisten sind normal, und das Medieninteresse steigt. Aber: Sie bauen nicht für die nächsten zwei Jahre. Sie bauen für die nächsten zehn bis fünfzehn. Und das ist eine ganz andere Wette.
|
||||||
|
|
||||||
|
Squash in den 1980er Jahren folgte einem ähnlichen Muster: Boom, Infrastruktur-Boom, dann langsam abbauende Nachfrage. Wer 1987 eine Squashhalle eröffnet hat, hat das gemerkt.
|
||||||
|
|
||||||
|
Der Gegenargument ist real: Padel erfordert fest eingebaute Courts. Diese Infrastruktur erzeugt eine Klebrigkeit, die Squash nie hatte — wer einmal regelmäßig spielt, sucht eine Anlage, fährt dorthin, bucht wieder. Und die Spielerzahlen in Deutschland zeigen bislang keinen Plateaueffekt.
|
||||||
|
|
||||||
|
Trotzdem gilt: Wenn Ihre Auslastung in Jahr fünf von 65 auf 35 Prozent fällt, weil der Hype abklingt, bricht Ihr Modell. Dieses Szenario ist kaum absicherbar — aber es lässt sich zumindest in die Sensitivitätsanalyse einbauen. Was wäre die Konsequenz einer Auslastung von 40 Prozent über zwei Jahre? Können Sie das überstehen?
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 2 & 3. Bau- und Entwicklungsrisiken: Überschreitungen sind die Norm
|
||||||
|
|
||||||
|
Sportanlagen werden so gut wie nie zum ursprünglichen Budget fertiggestellt. Kostensteigerungen von 15 bis 30 Prozent gegenüber dem ersten Angebot sind in der Branche keine Ausnahme — sie sind der Regelfall.
|
||||||
|
|
||||||
|
Hinzu kommen Bauverzögerungen. Jeder Monat, in dem eine Halle nicht eröffnet ist, ist ein Monat, in dem Sie Miete, Zinsen und möglicherweise bereits vertraglich gebundenes Personal bezahlen, ohne einen Euro Umsatz zu machen. Bei einer mittelgroßen Halle mit sechs Courts und einem monatlichen Fixkostenblock von 30.000 bis 50.000 Euro läppert sich das schnell zusammen.
|
||||||
|
|
||||||
|
**Was das in der Praxis bedeutet:**
|
||||||
|
- Mindestens 15 bis 20 Prozent Puffer auf das Baubudget einkalkulieren — nicht als Wunsch, sondern als Pflicht
|
||||||
|
- Wo möglich Festpreisverträge aushandeln; die Risikoverteilung im Vertrag lesen, nicht nur den Preis
|
||||||
|
- Im Finanzmodell explizit ein Verzögerungsszenario von drei bis sechs Monaten durchrechnen
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 4. Immobilien- und Mietvertragsrisiken: Wessen Gebäude ist das eigentlich?
|
||||||
|
|
||||||
|
Wer eine Halle miet- statt eigentumsbasiert betreibt, investiert oft 500.000 Euro und mehr in ein Gebäude, das ihm nicht gehört. Das ist per se kein Problem — aber es ist ein Risiko, das aktiv gemanagt werden muss.
|
||||||
|
|
||||||
|
Was passiert, wenn der Vermieter das Objekt verkauft und der Käufer andere Pläne hat? Was passiert, wenn der Vermieter insolvent wird und der Insolvenzverwalter den Mietvertrag kündigt? Was passiert, wenn nach 10 Jahren keine Verlängerung angeboten wird — und Ihre Investitionen vollständig abgeschrieben sind, aber Sie Ihren Geschäftsbetrieb neu aufsetzen müssten?
|
||||||
|
|
||||||
|
**Mindestanforderungen an einen soliden Mietvertrag:**
|
||||||
|
- Mindestlaufzeit von 15 Jahren, besser mehr
|
||||||
|
- Verlängerungsoptionen mit klar definierten Konditionen
|
||||||
|
- Entschädigungsklauseln für Mietereinbauten bei vorzeitiger Kündigung durch den Vermieter
|
||||||
|
- Vorkaufsrecht oder Zustimmungsvorbehalt bei Eigentümerwechsel, wenn möglich
|
||||||
|
|
||||||
|
Lassen Sie sich hier von einem auf Gewerberecht spezialisierten Anwalt beraten. Die paar Tausend Euro Rechtsberatung sind eine der rentabelsten Ausgaben im gesamten Projekt.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 5. Wettbewerbsrisiko: Ihr Erfolg zieht Konkurrenz an
|
||||||
|
|
||||||
|
Volle Courts und Wartelisten sind gut — aber sie sind auch ein Signal an andere Investoren: Hier ist Geld zu verdienen.
|
||||||
|
|
||||||
|
Wenn in Jahr drei ein neuer Wettbewerber 10 Fahrminuten entfernt aufmacht, ist Ihre Auslastung unter Druck. Aus 70 Prozent werden vielleicht 50. Das klingt nicht dramatisch, kann aber — abhängig von Ihrer Kostenstruktur — den Unterschied zwischen schwarzen und roten Zahlen bedeuten.
|
||||||
|
|
||||||
|
Einen echten Burggraben gibt es im Padel-Geschäft kaum. Keine Patente, keine Netzwerkeffekte, keine Wechselkosten. Was bleibt, ist: Standort, Gemeinschaft, Servicequalität und die Beziehung zu Stammkunden. Das sind reale Vorteile — aber sie müssen aktiv aufgebaut und gepflegt werden.
|
||||||
|
|
||||||
|
**Was Sie jetzt schon tun können:** Modellieren Sie im Businessplan explizit das Szenario "neuer Wettbewerber in Jahr drei". Was ändert sich? Wie reagieren Sie? Welche Maßnahmen senken die Auslastungsschwelle für Profitabilität?
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 6–8. Operative Risiken: Drei Themen, die oft unterschätzt werden
|
||||||
|
|
||||||
|
### Schlüsselpersonen-Abhängigkeit
|
||||||
|
|
||||||
|
Viele Padelhallen sind anfangs stark von einer Person abhängig: dem Gründer, der alles organisiert — oder dem Tennistrainer, der sein Netzwerk mitbringt. Was passiert, wenn diese Person ausscheidet?
|
||||||
|
|
||||||
|
Abhilfe: Frühzeitig Prozesse dokumentieren, Führungsverantwortung auf mehrere Schultern verteilen, keine unlösbaren Bindungen an einzelne Personen schaffen.
|
||||||
|
|
||||||
|
### Mitarbeiterbindung
|
||||||
|
|
||||||
|
Gute Facility-Manager, Coaches mit einer echten Affinität zum Gast und zuverlässiges Empfangspersonal sind auf dem deutschen Arbeitsmarkt nicht leicht zu finden — und noch schwerer zu halten. Lohndruck, Wettbewerb aus anderen Branchen und die physisch anspruchsvolle Natur von Schichtarbeit sind reale Herausforderungen. Kalkulieren Sie Fluktuation ein.
|
||||||
|
|
||||||
|
### Instandhaltungszyklen
|
||||||
|
|
||||||
|
Courts sind keine Set-and-forget-Investition. Kunstrasenbelag hat eine Lebensdauer von fünf bis acht Jahren. Glaswände und Pfosten brauchen regelmäßige Inspektion und Ersatz. Wer diese Kosten nicht in die laufende Planung einrechnet, erlebt in Jahr sechs eine unangenehme Überraschung. Budgetieren Sie einen Rückstellungsbetrag pro Court und Jahr — konservativ angesetzt deutlich über null.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 9–12. Finanzrisiken: Die vier stillen Killer
|
||||||
|
|
||||||
|
### Energiepreisvolatilität
|
||||||
|
|
||||||
|
Innenhallen verbrauchen erheblich Energie: Beleuchtung, Heizung/Kühlung, Lüftung. Wer 2022 zu Spotmarktpreisen eingekauft hat, weiß, was das bedeuten kann. Prüfen Sie, ob Festpreisverträge verfügbar sind, und bewerten Sie LED-Beleuchtung sowie effiziente Klimaanlage nicht nur als Kostensenkung, sondern als Risikoabsicherung.
|
||||||
|
|
||||||
|
### Zinsänderungsrisiko
|
||||||
|
|
||||||
|
Zwischen Planungsstart und Kreditauszahlung können sechs bis zwölf Monate liegen. In diesem Zeitraum kann sich das Zinsniveau verschieben. Bei einem Fremdkapitalanteil von 60 Prozent auf ein Gesamtinvestment von 1,5 Millionen Euro bedeuten 200 Basispunkte Zinserhöhung rund 18.000 Euro mehr Zinslast pro Jahr. Sichern Sie Ihren Zinssatz frühzeitig ab oder rechnen Sie explizit mit einem Stresstest bei plus zwei Prozentpunkten.
|
||||||
|
|
||||||
|
### Kundenkonzentration
|
||||||
|
|
||||||
|
Wenn 30 Prozent Ihres Umsatzes von drei oder vier Unternehmenskunden kommen, die ihre Mitarbeitenden schicken: Das fühlt sich gut an — bis einer der Kunden das Budget kürzt oder intern umstrukturiert. Diversifizierung der Einnahmebasis ist kein Luxus, sondern Risikomanagement.
|
||||||
|
|
||||||
|
### Inflation und Preissetzungsmacht
|
||||||
|
|
||||||
|
Ihre Kosten steigen jedes Jahr um drei bis fünf Prozent. Können Sie diese Steigerung auf den Buchungspreis überwälzen, ohne Auslastung zu verlieren? In einem gesättigten Markt mit mehreren Anbietern wird das schwieriger. Die Frage der Preissetzungsmacht sollte Teil jeder Marktanalyse sein.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Sonderbox: Persönliche Bürgschaft — das unterschätzte Risiko Nr. 1
|
||||||
|
|
||||||
|
**Dieses Thema wird in fast jedem Gespräch über Padelhallen-Investitionen ausgelassen. Das ist ein Fehler.**
|
||||||
|
|
||||||
|
Banken, die einer Einzelanlage ohne Konzernrückhalt Kapital bereitstellen, verlangen in der Praxis fast immer eine persönliche Bürgschaft des oder der Hauptgesellschafter. Das bedeutet: Wenn das Unternehmen in Zahlungsschwierigkeiten gerät, haftet nicht die GmbH allein — Sie haften persönlich. Mit dem Eigenheim. Mit dem Ersparten. Mit dem Depot.
|
||||||
|
|
||||||
|
Die Struktur sieht dann typischerweise so aus:
|
||||||
|
|
||||||
|
- Sie gründen eine GmbH und halten die Anteile. Die GmbH nimmt das Darlehen auf.
|
||||||
|
- Die Bank gewährt das Darlehen, verlangt aber Ihre persönliche Bürgschaft als Sicherheit — unbeschränkt oder bis zu einem bestimmten Betrag.
|
||||||
|
- Wenn die GmbH insolvent geht, greift die Bank auf Sie persönlich zu.
|
||||||
|
|
||||||
|
Was bedeutet das konkret? Bei einem Bankdarlehen von 800.000 Euro mit persönlicher Bürgschaft setzen Sie Ihr gesamtes Privatvermögen als Sicherheit ein. Die beschränkte Haftung der GmbH ist in dieser Konstellation für Sie als Gesellschafter-Bürge weitgehend illusorisch.
|
||||||
|
|
||||||
|
**Was Sie tun können:**
|
||||||
|
|
||||||
|
1. **Vor der Unterschrift:** Lassen Sie den Bürgschaftsumfang von einem Anwalt prüfen. Beschränkte Bürgschaft bis zu einem definierten Betrag ist oft verhandelbar.
|
||||||
|
2. **Absicherung im Privatvermögen:** Klären Sie frühzeitig mit einem Vermögensberater, welche privaten Vermögenswerte ggf. schutzwürdig sind.
|
||||||
|
3. **Stresstest:** Beantworten Sie ehrlich: Was passiert, wenn die Halle in Jahr zwei schließen muss? Können Sie das Worst-Case-Szenario finanziell und emotional tragen?
|
||||||
|
4. **Mitbürgen:** Wenn mehrere Gesellschafter vorhanden sind, klären Sie intern, wer bürgt und zu welchen Anteilen.
|
||||||
|
|
||||||
|
Kein anderes Risiko in diesem Artikel ist so real und so persönlich wie dieses. Gehen Sie es mit offenen Augen an.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 13–14. Regulatorische und rechtliche Risiken
|
||||||
|
|
||||||
|
### Lärmbeschwerden
|
||||||
|
|
||||||
|
Padel ist laut. Bälle auf Glaswänden erzeugen einen charakteristischen Klang, der in der Nähe von Wohnbebauung schnell zur Quelle von Nachbarschaftskonflikten wird. Kommunen können Betriebszeitrestriktionen erlassen oder Schallschutzauflagen verhängen, die Nachrüstungen erfordern.
|
||||||
|
|
||||||
|
**Vor Vertragsunterzeichnung:** Prüfen Sie die Lärmschutzauflagen für den geplanten Standort. Holen Sie eine Stellungnahme ein, ob das Nutzungskonzept im Rahmen der geltenden TA Lärm genehmigungsfähig ist. Eine professionelle Schallschutzanalyse ist kein Luxus.
|
||||||
|
|
||||||
|
### Buchungsplattform-Abhängigkeit
|
||||||
|
|
||||||
|
Playtomic ist in Deutschland der dominierende Anbieter. Das ist praktisch — und ein Konzentrationsrisiko. Wenn Playtomic die Kommissionsstruktur ändert, Ihren Slot im Algorithmus schlechter stellt oder Ihnen Konkurrenz über die eigene Plattform schickt, sind Sie davon unmittelbar betroffen.
|
||||||
|
|
||||||
|
Mittel- bis langfristig sollten Sie eine eigene Buchungsfähigkeit aufbauen — zumindest als Fallback. Das schützt Ihre Kundenbeziehungen und Ihre Marge.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Was gutes Risikomanagement in der Praxis bedeutet
|
||||||
|
|
||||||
|
Niemand kann alle Risiken eliminieren. Aber die Investoren, die langfristig erfolgreich sind, tun Folgendes:
|
||||||
|
|
||||||
|
**Sie rechnen mit den schlechten Szenarien, bevor sie das Gute annehmen.** Ein Businessplan, der nur das Base-Case zeigt, ist kein Werkzeug — er ist Wunschdenken. Rechnen Sie explizit durch: Was passiert bei 40 Prozent Auslastung? Bei einem Bauverzug von sechs Monaten? Bei einem neuen Wettbewerber in Jahr drei?
|
||||||
|
|
||||||
|
**Sie bauen Puffer ein, nicht als Komfortpolster, sondern als betriebliche Notwendigkeit.** Liquide Reserven von mindestens sechs Monaten Fixkosten sind kein Luxus.
|
||||||
|
|
||||||
|
**Sie sichern Mietverträge und Finanzierungskonditionen von Anfang an sorgfältig ab.** Die Kosten für gute Rechts- und Finanzberatung sind verglichen mit dem Downside verschwindend gering.
|
||||||
|
|
||||||
|
**Sie planen für Wettbewerb.** Nicht indem sie auf keine Konkurrenz hoffen, sondern indem sie ein Produkt aufbauen, das Stammkunden bindet — durch Qualität, Community und Dienstleistung.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Die Padelnomics-Investitionsrechnung
|
||||||
|
|
||||||
|
Der Padelnomics-Planer enthält einen Sensitivitätsanalyse-Tab, der genau diese Szenarien berechenbar macht: Wie verändert sich der ROI bei 40 versus 65 Prozent Auslastung? Was kostet ein sechsmonatiger Bauverzug? Was passiert, wenn ein Wettbewerber in Jahr drei 20 Prozent Ihrer Nachfrage abzieht?
|
||||||
|
|
||||||
|
Gute Entscheidungen brauchen ein ehrliches Modell — nicht nur die besten Annahmen.
|
||||||
159
scratch/articles/padel-standort-analyse-de.md
Normal file
159
scratch/articles/padel-standort-analyse-de.md
Normal file
@@ -0,0 +1,159 @@
|
|||||||
|
---
|
||||||
|
title: "Wo baut man eine Padel Halle? Standortanalyse mit Daten"
|
||||||
|
slug: padel-standort-analyse
|
||||||
|
language: de
|
||||||
|
url_path: /de/blog/padel-standort-analyse
|
||||||
|
meta_description: "8 Kriterien für die optimale Padel-Standortentscheidung: Einzugsgebiet, Wettbewerb, Sichtbarkeit, Mietkosten, Baugenehmigung – mit Daten statt Bauchgefühl."
|
||||||
|
cornerstone: C5
|
||||||
|
---
|
||||||
|
|
||||||
|
# Wo baut man eine Padel Halle? Standortanalyse mit Daten
|
||||||
|
|
||||||
|
Die Standortentscheidung ist die einzige Entscheidung im Lebenszyklus einer Padelhalle, die sich nicht korrigieren lässt. Schlechte Preisgestaltung kann angepasst werden. Ein schwaches Marketingkonzept kann überarbeitet werden. Ein Court-Belag, der sich als falsche Wahl erweist, kann nach einigen Jahren ausgetauscht werden. Der Standort nicht. Wer diesen Schritt mit Bauchgefühl oder nach dem Kriterium "günstige Miete gefunden" trifft, trägt ein strukturelles Risiko in jede Projektion, die danach kommt. Dieser Leitfaden zeigt, wie eine datenbasierte Standortentscheidung aussieht.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Die 8 Kriterien der Standortanalyse
|
||||||
|
|
||||||
|
### 1. Einzugsgebietsanalyse
|
||||||
|
|
||||||
|
Bevor ein Objekt ernsthaft in Betracht gezogen wird, muss das Einzugsgebiet verstanden werden. Ausgangspunkt sind zwei Isochrone: 15-Minuten-Fahrzeit und 30-Minuten-Fahrzeit vom geplanten Standort. Innerhalb dieser Radien ist die relevante Bevölkerung zu analysieren — nicht nach Gesamtkopfzahl, sondern nach den Kennzahlen, die Padel-Nachfrage vorhersagen:
|
||||||
|
|
||||||
|
- **Altersstruktur**: Der Kern der Padel-Zielgruppe liegt bei 25–55 Jahren. Regionen mit überalterter Bevölkerung oder sehr jungen Altersstrukturen ohne verfügbares Einkommen sind schwieriger.
|
||||||
|
- **Haushaltseinkommen**: Destatis veröffentlicht Einkommensdaten auf Kreisebene. Padel ist kein Elitenbedarfs- aber auch kein Massenmarktsport — Haushalte mit mittlerem bis gehobenem Einkommen (Netto über 3.000 Euro monatlich pro Haushalt) sind die Kernzielgruppe.
|
||||||
|
- **Erwerbsquote und Berufsstruktur**: Doppelverdiener-Haushalte, in denen beide Partner berufstätig und sportlich aktiv sind, zeigen die höchste Zahlungsbereitschaft für Hallensportarten mit festen Buchungszeiten.
|
||||||
|
- **Sportaffinität**: Gibt es bereits eine aktive Tennis- oder Squash-Community? Padel hat eine hohe Konversionsrate aus beiden Sportarten.
|
||||||
|
|
||||||
|
Ein starkes Einzugsgebiet hat: hohe Bevölkerungsdichte, Altersmedian 30–45, überdurchschnittliches Haushaltseinkommen, bestehende Sportinfrastruktur (die ein vorhandenes Sportpublikum belegt).
|
||||||
|
|
||||||
|
### 2. Wettbewerbsanalyse
|
||||||
|
|
||||||
|
Welche Padelhallen gibt es bereits im Einzugsgebiet, und wie gut ausgelastet sind sie? Das ist die wichtigste Einzelfrage der Standortentscheidung.
|
||||||
|
|
||||||
|
Bestehende Padelhallen sind auf Buchungsplattformen wie Playtomic oder Matchi gelistet. Wer dort zum nächsten Wochenende schaut und die Verfügbarkeit analysiert, erhält ein unmittelbares Bild der Nachfragesituation:
|
||||||
|
|
||||||
|
- Sind die Courts zu Stoßzeiten (Werktag 17–21 Uhr, Wochenende 9–14 Uhr) vollständig belegt? Das ist ein klares Nachfragesignal.
|
||||||
|
- Sind zu diesen Zeiten reichlich freie Slots verfügbar? Der Markt ist möglicherweise gesättigt oder noch nicht entwickelt.
|
||||||
|
|
||||||
|
Als Faustregel für den Entfernungseffekt: Eine weitere Anlage innerhalb von 5 Kilometern kostet in der Regel 15–25 Prozent Auslastung. Innerhalb von 10 Kilometern sind es noch 5–15 Prozent. Diese Werte sind keine fixen Gesetze, aber sie geben eine realistische Grundlage für die Szenarienplanung.
|
||||||
|
|
||||||
|
Wichtig: Wettbewerb ist kein K.O.-Kriterium. In Märkten mit hoher Nachfrage und bislang unzureichendem Angebot kann ein zweiter oder dritter Standort stark funktionieren. Entscheidend ist das Verhältnis von Nachfrage zu Angebot, nicht die bloße Existenz von Wettbewerbern.
|
||||||
|
|
||||||
|
### 3. Erreichbarkeit und Parkplätze
|
||||||
|
|
||||||
|
Padel ist ein sport, der überwiegend mit dem Auto besucht wird. Das hat praktische Konsequenzen:
|
||||||
|
|
||||||
|
**Parkplätze**: Richtwert 2 bis 3 Stellplätze pro Court. Für eine Vierercourt-Anlage bedeutet das mindestens 8–12 Stellplätze — plus Puffer für Coaches, Personal und gleichzeitige Buchungen in den angrenzenden Zeitfenstern. Wer hier knapp plant, hat ein operatives Problem ab dem ersten vollen Wochenend-Peak.
|
||||||
|
|
||||||
|
**ÖPNV-Anbindung**: Kein Ausschlusskriterium, aber ein echter Mehrwert. Standorte mit guter S-Bahn- oder U-Bahn-Anbindung erschließen ein deutlich breiteres Publikum — insbesondere jüngere Spieler und urbane Haushalte ohne Zweitauto.
|
||||||
|
|
||||||
|
Gewerbegebiete und Industriestandorte haben oft gute PKW-Zugänglichkeit, aber keine Anbindung an den Nahverkehr. Das ist für viele Padelhallen akzeptabel, sollte aber in die Zielgruppenüberlegung eingepreist werden.
|
||||||
|
|
||||||
|
### 4. Sichtbarkeit und Lage
|
||||||
|
|
||||||
|
Ein Standort an einer Hauptverkehrsstraße oder in einem Gewerbegebiet mit hohem Durchgangsverkehr generiert passive Bekanntheit — Menschen sehen die Halle und nehmen sie wahr, ohne gezielt danach gesucht zu haben. Das reduziert den Marketingaufwand beim Aufbau.
|
||||||
|
|
||||||
|
Ein Standort in einem versteckten Gewerbegebiet, abseits von Hauptstraßen und ohne Außenwerbewirkung, funktioniert auch — aber er verlangt 30–40 Prozent mehr Marketingaufwand in der Anlaufphase und eine stärkere digitale Präsenz, um den fehlenden passiven Traffic zu kompensieren.
|
||||||
|
|
||||||
|
Gleichzeitig gilt: Sichtbarkeit hat ihren Preis. Premium-Lagen an Hauptstraßen oder in Gewerbecentern kosten oft das Doppelte pro Quadratmeter gegenüber vergleichbaren Flächen in Nebenlagen. Das muss im Mietkosten-Umsatz-Verhältnis gegengerechnet werden (siehe Kriterium 6).
|
||||||
|
|
||||||
|
### 5. Objekteignung für den Umbau
|
||||||
|
|
||||||
|
Padelhallen stellen spezifische bauliche Anforderungen. Nicht jedes Objekt, das groß genug ist, ist tatsächlich geeignet:
|
||||||
|
|
||||||
|
**Deckenhöhe**: Minimum 8 Meter lichte Höhe, ideal 10 Meter oder mehr. Unter 8 Metern ist Padel nur mit modifizierten Spielregeln möglich und für Turnierbetrieb nicht geeignet.
|
||||||
|
|
||||||
|
**Stützenfreiheit und Spannweiten**: Ein Standard-Padel-Court misst 20 × 10 Meter. Mit Sicherheitsabständen braucht jeder Court eine stützenfreie Fläche von circa 22 × 12 Metern. Hallen mit engem Stützenraster scheiden in der Regel aus.
|
||||||
|
|
||||||
|
**Bodenbelastung**: Padel-Courts sind nicht außergewöhnlich schwer, aber Stahlkonstruktionen für die Court-Rahmen müssen fundiert werden. Der Untergrund muss entsprechend tragfähig sein.
|
||||||
|
|
||||||
|
**Versorgungsanschlüsse**: LED-Beleuchtung für Padel (Standard: 300–500 Lux auf Spielfläche) hat einen hohen Strombedarf. Der vorhandene Elektroanschluss muss das leisten können oder ausbaubar sein.
|
||||||
|
|
||||||
|
Industriehallen und Gewerbehallen aus den 1980er und 1990er Jahren in Deutschland erfüllen diese Kriterien häufig — und sind oft zu deutlich günstigeren Konditionen verfügbar als Neubauten oder Retailflächen.
|
||||||
|
|
||||||
|
### 6. Miet-Umsatz-Verhältnis
|
||||||
|
|
||||||
|
Padelhallen benötigen große Flächen: 1.500 bis 3.000 Quadratmeter für eine Anlage mit 4 bis 8 Courts inklusive Nebenräumen (Umkleiden, Lounge, Empfang, Lager). Der Mietpreis pro Quadratmeter hat daher einen überproportionalen Einfluss auf die Rentabilität.
|
||||||
|
|
||||||
|
**Richtwert**: Die jährliche Gesamtmiete sollte nicht mehr als 15 Prozent des geplanten Jahresumsatzes in Jahr 3 betragen. Ein Beispiel zur Veranschaulichung:
|
||||||
|
|
||||||
|
- Geplanter Umsatz in Jahr 3: 1,1 Millionen Euro
|
||||||
|
- Maximale nachhaltige Jahresmiete: 165.000 Euro (15%)
|
||||||
|
- Entspricht einer Monatsmiete von 13.750 Euro
|
||||||
|
- Bei 1.500 Quadratmetern: ca. 9,20 Euro pro Quadratmeter und Monat
|
||||||
|
|
||||||
|
Liegt die Angebotsmiete signifikant über diesem Wert, ist der Standort aus Rentabilitätsperspektive problematisch — unabhängig davon, wie gut er in anderen Kriterien abschneidet.
|
||||||
|
|
||||||
|
### 7. Entwicklungspotenzial des Umfelds
|
||||||
|
|
||||||
|
Ist die Gegend im Wachstum? Neue Wohn- oder Gewerbeentwicklungen in unmittelbarer Nähe können die Einzugsgebietsbasis in den ersten Betriebsjahren erheblich vergrößern. Wer einen Standort erschließt, bevor die umliegende Entwicklung abgeschlossen ist, sichert sich häufig günstigere Mietkonditionen und einen Erstmover-Vorteil.
|
||||||
|
|
||||||
|
Relevante Informationsquellen: kommunale Bebauungspläne (über die jeweiligen Stadtplanungsämter abrufbar), Flächennutzungspläne, Berichte der lokalen Wirtschaftsförderung. Auch die Auswertung von Baugenehmigungsstatistiken und Bevölkerungsprognosen des Statistischen Bundesamts gibt Hinweise auf mittelfristige Entwicklungskorridore.
|
||||||
|
|
||||||
|
### 8. Regulatorisches Umfeld
|
||||||
|
|
||||||
|
Die Baugenehmigung ist einer der häufigsten unterschätzten Risikofaktoren im Padelhallen-Projekt. Sechs bis neun Monate Bearbeitungszeit sind keine Ausnahme — und jeder Monat Verzögerung kostet Mietkosten ohne Umsatzgegenwert.
|
||||||
|
|
||||||
|
Relevante Prüfpunkte:
|
||||||
|
- **Nutzungsklasse (Baunutzungsverordnung)**: Ist die geplante Sportnutzung am Standort zulässig? Gewerbliche Sporteinrichtungen sind nicht in allen Nutzungszonen erlaubt.
|
||||||
|
- **Lärmschutzauflagen**: Besonders bei Außencourts. Die TA Lärm schreibt für Sportanlagen je nach Gebietskategorie strikte Richtwerte vor. Verstöße können den Betrieb von Außencourts dauerhaft einschränken.
|
||||||
|
- **Kommunale Förderung**: Manche Kommunen unterstützen Sportinfrastruktur aktiv — durch beschleunigte Genehmigungsverfahren, vergünstigte Gewerbeflächen oder sogar direkte Fördermittel. Es lohnt sich, die Wirtschaftsförderung der Zielkommune frühzeitig zu kontaktieren.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Die Standortformel: Aus 8 Kriterien wird eine Entscheidung
|
||||||
|
|
||||||
|
Wer mehrere Standorte parallel prüft, braucht ein Vergleichsinstrument. Empfehlenswert ist eine gewichtete Kriterienbewertung: Jedes der acht Kriterien wird auf einer Skala von 1 bis 5 bewertet und mit einem Gewichtungsfaktor multipliziert.
|
||||||
|
|
||||||
|
Mögliche Gewichtung nach Bedeutung:
|
||||||
|
|
||||||
|
| Kriterium | Gewicht |
|
||||||
|
|---|---|
|
||||||
|
| Einzugsgebiet (Bevölkerung, Einkommen, Alter) | 25% |
|
||||||
|
| Wettbewerbssituation | 20% |
|
||||||
|
| Miet-Umsatz-Verhältnis | 20% |
|
||||||
|
| Objekteignung (baulich) | 15% |
|
||||||
|
| Erreichbarkeit / Parkplätze | 10% |
|
||||||
|
| Regulatorisches Umfeld | 5% |
|
||||||
|
| Sichtbarkeit | 3% |
|
||||||
|
| Entwicklungspotenzial | 2% |
|
||||||
|
|
||||||
|
Das Ergebnis ist ein Gesamtscore pro Standort, der einen strukturierten Vergleich ermöglicht. Wichtig: Ein Standort, der in einem der K.O.-Kriterien (Mietverhältnis, Objekteignung) unter dem Minimum liegt, scheidet unabhängig vom Gesamtscore aus.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Häufige Fehler bei der Standortentscheidung
|
||||||
|
|
||||||
|
**Der Sichtbarkeits-Irrtum**: Ein teures Objekt in Premiumlage mit hoher Passantenfrequenz klingt überzeugend. Aber: Padel-Kunden buchen online. Sichtbarkeit hilft beim passiven Bekanntheitsaufbau — sie ersetzt kein funktionierendes digitales Marketing, kostet aber unter Umständen 3–4 Euro pro Quadratmeter mehr Miete. Das summiert sich über fünf Jahre auf einen erheblichen Betrag. Die Frage ist immer: Was kostet die Sichtbarkeit, und was würde ein gleichwertiges Marketingbudget leisten?
|
||||||
|
|
||||||
|
**Parkplatzsituation ignoriert**: Wer Parkplätze unterschätzt, bemerkt das Problem erst im Vollbetrieb — und dann ist es strukturell nicht lösbar. Besonders in urbanen Lagen mit Parkraumbewirtschaftung ist die Verfügbarkeit von kostenlosem Kundenparkplatz ein echter Differenzierungsfaktor.
|
||||||
|
|
||||||
|
**Regulatorisches Risiko unterschätzt**: Baugenehmigungen scheitern oder verzögern sich aus Gründen, die im Vorfeld erkennbar gewesen wären: falsche Nutzungsklasse, Lärmschutzprobleme bei Außencourts, denkmalgeschützte Nachbarbebauung. Eine Voranfrage beim Bauordnungsamt (formlos, oft kostenlos) vor der Mietentscheidung kann Monate Arbeit und erhebliche Kosten sparen.
|
||||||
|
|
||||||
|
**Zu früh auf ein Objekt fixiert**: Die beste Standortentscheidung entsteht aus dem Vergleich von mindestens drei bis fünf Optionen. Wer das erste passende Objekt nimmt, verzichtet auf die Möglichkeit, das Verhältnis von Preis, Lage und Eignung zu optimieren.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Welche deutschen Städte 2026 besonders attraktiv sind
|
||||||
|
|
||||||
|
Die Padel-Nachfrage ist in Deutschland regional sehr ungleich entwickelt. Einige Einschätzungen auf Basis aktueller Marktdaten:
|
||||||
|
|
||||||
|
**Etablierte Märkte mit weiterhin hoher Nachfrage**
|
||||||
|
München, Hamburg, Berlin, Frankfurt — in diesen Städten ist Padel bereits als Sport etabliert, die Auslastung gut positionierter Anlagen ist hoch, und der Markt hat Kapazität für weitere gut gelegene Standorte. Miet- und Baukosten sind allerdings entsprechend.
|
||||||
|
|
||||||
|
**Starkes Wachstum, noch nicht gesättigt**
|
||||||
|
Stuttgart, Düsseldorf, Köln — mittlere Marktreife, klare Wachstumsdynamik, noch erkennbare Versorgungslücken in spezifischen Stadtteilen und Umlandgemeinden. Oft besseres Mietpreis-Nachfrage-Verhältnis als in den Top-4-Städten.
|
||||||
|
|
||||||
|
**Emerging Markets mit attraktivem Risiko-Rendite-Profil**
|
||||||
|
Leipzig, Dresden, Nürnberg — niedrigere Mietkosten, wachsende Spielerbasis, aber geringeres absolutes Nachfragevolumen. Geeignet für Betreiber mit Kostendisziplin und einer Marketingstrategie, die aktiv Community-Aufbau betreibt.
|
||||||
|
|
||||||
|
**Mittelstädte im Speckgürtel der Metropolen**
|
||||||
|
Städte zwischen 50.000 und 200.000 Einwohnern in der Nähe größerer Wirtschaftszentren sind oft unterversorgt, bieten günstigere Gewerbemieten und unkompliziertere Genehmigungsverfahren. Wer bereit ist, aktiv eine lokale Spielgemeinschaft aufzubauen, findet hier häufig attraktivere Konditionen als in der Großstadt.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Wie Padelnomics hilft
|
||||||
|
|
||||||
|
Padelnomics wertet Marktdaten für Ihr Zielgebiet aus: Spielerdichte, Wettbewerbsdichte, Court-Nachfrage-Indikatoren aus Buchungsplattformdaten und demografische Kennzahlen auf Gemeindeebene. Für Ihre potenziellen Standorte erstellt Padelnomics ein Einzugsgebietsprofil und einen Standortvergleich — so dass die Entscheidung auf einer Datenbasis getroffen werden kann, nicht auf einer Karte mit Fingerzeig.
|
||||||
|
|
||||||
|
[→ Standortanalyse starten]
|
||||||
@@ -37,6 +37,42 @@ from ..email_templates import EMAIL_TEMPLATE_REGISTRY, render_email_template
|
|||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
def _build_article_seo_head(
|
||||||
|
url_path: str,
|
||||||
|
title: str,
|
||||||
|
meta_desc: str,
|
||||||
|
language: str,
|
||||||
|
published_at: str,
|
||||||
|
*,
|
||||||
|
base_url: str = "https://padelnomics.io",
|
||||||
|
) -> str:
|
||||||
|
"""Build SEO head block (canonical, OG, JSON-LD) for a manually created article."""
|
||||||
|
def _esc(text: str) -> str:
|
||||||
|
return text.replace("&", "&").replace('"', """).replace("<", "<")
|
||||||
|
|
||||||
|
full_url = f"{base_url}/{language}{url_path}"
|
||||||
|
jsonld = json.dumps({
|
||||||
|
"@context": "https://schema.org",
|
||||||
|
"@type": "Article",
|
||||||
|
"headline": title[:110],
|
||||||
|
"description": meta_desc[:200],
|
||||||
|
"url": full_url,
|
||||||
|
"inLanguage": language,
|
||||||
|
"datePublished": published_at,
|
||||||
|
"dateModified": published_at,
|
||||||
|
"author": {"@type": "Organization", "name": "Padelnomics", "url": "https://padelnomics.io"},
|
||||||
|
"publisher": {"@type": "Organization", "name": "Padelnomics", "url": "https://padelnomics.io"},
|
||||||
|
}, ensure_ascii=False)
|
||||||
|
return "\n".join([
|
||||||
|
f'<link rel="canonical" href="{full_url}" />',
|
||||||
|
f'<meta property="og:title" content="{_esc(title)}" />',
|
||||||
|
f'<meta property="og:description" content="{_esc(meta_desc)}" />',
|
||||||
|
f'<meta property="og:url" content="{full_url}" />',
|
||||||
|
'<meta property="og:type" content="article" />',
|
||||||
|
f'<script type="application/ld+json">{jsonld}</script>',
|
||||||
|
])
|
||||||
|
|
||||||
|
|
||||||
# Blueprint with its own template folder
|
# Blueprint with its own template folder
|
||||||
bp = Blueprint(
|
bp = Blueprint(
|
||||||
"admin",
|
"admin",
|
||||||
@@ -2138,6 +2174,7 @@ async def article_new():
|
|||||||
country = form.get("country", "").strip()
|
country = form.get("country", "").strip()
|
||||||
region = form.get("region", "").strip()
|
region = form.get("region", "").strip()
|
||||||
body = form.get("body", "").strip()
|
body = form.get("body", "").strip()
|
||||||
|
language = form.get("language", "en").strip() or "en"
|
||||||
status = form.get("status", "draft")
|
status = form.get("status", "draft")
|
||||||
published_at = form.get("published_at", "").strip()
|
published_at = form.get("published_at", "").strip()
|
||||||
|
|
||||||
@@ -2153,9 +2190,9 @@ async def article_new():
|
|||||||
body_html = mistune.html(body)
|
body_html = mistune.html(body)
|
||||||
body_html = await bake_scenario_cards(body_html)
|
body_html = await bake_scenario_cards(body_html)
|
||||||
|
|
||||||
BUILD_DIR.mkdir(parents=True, exist_ok=True)
|
build_dir = BUILD_DIR / language
|
||||||
build_path = BUILD_DIR / f"{article_slug}.html"
|
build_dir.mkdir(parents=True, exist_ok=True)
|
||||||
build_path.write_text(body_html)
|
(build_dir / f"{article_slug}.html").write_text(body_html)
|
||||||
|
|
||||||
# Save markdown source
|
# Save markdown source
|
||||||
md_dir = Path("data/content/articles")
|
md_dir = Path("data/content/articles")
|
||||||
@@ -2163,14 +2200,15 @@ async def article_new():
|
|||||||
(md_dir / f"{article_slug}.md").write_text(body)
|
(md_dir / f"{article_slug}.md").write_text(body)
|
||||||
|
|
||||||
pub_dt = published_at or utcnow_iso()
|
pub_dt = published_at or utcnow_iso()
|
||||||
|
seo_head = _build_article_seo_head(url_path, title, meta_description, language, pub_dt)
|
||||||
|
|
||||||
await execute(
|
await execute(
|
||||||
"""INSERT INTO articles
|
"""INSERT INTO articles
|
||||||
(url_path, slug, title, meta_description, og_image_url,
|
(url_path, slug, title, meta_description, og_image_url,
|
||||||
country, region, status, published_at)
|
country, region, language, status, published_at, seo_head)
|
||||||
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)""",
|
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)""",
|
||||||
(url_path, article_slug, title, meta_description, og_image_url,
|
(url_path, article_slug, title, meta_description, og_image_url,
|
||||||
country, region, status, pub_dt),
|
country, region, language, status, pub_dt, seo_head),
|
||||||
)
|
)
|
||||||
from ..sitemap import invalidate_sitemap_cache
|
from ..sitemap import invalidate_sitemap_cache
|
||||||
invalidate_sitemap_cache()
|
invalidate_sitemap_cache()
|
||||||
@@ -2202,6 +2240,7 @@ async def article_edit(article_id: int):
|
|||||||
country = form.get("country", "").strip()
|
country = form.get("country", "").strip()
|
||||||
region = form.get("region", "").strip()
|
region = form.get("region", "").strip()
|
||||||
body = form.get("body", "").strip()
|
body = form.get("body", "").strip()
|
||||||
|
language = form.get("language", article.get("language", "en")).strip() or "en"
|
||||||
status = form.get("status", article["status"])
|
status = form.get("status", article["status"])
|
||||||
published_at = form.get("published_at", "").strip()
|
published_at = form.get("published_at", "").strip()
|
||||||
|
|
||||||
@@ -2215,8 +2254,9 @@ async def article_edit(article_id: int):
|
|||||||
if body:
|
if body:
|
||||||
body_html = mistune.html(body)
|
body_html = mistune.html(body)
|
||||||
body_html = await bake_scenario_cards(body_html)
|
body_html = await bake_scenario_cards(body_html)
|
||||||
BUILD_DIR.mkdir(parents=True, exist_ok=True)
|
build_dir = BUILD_DIR / language
|
||||||
(BUILD_DIR / f"{article['slug']}.html").write_text(body_html)
|
build_dir.mkdir(parents=True, exist_ok=True)
|
||||||
|
(build_dir / f"{article['slug']}.html").write_text(body_html)
|
||||||
|
|
||||||
md_dir = Path("data/content/articles")
|
md_dir = Path("data/content/articles")
|
||||||
md_dir.mkdir(parents=True, exist_ok=True)
|
md_dir.mkdir(parents=True, exist_ok=True)
|
||||||
@@ -2224,14 +2264,16 @@ async def article_edit(article_id: int):
|
|||||||
|
|
||||||
now = utcnow_iso()
|
now = utcnow_iso()
|
||||||
pub_dt = published_at or article["published_at"]
|
pub_dt = published_at or article["published_at"]
|
||||||
|
seo_head = _build_article_seo_head(url_path, title, meta_description, language, pub_dt)
|
||||||
|
|
||||||
await execute(
|
await execute(
|
||||||
"""UPDATE articles
|
"""UPDATE articles
|
||||||
SET title = ?, url_path = ?, meta_description = ?, og_image_url = ?,
|
SET title = ?, url_path = ?, meta_description = ?, og_image_url = ?,
|
||||||
country = ?, region = ?, status = ?, published_at = ?, updated_at = ?
|
country = ?, region = ?, language = ?, status = ?, published_at = ?,
|
||||||
|
seo_head = ?, updated_at = ?
|
||||||
WHERE id = ?""",
|
WHERE id = ?""",
|
||||||
(title, url_path, meta_description, og_image_url,
|
(title, url_path, meta_description, og_image_url,
|
||||||
country, region, status, pub_dt, now, article_id),
|
country, region, language, status, pub_dt, seo_head, now, article_id),
|
||||||
)
|
)
|
||||||
await flash("Article updated.", "success")
|
await flash("Article updated.", "success")
|
||||||
return redirect(url_for("admin.articles"))
|
return redirect(url_for("admin.articles"))
|
||||||
|
|||||||
@@ -60,7 +60,14 @@
|
|||||||
<p class="form-hint">Use [scenario:slug] to embed scenario widgets. Sections: :capex, :operating, :cashflow, :returns, :full</p>
|
<p class="form-hint">Use [scenario:slug] to embed scenario widgets. Sections: :capex, :operating, :cashflow, :returns, :full</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 1rem;" class="mb-4">
|
<div style="display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 1rem;" class="mb-4">
|
||||||
|
<div>
|
||||||
|
<label class="form-label" for="language">Language</label>
|
||||||
|
<select id="language" name="language" class="form-input">
|
||||||
|
<option value="en" {% if data.get('language', 'en') == 'en' %}selected{% endif %}>English (en)</option>
|
||||||
|
<option value="de" {% if data.get('language') == 'de' %}selected{% endif %}>German (de)</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<label class="form-label" for="status">Status</label>
|
<label class="form-label" for="status">Status</label>
|
||||||
<select id="status" name="status" class="form-input">
|
<select id="status" name="status" class="form-input">
|
||||||
|
|||||||
@@ -4,12 +4,15 @@ Business Plan PDF generation engine.
|
|||||||
Renders an HTML template with planner data, converts to PDF via WeasyPrint.
|
Renders an HTML template with planner data, converts to PDF via WeasyPrint.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
import io
|
||||||
import json
|
import json
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
|
from .analytics import fetch_analytics
|
||||||
from .core import fetch_one
|
from .core import fetch_one
|
||||||
from .i18n import get_translations
|
from .i18n import get_translations
|
||||||
from .planner.calculator import COUNTRY_CURRENCY, CURRENCY_DEFAULT, calc, validate_state
|
from .planner.calculator import COUNTRY_CURRENCY, CURRENCY_DEFAULT, calc, validate_state
|
||||||
|
from .planner.routes import compute_sensitivity
|
||||||
|
|
||||||
TEMPLATE_DIR = Path(__file__).parent / "templates" / "businessplan"
|
TEMPLATE_DIR = Path(__file__).parent / "templates" / "businessplan"
|
||||||
|
|
||||||
@@ -43,7 +46,170 @@ def _fmt_months(idx: int, t: dict) -> str:
|
|||||||
return t["bp_years"].format(n=f"{years:.1f}")
|
return t["bp_years"].format(n=f"{years:.1f}")
|
||||||
|
|
||||||
|
|
||||||
def get_plan_sections(state: dict, d: dict, language: str = "en") -> dict:
|
def _generate_pnl_chart_svg(annuals: list[dict], sym: str) -> str:
|
||||||
|
"""Generate P&L trend chart as SVG string using matplotlib.
|
||||||
|
|
||||||
|
Returns an SVG string for embedding in WeasyPrint HTML.
|
||||||
|
Returns empty string if matplotlib is unavailable.
|
||||||
|
"""
|
||||||
|
try:
|
||||||
|
import matplotlib
|
||||||
|
matplotlib.use("Agg")
|
||||||
|
import matplotlib.pyplot as plt
|
||||||
|
import matplotlib.ticker as mticker
|
||||||
|
except ImportError:
|
||||||
|
return ""
|
||||||
|
|
||||||
|
years = [f"Y{a['year']}" for a in annuals]
|
||||||
|
revenues = [a["revenue"] / 1000 for a in annuals]
|
||||||
|
ebitdas = [a["ebitda"] / 1000 for a in annuals]
|
||||||
|
net_cfs = [a["ncf"] / 1000 for a in annuals]
|
||||||
|
|
||||||
|
fig, ax = plt.subplots(figsize=(5.5, 2.8))
|
||||||
|
x = range(len(years))
|
||||||
|
width = 0.28
|
||||||
|
|
||||||
|
ax.bar([i - width for i in x], revenues, width, label=f"Revenue ({sym}k)", color="#1D4ED8", alpha=0.85)
|
||||||
|
ax.bar([i for i in x], ebitdas, width, label=f"EBITDA ({sym}k)", color="#16A34A", alpha=0.85)
|
||||||
|
ax.bar([i + width for i in x], net_cfs, width, label=f"Net CF ({sym}k)", color="#D97706", alpha=0.85)
|
||||||
|
|
||||||
|
ax.set_xticks(list(x))
|
||||||
|
ax.set_xticklabels(years, fontsize=8)
|
||||||
|
ax.yaxis.set_major_formatter(mticker.FuncFormatter(lambda v, _: f"{sym}{v:.0f}k"))
|
||||||
|
ax.tick_params(axis="y", labelsize=7)
|
||||||
|
ax.legend(fontsize=7, loc="upper left", framealpha=0.5)
|
||||||
|
ax.spines["top"].set_visible(False)
|
||||||
|
ax.spines["right"].set_visible(False)
|
||||||
|
ax.grid(axis="y", linestyle="--", alpha=0.4)
|
||||||
|
ax.set_facecolor("#FAFAFA")
|
||||||
|
fig.patch.set_facecolor("white")
|
||||||
|
fig.tight_layout(pad=0.5)
|
||||||
|
|
||||||
|
buf = io.BytesIO()
|
||||||
|
fig.savefig(buf, format="svg", dpi=150, bbox_inches="tight")
|
||||||
|
plt.close(fig)
|
||||||
|
buf.seek(0)
|
||||||
|
return buf.read().decode("utf-8")
|
||||||
|
|
||||||
|
|
||||||
|
def _generate_cashflow_chart_svg(months: list[dict], sym: str) -> str:
|
||||||
|
"""Generate 12-month cumulative cash flow chart as SVG string using matplotlib.
|
||||||
|
|
||||||
|
Returns an SVG string for embedding in WeasyPrint HTML.
|
||||||
|
Returns empty string if matplotlib is unavailable.
|
||||||
|
"""
|
||||||
|
try:
|
||||||
|
import matplotlib
|
||||||
|
matplotlib.use("Agg")
|
||||||
|
import matplotlib.pyplot as plt
|
||||||
|
import matplotlib.ticker as mticker
|
||||||
|
except ImportError:
|
||||||
|
return ""
|
||||||
|
|
||||||
|
m12 = months[:12]
|
||||||
|
labels = [str(m["m"]) for m in m12]
|
||||||
|
cumulatives = [m["cum"] / 1000 for m in m12]
|
||||||
|
ncfs = [m["ncf"] / 1000 for m in m12]
|
||||||
|
|
||||||
|
fig, ax = plt.subplots(figsize=(5.5, 2.6))
|
||||||
|
ax.bar(range(len(labels)), ncfs, color=["#16A34A" if v >= 0 else "#EF4444" for v in ncfs], alpha=0.7, label=f"Monthly NCF ({sym}k)")
|
||||||
|
ax.plot(range(len(labels)), cumulatives, color="#1D4ED8", linewidth=2, marker="o", markersize=4, label=f"Cumulative ({sym}k)")
|
||||||
|
ax.axhline(0, color="#94A3B8", linewidth=0.8, linestyle="--")
|
||||||
|
|
||||||
|
ax.set_xticks(range(len(labels)))
|
||||||
|
ax.set_xticklabels([f"M{lbl}" for lbl in labels], fontsize=7)
|
||||||
|
ax.yaxis.set_major_formatter(mticker.FuncFormatter(lambda v, _: f"{sym}{v:.0f}k"))
|
||||||
|
ax.tick_params(axis="y", labelsize=7)
|
||||||
|
ax.legend(fontsize=7, loc="lower right", framealpha=0.5)
|
||||||
|
ax.spines["top"].set_visible(False)
|
||||||
|
ax.spines["right"].set_visible(False)
|
||||||
|
ax.grid(axis="y", linestyle="--", alpha=0.4)
|
||||||
|
ax.set_facecolor("#FAFAFA")
|
||||||
|
fig.patch.set_facecolor("white")
|
||||||
|
fig.tight_layout(pad=0.5)
|
||||||
|
|
||||||
|
buf = io.BytesIO()
|
||||||
|
fig.savefig(buf, format="svg", dpi=150, bbox_inches="tight")
|
||||||
|
plt.close(fig)
|
||||||
|
buf.seek(0)
|
||||||
|
return buf.read().decode("utf-8")
|
||||||
|
|
||||||
|
|
||||||
|
def _compute_opening_balance(d: dict, fmt) -> dict:
|
||||||
|
"""Compute the opening balance sheet (Eröffnungsbilanz) from CAPEX + financing data."""
|
||||||
|
# Assets side: CAPEX items + working capital buffer
|
||||||
|
fixed_assets = sum(
|
||||||
|
i["amount"] for i in d["capexItems"]
|
||||||
|
if not any(kw in i.get("name", "").lower() for kw in ["working", "betrieb", "reserve", "puffer"])
|
||||||
|
)
|
||||||
|
working_capital = d["capex"] - fixed_assets
|
||||||
|
|
||||||
|
# Liabilities: loan; Equity: everything else
|
||||||
|
total_assets = d["capex"]
|
||||||
|
loan = d["loanAmount"]
|
||||||
|
equity = d["equity"]
|
||||||
|
|
||||||
|
return {
|
||||||
|
"total_assets": fmt(total_assets),
|
||||||
|
"fixed_assets": fmt(fixed_assets),
|
||||||
|
"working_capital": fmt(max(working_capital, 0)),
|
||||||
|
"total_liabilities_equity": fmt(total_assets),
|
||||||
|
"loan": fmt(loan),
|
||||||
|
"equity": fmt(equity),
|
||||||
|
"equity_ratio": f"{(equity / total_assets * 100):.1f}%" if total_assets > 0 else "-",
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
def _compute_use_of_funds(d: dict, fmt) -> list[dict]:
|
||||||
|
"""Map loan to CAPEX line items (Mittelverwendungsplan)."""
|
||||||
|
loan = d["loanAmount"]
|
||||||
|
total = d["capex"]
|
||||||
|
|
||||||
|
rows = []
|
||||||
|
for item in d["capexItems"]:
|
||||||
|
if item["amount"] <= 0:
|
||||||
|
continue
|
||||||
|
share = item["amount"] / total if total > 0 else 0
|
||||||
|
from_loan = min(item["amount"], loan * share * 1.1) # approx allocation
|
||||||
|
from_equity = item["amount"] - from_loan
|
||||||
|
rows.append({
|
||||||
|
"item": item["name"],
|
||||||
|
"total": fmt(item["amount"]),
|
||||||
|
"from_loan": fmt(round(from_loan)),
|
||||||
|
"from_equity": fmt(round(from_equity)),
|
||||||
|
})
|
||||||
|
return rows
|
||||||
|
|
||||||
|
|
||||||
|
async def _fetch_market_data(location: str, language: str) -> dict | None:
|
||||||
|
"""Query DuckDB for city-level market data to auto-populate market analysis.
|
||||||
|
|
||||||
|
Returns None if no matching city is found.
|
||||||
|
"""
|
||||||
|
if not location:
|
||||||
|
return None
|
||||||
|
|
||||||
|
# Try matching city slug (lowercase, spaces→hyphens)
|
||||||
|
city_slug = location.lower().strip().replace(" ", "-").replace(",", "")
|
||||||
|
|
||||||
|
rows = await fetch_analytics(
|
||||||
|
"""
|
||||||
|
SELECT city_slug, city_name, country,
|
||||||
|
padel_venue_count, venues_per_100k, market_score,
|
||||||
|
median_peak_rate, median_offpeak_rate, median_occupancy_rate,
|
||||||
|
population
|
||||||
|
FROM serving.city_market_overview
|
||||||
|
WHERE city_slug = ? OR lower(city_name) = lower(?)
|
||||||
|
LIMIT 1
|
||||||
|
""",
|
||||||
|
[city_slug, location.strip()],
|
||||||
|
)
|
||||||
|
if not rows:
|
||||||
|
return None
|
||||||
|
return rows[0]
|
||||||
|
|
||||||
|
|
||||||
|
def get_plan_sections(state: dict, d: dict, language: str = "en", bp_details: dict | None = None, market_data: dict | None = None) -> dict:
|
||||||
"""Extract and format all business plan sections from planner data."""
|
"""Extract and format all business plan sections from planner data."""
|
||||||
s = state
|
s = state
|
||||||
t = get_translations(language)
|
t = get_translations(language)
|
||||||
@@ -63,6 +229,23 @@ def get_plan_sections(state: dict, d: dict, language: str = "en") -> dict:
|
|||||||
per_court_str = fmt(d["capexPerCourt"])
|
per_court_str = fmt(d["capexPerCourt"])
|
||||||
per_sqm_str = fmt(d["capexPerSqm"])
|
per_sqm_str = fmt(d["capexPerSqm"])
|
||||||
|
|
||||||
|
details = bp_details or {}
|
||||||
|
sens_rows, price_rows = compute_sensitivity(s, d)
|
||||||
|
|
||||||
|
# Format sensitivity rows for display
|
||||||
|
def fmt_sens(rows):
|
||||||
|
return [{**r, "rev_fmt": fmt(r["rev"]), "ncf_fmt": fmt(r["ncf"]), "annual_fmt": fmt(r["annual"]), "dscr_fmt": f"{r['dscr']:.2f}x"} for r in rows]
|
||||||
|
|
||||||
|
def fmt_price(rows):
|
||||||
|
return [{**r, "adj_rate_fmt": fmt(r["adj_rate"]), "rev_fmt": fmt(r["rev"]), "ncf_fmt": fmt(r["ncf"])} for r in rows]
|
||||||
|
|
||||||
|
opening_balance = _compute_opening_balance(d, fmt)
|
||||||
|
use_of_funds = _compute_use_of_funds(d, fmt)
|
||||||
|
|
||||||
|
# Generate SVG charts from data
|
||||||
|
pnl_chart_svg = _generate_pnl_chart_svg(d["annuals"], sym)
|
||||||
|
cashflow_chart_svg = _generate_cashflow_chart_svg(d["months"], sym)
|
||||||
|
|
||||||
sections = {
|
sections = {
|
||||||
"lang": language,
|
"lang": language,
|
||||||
"title": t["bp_title"],
|
"title": t["bp_title"],
|
||||||
@@ -170,6 +353,53 @@ def get_plan_sections(state: dict, d: dict, language: str = "en") -> dict:
|
|||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|
||||||
|
# Charts (SVG strings, embedded directly in HTML)
|
||||||
|
"charts": {
|
||||||
|
"pnl": pnl_chart_svg,
|
||||||
|
"cashflow": cashflow_chart_svg,
|
||||||
|
},
|
||||||
|
|
||||||
|
# Sensitivity analysis
|
||||||
|
"sensitivity": {
|
||||||
|
"heading": t["bp_sensitivity"],
|
||||||
|
"util_heading": t["bp_sensitivity_util"],
|
||||||
|
"price_heading": t["bp_sensitivity_price"],
|
||||||
|
"sens_rows": fmt_sens(sens_rows),
|
||||||
|
"price_rows": fmt_price(price_rows),
|
||||||
|
},
|
||||||
|
|
||||||
|
# Opening balance sheet (Eröffnungsbilanz)
|
||||||
|
"opening_balance": {
|
||||||
|
"heading": t["bp_opening_balance"],
|
||||||
|
**opening_balance,
|
||||||
|
},
|
||||||
|
|
||||||
|
# Use of funds (Mittelverwendungsplan)
|
||||||
|
"use_of_funds": {
|
||||||
|
"heading": t["bp_use_of_funds"],
|
||||||
|
"rows": use_of_funds,
|
||||||
|
"total_loan": fmt(d["loanAmount"]),
|
||||||
|
"total_equity": fmt(d["equity"]),
|
||||||
|
"total_capex": fmt(d["capex"]),
|
||||||
|
},
|
||||||
|
|
||||||
|
# Narrative sections from bp_details form
|
||||||
|
"narrative": {
|
||||||
|
"company_name": details.get("company_name", ""),
|
||||||
|
"legal_entity": details.get("legal_entity", ""),
|
||||||
|
"founder_name": details.get("founder_name", ""),
|
||||||
|
"founder_background": details.get("founder_background", ""),
|
||||||
|
"planned_location_address": details.get("planned_location_address", ""),
|
||||||
|
"planned_opening_date": details.get("planned_opening_date", ""),
|
||||||
|
"facility_description": details.get("facility_description", ""),
|
||||||
|
"marketing_concept": details.get("marketing_concept", ""),
|
||||||
|
"operations_concept": details.get("operations_concept", ""),
|
||||||
|
"staffing_plan": details.get("staffing_plan", ""),
|
||||||
|
},
|
||||||
|
|
||||||
|
# Market data (auto-populated from DuckDB, or None)
|
||||||
|
"market_data": market_data,
|
||||||
|
|
||||||
# Template labels
|
# Template labels
|
||||||
"labels": {
|
"labels": {
|
||||||
"scenario": t["bp_lbl_scenario"],
|
"scenario": t["bp_lbl_scenario"],
|
||||||
@@ -229,6 +459,38 @@ def get_plan_sections(state: dict, d: dict, language: str = "en") -> dict:
|
|||||||
"cumulative": t["bp_lbl_cumulative"],
|
"cumulative": t["bp_lbl_cumulative"],
|
||||||
"disclaimer": t["bp_lbl_disclaimer"],
|
"disclaimer": t["bp_lbl_disclaimer"],
|
||||||
"currency_sym": sym,
|
"currency_sym": sym,
|
||||||
|
# New section headings
|
||||||
|
"sensitivity": t["bp_sensitivity"],
|
||||||
|
"sensitivity_util": t["bp_sensitivity_util"],
|
||||||
|
"sensitivity_price": t["bp_sensitivity_price"],
|
||||||
|
"opening_balance": t["bp_opening_balance"],
|
||||||
|
"use_of_funds": t["bp_use_of_funds"],
|
||||||
|
"market_analysis": t["bp_market_analysis"],
|
||||||
|
"risk_analysis": t["bp_risk_analysis"],
|
||||||
|
"venture_description": t["bp_venture_description"],
|
||||||
|
"founder_profile": t["bp_founder_profile"],
|
||||||
|
# New table labels
|
||||||
|
"utilization": t["bp_lbl_utilization"],
|
||||||
|
"annual_ncf": t["bp_lbl_annual_ncf"],
|
||||||
|
"dscr": t["bp_lbl_dscr"],
|
||||||
|
"price_delta": t["bp_lbl_price_delta"],
|
||||||
|
"hourly_rate": t["bp_lbl_hourly_rate"],
|
||||||
|
"monthly_ncf": t["bp_lbl_monthly_ncf"],
|
||||||
|
"assets": t["bp_lbl_assets"],
|
||||||
|
"fixed_assets": t["bp_lbl_fixed_assets"],
|
||||||
|
"working_capital": t["bp_lbl_working_capital"],
|
||||||
|
"liabilities_equity": t["bp_lbl_liabilities_equity"],
|
||||||
|
"equity_ratio": t["bp_lbl_equity_ratio"],
|
||||||
|
"funded_by_loan": t["bp_lbl_funded_by_loan"],
|
||||||
|
"funded_by_equity": t["bp_lbl_funded_by_equity"],
|
||||||
|
"total": t["bp_lbl_total"],
|
||||||
|
"venues_per_100k": t["bp_lbl_venues_per_100k"],
|
||||||
|
"market_score": t["bp_lbl_market_score"],
|
||||||
|
"median_peak_rate": t["bp_lbl_median_peak_rate"],
|
||||||
|
"median_offpeak_rate": t["bp_lbl_median_offpeak_rate"],
|
||||||
|
"median_occupancy": t["bp_lbl_median_occupancy"],
|
||||||
|
"confidential": t["bp_lbl_confidential"],
|
||||||
|
"table_of_contents": t["bp_lbl_table_of_contents"],
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -246,9 +508,22 @@ async def generate_business_plan(scenario_id: int, user_id: int, language: str =
|
|||||||
|
|
||||||
state = validate_state(json.loads(scenario["state_json"]))
|
state = validate_state(json.loads(scenario["state_json"]))
|
||||||
d = calc(state)
|
d = calc(state)
|
||||||
sections = get_plan_sections(state, d, language)
|
|
||||||
|
# Load optional bp_details from scenario
|
||||||
|
bp_details = None
|
||||||
|
if scenario.get("bp_details_json"):
|
||||||
|
try:
|
||||||
|
bp_details = json.loads(scenario["bp_details_json"])
|
||||||
|
except (json.JSONDecodeError, TypeError):
|
||||||
|
bp_details = None
|
||||||
|
|
||||||
|
# Attempt to fetch market data from DuckDB
|
||||||
|
location = scenario.get("location", "") or ""
|
||||||
|
market_data = await _fetch_market_data(location, language)
|
||||||
|
|
||||||
|
sections = get_plan_sections(state, d, language, bp_details=bp_details, market_data=market_data)
|
||||||
sections["scenario_name"] = scenario["name"]
|
sections["scenario_name"] = scenario["name"]
|
||||||
sections["location"] = scenario.get("location", "")
|
sections["location"] = location
|
||||||
|
|
||||||
# Read HTML + CSS template
|
# Read HTML + CSS template
|
||||||
html_template = (TEMPLATE_DIR / "plan.html").read_text()
|
html_template = (TEMPLATE_DIR / "plan.html").read_text()
|
||||||
|
|||||||
@@ -4,12 +4,15 @@
|
|||||||
|
|
||||||
{% block head %}
|
{% block head %}
|
||||||
<meta name="description" content="{{ article.meta_description or '' }}">
|
<meta name="description" content="{{ article.meta_description or '' }}">
|
||||||
<meta property="og:title" content="{{ article.title }}">
|
|
||||||
<meta property="og:description" content="{{ article.meta_description or '' }}">
|
|
||||||
<meta property="og:type" content="article">
|
|
||||||
{% if article.og_image_url %}
|
{% if article.og_image_url %}
|
||||||
<meta property="og:image" content="{{ article.og_image_url }}">
|
<meta property="og:image" content="{{ article.og_image_url }}">
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
{% if article.seo_head %}
|
||||||
|
{{ article.seo_head | safe }}
|
||||||
|
{% else %}
|
||||||
|
<meta property="og:title" content="{{ article.title }}">
|
||||||
|
<meta property="og:description" content="{{ article.meta_description or '' }}">
|
||||||
|
<meta property="og:type" content="article">
|
||||||
<script type="application/ld+json">
|
<script type="application/ld+json">
|
||||||
{
|
{
|
||||||
"@context": "https://schema.org",
|
"@context": "https://schema.org",
|
||||||
@@ -18,20 +21,15 @@
|
|||||||
"description": {{ (article.meta_description or '') | tojson }},
|
"description": {{ (article.meta_description or '') | tojson }},
|
||||||
{% if article.og_image_url %}"image": {{ article.og_image_url | tojson }},{% endif %}
|
{% if article.og_image_url %}"image": {{ article.og_image_url | tojson }},{% endif %}
|
||||||
"datePublished": "{{ article.published_at[:10] if article.published_at else '' }}",
|
"datePublished": "{{ article.published_at[:10] if article.published_at else '' }}",
|
||||||
"author": {
|
"author": {"@type": "Organization", "name": "Padelnomics"},
|
||||||
"@type": "Organization",
|
|
||||||
"name": "Padelnomics"
|
|
||||||
},
|
|
||||||
"publisher": {
|
"publisher": {
|
||||||
"@type": "Organization",
|
"@type": "Organization",
|
||||||
"name": "Padelnomics",
|
"name": "Padelnomics",
|
||||||
"logo": {
|
"logo": {"@type": "ImageObject", "url": "{{ url_for('static', filename='images/logo.png', _external=True) }}"}
|
||||||
"@type": "ImageObject",
|
|
||||||
"url": "{{ url_for('static', filename='images/logo.png', _external=True) }}"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
{% endif %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
|
|||||||
@@ -1525,7 +1525,42 @@
|
|||||||
"bp_lbl_opex": "OPEX",
|
"bp_lbl_opex": "OPEX",
|
||||||
"bp_lbl_debt": "Schulden",
|
"bp_lbl_debt": "Schulden",
|
||||||
"bp_lbl_cumulative": "Kumulativ",
|
"bp_lbl_cumulative": "Kumulativ",
|
||||||
"bp_lbl_disclaimer": "<strong>Haftungsausschluss:</strong> Dieser Businessplan wurde auf Basis benutzerdefinierter Annahmen mit dem Padelnomics-Finanzmodell erstellt. Alle Prognosen sind Schätzungen und stellen keine Finanzberatung dar. Die tatsächlichen Ergebnisse können je nach Marktbedingungen, Umsetzung und anderen Faktoren erheblich abweichen. Konsultiere Finanzberater, bevor du Investitionsentscheidungen triffst. © Padelnomics — padelnomics.io",
|
|
||||||
|
"bp_lbl_disclaimer": "<strong>Haftungsausschluss:</strong> Dieser Businessplan wurde auf Basis benutzerdefinierter Annahmen mit dem Padelnomics-Finanzmodell erstellt. Alle Prognosen sind Sch\u00e4tzungen und stellen keine Finanzberatung dar. Die tats\u00e4chlichen Ergebnisse k\u00f6nnen je nach Marktbedingungen, Umsetzung und anderen Faktoren erheblich abweichen. Konsultiere Finanzberater, bevor du Investitionsentscheidungen triffst. \u00a9 Padelnomics \u2014 padelnomics.io",
|
||||||
|
|
||||||
|
"bp_sensitivity": "Sensitivit\u00e4tsanalyse",
|
||||||
|
"bp_sensitivity_util": "Auslastungssensitivit\u00e4t",
|
||||||
|
"bp_sensitivity_price": "Preissensitivit\u00e4t",
|
||||||
|
"bp_opening_balance": "Er\u00f6ffnungsbilanz",
|
||||||
|
"bp_use_of_funds": "Mittelverwendungsplan",
|
||||||
|
"bp_market_analysis": "Marktanalyse",
|
||||||
|
"bp_risk_analysis": "Risikoanalyse",
|
||||||
|
"bp_venture_description": "Vorhaben und Gesch\u00e4ftsmodell",
|
||||||
|
"bp_founder_profile": "Gr\u00fcnder- und Managementprofil",
|
||||||
|
|
||||||
|
"bp_lbl_utilization": "Auslastung",
|
||||||
|
"bp_lbl_annual_ncf": "J\u00e4hrl. Net CF",
|
||||||
|
"bp_lbl_dscr": "KDDB",
|
||||||
|
"bp_lbl_price_delta": "Preis\u00e4nderung",
|
||||||
|
"bp_lbl_hourly_rate": "Stundensatz",
|
||||||
|
"bp_lbl_monthly_ncf": "Monatl. Net CF",
|
||||||
|
"bp_lbl_assets": "Aktiva",
|
||||||
|
"bp_lbl_fixed_assets": "Anlagenverm\u00f6gen (Halle & Ausstattung)",
|
||||||
|
"bp_lbl_working_capital": "Umlaufverm\u00f6gen & R\u00fccklagen",
|
||||||
|
"bp_lbl_liabilities_equity": "Passiva",
|
||||||
|
"bp_lbl_equity_ratio": "Eigenkapitalquote",
|
||||||
|
"bp_lbl_funded_by_loan": "Fremdfinanziert",
|
||||||
|
"bp_lbl_funded_by_equity": "Eigenfinanziert",
|
||||||
|
"bp_lbl_total": "Gesamt",
|
||||||
|
"bp_lbl_venues_per_100k": "Anlagen je 100.000 Einwohner",
|
||||||
|
"bp_lbl_market_score": "Markt-Score",
|
||||||
|
"bp_lbl_median_peak_rate": "Median Hauptzeit-Preis",
|
||||||
|
"bp_lbl_median_offpeak_rate": "Median Nebenzeit-Preis",
|
||||||
|
"bp_lbl_median_occupancy": "Median-Auslastung",
|
||||||
|
"bp_lbl_confidential": "Vertraulich",
|
||||||
|
"bp_lbl_table_of_contents": "Inhaltsverzeichnis",
|
||||||
|
|
||||||
|
|
||||||
"email_magic_link_heading": "Bei {app_name} anmelden",
|
"email_magic_link_heading": "Bei {app_name} anmelden",
|
||||||
"email_magic_link_body": "Hier ist dein Anmeldelink. Er läuft in {expiry_minutes} Minuten ab.",
|
"email_magic_link_body": "Hier ist dein Anmeldelink. Er läuft in {expiry_minutes} Minuten ab.",
|
||||||
"email_magic_link_btn": "Anmelden →",
|
"email_magic_link_btn": "Anmelden →",
|
||||||
|
|||||||
@@ -1525,7 +1525,42 @@
|
|||||||
"bp_lbl_opex": "OPEX",
|
"bp_lbl_opex": "OPEX",
|
||||||
"bp_lbl_debt": "Debt",
|
"bp_lbl_debt": "Debt",
|
||||||
"bp_lbl_cumulative": "Cumulative",
|
"bp_lbl_cumulative": "Cumulative",
|
||||||
"bp_lbl_disclaimer": "<strong>Disclaimer:</strong> This business plan is generated from user-provided assumptions using the Padelnomics financial model. All projections are estimates and do not constitute financial advice. Actual results may vary significantly based on market conditions, execution, and other factors. Consult with financial advisors before making investment decisions. © Padelnomics — padelnomics.io",
|
|
||||||
|
"bp_lbl_disclaimer": "<strong>Disclaimer:</strong> This business plan is generated from user-provided assumptions using the Padelnomics financial model. All projections are estimates and do not constitute financial advice. Actual results may vary significantly based on market conditions, execution, and other factors. Consult with financial advisors before making investment decisions. \u00a9 Padelnomics \u2014 padelnomics.io",
|
||||||
|
|
||||||
|
"bp_sensitivity": "Sensitivity Analysis",
|
||||||
|
"bp_sensitivity_util": "Utilization Sensitivity",
|
||||||
|
"bp_sensitivity_price": "Price Sensitivity",
|
||||||
|
"bp_opening_balance": "Opening Balance Sheet",
|
||||||
|
"bp_use_of_funds": "Use of Funds",
|
||||||
|
"bp_market_analysis": "Market Analysis",
|
||||||
|
"bp_risk_analysis": "Risk Analysis",
|
||||||
|
"bp_venture_description": "Business Description",
|
||||||
|
"bp_founder_profile": "Founder / Management Profile",
|
||||||
|
|
||||||
|
"bp_lbl_utilization": "Utilization",
|
||||||
|
"bp_lbl_annual_ncf": "Annual Net CF",
|
||||||
|
"bp_lbl_dscr": "DSCR",
|
||||||
|
"bp_lbl_price_delta": "Price Change",
|
||||||
|
"bp_lbl_hourly_rate": "Hourly Rate",
|
||||||
|
"bp_lbl_monthly_ncf": "Monthly Net CF",
|
||||||
|
"bp_lbl_assets": "Assets",
|
||||||
|
"bp_lbl_fixed_assets": "Fixed Assets (Facility & Equipment)",
|
||||||
|
"bp_lbl_working_capital": "Working Capital & Reserves",
|
||||||
|
"bp_lbl_liabilities_equity": "Liabilities & Equity",
|
||||||
|
"bp_lbl_equity_ratio": "Equity Ratio",
|
||||||
|
"bp_lbl_funded_by_loan": "Funded by Loan",
|
||||||
|
"bp_lbl_funded_by_equity": "Funded by Equity",
|
||||||
|
"bp_lbl_total": "Total",
|
||||||
|
"bp_lbl_venues_per_100k": "Venues per 100K population",
|
||||||
|
"bp_lbl_market_score": "Market Score",
|
||||||
|
"bp_lbl_median_peak_rate": "Median Peak Rate",
|
||||||
|
"bp_lbl_median_offpeak_rate": "Median Off-Peak Rate",
|
||||||
|
"bp_lbl_median_occupancy": "Median Occupancy",
|
||||||
|
"bp_lbl_confidential": "Confidential",
|
||||||
|
"bp_lbl_table_of_contents": "Table of Contents",
|
||||||
|
|
||||||
|
|
||||||
"email_magic_link_heading": "Sign in to {app_name}",
|
"email_magic_link_heading": "Sign in to {app_name}",
|
||||||
"email_magic_link_body": "Here's your sign-in link. It expires in {expiry_minutes} minutes.",
|
"email_magic_link_body": "Here's your sign-in link. It expires in {expiry_minutes} minutes.",
|
||||||
"email_magic_link_btn": "Sign In →",
|
"email_magic_link_btn": "Sign In →",
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
"""Add bp_details_json column to scenarios table.
|
||||||
|
|
||||||
|
Stores business plan narrative details (founder profile, company name, legal
|
||||||
|
entity, facility description, etc.) collected via the pre-export form.
|
||||||
|
|
||||||
|
Used by generate_business_plan() to produce KfW Gründerkredit-ready PDFs with
|
||||||
|
all required narrative sections.
|
||||||
|
"""
|
||||||
|
|
||||||
|
|
||||||
|
def up(conn):
|
||||||
|
conn.execute(
|
||||||
|
"ALTER TABLE scenarios ADD COLUMN bp_details_json TEXT"
|
||||||
|
)
|
||||||
@@ -91,6 +91,78 @@ def form_to_state(form) -> dict:
|
|||||||
return data
|
return data
|
||||||
|
|
||||||
|
|
||||||
|
def compute_sensitivity(s: dict, d: dict) -> tuple[list[dict], list[dict]]:
|
||||||
|
"""Compute utilization and price sensitivity tables from state + calc result.
|
||||||
|
|
||||||
|
Returns (sens_rows, price_rows) — pure computation, no side effects.
|
||||||
|
Used by both the web planner (augment_d) and the PDF generator (get_plan_sections).
|
||||||
|
"""
|
||||||
|
is_in = s["venue"] == "indoor"
|
||||||
|
w_rate = d["weightedRate"]
|
||||||
|
rev_per_hr = (
|
||||||
|
w_rate * (1 - s["bookingFee"] / 100)
|
||||||
|
+ (s["racketRentalRate"] / 100) * s["racketQty"] * s["racketPrice"]
|
||||||
|
+ (s["ballRate"] / 100) * (s["ballPrice"] - s["ballCost"])
|
||||||
|
)
|
||||||
|
utils = [15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70]
|
||||||
|
ancillary_per_court = (
|
||||||
|
s["membershipRevPerCourt"]
|
||||||
|
+ s["fbRevPerCourt"]
|
||||||
|
+ s["coachingRevPerCourt"]
|
||||||
|
+ s["retailRevPerCourt"]
|
||||||
|
)
|
||||||
|
sens_rows = []
|
||||||
|
for u in utils:
|
||||||
|
booked = d["availHoursMonth"] * (u / 100)
|
||||||
|
rev = booked * rev_per_hr + d["totalCourts"] * ancillary_per_court * (
|
||||||
|
u / max(s["utilTarget"], 1)
|
||||||
|
)
|
||||||
|
ncf = rev - d["opex"] - d["monthlyPayment"]
|
||||||
|
annual = ncf * (12 if is_in else 6)
|
||||||
|
ebitda = rev - d["opex"]
|
||||||
|
dscr = (
|
||||||
|
(ebitda * (12 if is_in else 6)) / d["annualDebtService"]
|
||||||
|
if d["annualDebtService"] > 0
|
||||||
|
else 999
|
||||||
|
)
|
||||||
|
sens_rows.append(
|
||||||
|
{
|
||||||
|
"util": u,
|
||||||
|
"rev": round(rev),
|
||||||
|
"ncf": round(ncf),
|
||||||
|
"annual": round(annual),
|
||||||
|
"dscr": round(min(dscr, 99), 2),
|
||||||
|
"is_target": u == s["utilTarget"],
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
prices = [-20, -10, -5, 0, 5, 10, 15, 20]
|
||||||
|
price_rows = []
|
||||||
|
for delta in prices:
|
||||||
|
adj_rate = w_rate * (1 + delta / 100)
|
||||||
|
booked = d["bookedHoursMonth"]
|
||||||
|
rev = (
|
||||||
|
booked * adj_rate * (1 - s["bookingFee"] / 100)
|
||||||
|
+ booked
|
||||||
|
* (
|
||||||
|
(s["racketRentalRate"] / 100) * s["racketQty"] * s["racketPrice"]
|
||||||
|
+ (s["ballRate"] / 100) * (s["ballPrice"] - s["ballCost"])
|
||||||
|
)
|
||||||
|
+ d["totalCourts"] * ancillary_per_court
|
||||||
|
)
|
||||||
|
ncf = rev - d["opex"] - d["monthlyPayment"]
|
||||||
|
price_rows.append(
|
||||||
|
{
|
||||||
|
"delta": delta,
|
||||||
|
"adj_rate": round(adj_rate),
|
||||||
|
"rev": round(rev),
|
||||||
|
"ncf": round(ncf),
|
||||||
|
"is_base": delta == 0,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
return sens_rows, price_rows
|
||||||
|
|
||||||
|
|
||||||
def augment_d(d: dict, s: dict, lang: str) -> None:
|
def augment_d(d: dict, s: dict, lang: str) -> None:
|
||||||
"""Add display-only derived fields to calc result dict (mutates d in-place)."""
|
"""Add display-only derived fields to calc result dict (mutates d in-place)."""
|
||||||
t = get_translations(lang)
|
t = get_translations(lang)
|
||||||
@@ -351,70 +423,8 @@ def augment_d(d: dict, s: dict, lang: str) -> None:
|
|||||||
}
|
}
|
||||||
|
|
||||||
# Sensitivity tables (pre-computed for returns tab)
|
# Sensitivity tables (pre-computed for returns tab)
|
||||||
is_in = s["venue"] == "indoor"
|
sens_rows, price_rows = compute_sensitivity(s, d)
|
||||||
w_rate = d["weightedRate"]
|
|
||||||
rev_per_hr = (
|
|
||||||
w_rate * (1 - s["bookingFee"] / 100)
|
|
||||||
+ (s["racketRentalRate"] / 100) * s["racketQty"] * s["racketPrice"]
|
|
||||||
+ (s["ballRate"] / 100) * (s["ballPrice"] - s["ballCost"])
|
|
||||||
)
|
|
||||||
utils = [15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70]
|
|
||||||
ancillary_per_court = (
|
|
||||||
s["membershipRevPerCourt"]
|
|
||||||
+ s["fbRevPerCourt"]
|
|
||||||
+ s["coachingRevPerCourt"]
|
|
||||||
+ s["retailRevPerCourt"]
|
|
||||||
)
|
|
||||||
sens_rows = []
|
|
||||||
for u in utils:
|
|
||||||
booked = d["availHoursMonth"] * (u / 100)
|
|
||||||
rev = booked * rev_per_hr + d["totalCourts"] * ancillary_per_court * (
|
|
||||||
u / max(s["utilTarget"], 1)
|
|
||||||
)
|
|
||||||
ncf = rev - d["opex"] - d["monthlyPayment"]
|
|
||||||
annual = ncf * (12 if is_in else 6)
|
|
||||||
ebitda = rev - d["opex"]
|
|
||||||
dscr = (
|
|
||||||
(ebitda * (12 if is_in else 6)) / d["annualDebtService"]
|
|
||||||
if d["annualDebtService"] > 0
|
|
||||||
else 999
|
|
||||||
)
|
|
||||||
sens_rows.append(
|
|
||||||
{
|
|
||||||
"util": u,
|
|
||||||
"rev": round(rev),
|
|
||||||
"ncf": round(ncf),
|
|
||||||
"annual": round(annual),
|
|
||||||
"dscr": min(dscr, 99),
|
|
||||||
"is_target": u == s["utilTarget"],
|
|
||||||
}
|
|
||||||
)
|
|
||||||
d["sens_rows"] = sens_rows
|
d["sens_rows"] = sens_rows
|
||||||
|
|
||||||
prices = [-20, -10, -5, 0, 5, 10, 15, 20]
|
|
||||||
price_rows = []
|
|
||||||
for delta in prices:
|
|
||||||
adj_rate = w_rate * (1 + delta / 100)
|
|
||||||
booked = d["bookedHoursMonth"]
|
|
||||||
rev = (
|
|
||||||
booked * adj_rate * (1 - s["bookingFee"] / 100)
|
|
||||||
+ booked
|
|
||||||
* (
|
|
||||||
(s["racketRentalRate"] / 100) * s["racketQty"] * s["racketPrice"]
|
|
||||||
+ (s["ballRate"] / 100) * (s["ballPrice"] - s["ballCost"])
|
|
||||||
)
|
|
||||||
+ d["totalCourts"] * ancillary_per_court
|
|
||||||
)
|
|
||||||
ncf = rev - d["opex"] - d["monthlyPayment"]
|
|
||||||
price_rows.append(
|
|
||||||
{
|
|
||||||
"delta": delta,
|
|
||||||
"adj_rate": round(adj_rate),
|
|
||||||
"rev": round(rev),
|
|
||||||
"ncf": round(ncf),
|
|
||||||
"is_base": delta == 0,
|
|
||||||
}
|
|
||||||
)
|
|
||||||
d["price_rows"] = price_rows
|
d["price_rows"] = price_rows
|
||||||
|
|
||||||
|
|
||||||
@@ -617,6 +627,63 @@ async def export():
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@bp.route("/export/details", methods=["GET", "POST"])
|
||||||
|
@login_required
|
||||||
|
@csrf_protect
|
||||||
|
async def export_details():
|
||||||
|
"""Business plan details form — collect narrative fields before PDF export.
|
||||||
|
|
||||||
|
GET: shows the form pre-populated from the scenario's bp_details_json.
|
||||||
|
POST: saves bp_details_json to the scenario, redirects to /export/checkout.
|
||||||
|
"""
|
||||||
|
from quart import redirect, url_for
|
||||||
|
|
||||||
|
form = await request.form
|
||||||
|
scenario_id = request.args.get("scenario_id") or form.get("scenario_id")
|
||||||
|
language = request.args.get("language", "en") or form.get("language", "en")
|
||||||
|
|
||||||
|
if not scenario_id:
|
||||||
|
return redirect(url_for("planner.export"))
|
||||||
|
|
||||||
|
scenario = await fetch_one(
|
||||||
|
"SELECT id, name, bp_details_json FROM scenarios WHERE id = ? AND user_id = ? AND deleted_at IS NULL",
|
||||||
|
(int(scenario_id), g.user["id"]),
|
||||||
|
)
|
||||||
|
if not scenario:
|
||||||
|
return jsonify({"error": "Scenario not found."}), 404
|
||||||
|
|
||||||
|
if request.method == "POST":
|
||||||
|
_FIELDS = [
|
||||||
|
"company_name", "legal_entity", "founder_name", "founder_background",
|
||||||
|
"planned_location_address", "planned_opening_date", "facility_description",
|
||||||
|
"marketing_concept", "operations_concept", "staffing_plan",
|
||||||
|
]
|
||||||
|
details = {f: form.get(f, "").strip() for f in _FIELDS}
|
||||||
|
await execute(
|
||||||
|
"UPDATE scenarios SET bp_details_json = ?, updated_at = datetime('now') WHERE id = ? AND user_id = ?",
|
||||||
|
(json.dumps(details), int(scenario_id), g.user["id"]),
|
||||||
|
)
|
||||||
|
return redirect(
|
||||||
|
url_for("planner.export") + f"?scenario_id={scenario_id}&language={language}"
|
||||||
|
)
|
||||||
|
|
||||||
|
# GET — pre-populate from existing details
|
||||||
|
existing = {}
|
||||||
|
if scenario.get("bp_details_json"):
|
||||||
|
try:
|
||||||
|
existing = json.loads(scenario["bp_details_json"])
|
||||||
|
except (json.JSONDecodeError, TypeError):
|
||||||
|
existing = {}
|
||||||
|
|
||||||
|
return await render_template(
|
||||||
|
"export_details.html",
|
||||||
|
scenario=scenario,
|
||||||
|
scenario_id=scenario_id,
|
||||||
|
language=language,
|
||||||
|
details=existing,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
@bp.route("/export/checkout", methods=["POST"])
|
@bp.route("/export/checkout", methods=["POST"])
|
||||||
@login_required
|
@login_required
|
||||||
@csrf_protect
|
@csrf_protect
|
||||||
|
|||||||
171
web/src/padelnomics/planner/templates/export_details.html
Normal file
171
web/src/padelnomics/planner/templates/export_details.html
Normal file
@@ -0,0 +1,171 @@
|
|||||||
|
{% extends "base.html" %}
|
||||||
|
{% block title %}Business Plan Details — {{ config.APP_NAME }}{% endblock %}
|
||||||
|
|
||||||
|
{% block head %}
|
||||||
|
<style>
|
||||||
|
.bp-wrap { max-width: 680px; margin: 0 auto; padding: 3rem 0; }
|
||||||
|
.bp-hero { margin-bottom: 2rem; }
|
||||||
|
.bp-hero h1 { font-size: 1.5rem; margin-bottom: 0.375rem; }
|
||||||
|
.bp-hero p { color: #64748B; font-size: 0.9rem; line-height: 1.5; }
|
||||||
|
.bp-card { background: white; border: 1px solid #E2E8F0; border-radius: 14px; padding: 1.75rem; margin-bottom: 1.5rem; }
|
||||||
|
.bp-card h2 { font-size: 1rem; font-weight: 700; color: #1E293B; margin: 0 0 1.25rem; padding-bottom: 0.75rem; border-bottom: 1px solid #F1F5F9; }
|
||||||
|
.bp-card h2 span { font-size: 0.75rem; font-weight: 500; color: #94A3B8; margin-left: 8px; }
|
||||||
|
.bp-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
|
||||||
|
.bp-grid--1 { grid-template-columns: 1fr; }
|
||||||
|
.bp-field label { display: block; font-size: 0.8rem; font-weight: 600; color: #475569; margin-bottom: 4px; }
|
||||||
|
.bp-field label .opt { font-weight: 400; color: #94A3B8; font-size: 0.75rem; }
|
||||||
|
.bp-field input, .bp-field select, .bp-field textarea {
|
||||||
|
width: 100%; box-sizing: border-box; border: 1px solid #CBD5E1; border-radius: 8px;
|
||||||
|
padding: 0.5rem 0.75rem; font-size: 0.875rem; color: #1E293B;
|
||||||
|
background: #FAFAFA; outline: none; font-family: inherit;
|
||||||
|
}
|
||||||
|
.bp-field input:focus, .bp-field select:focus, .bp-field textarea:focus {
|
||||||
|
border-color: #1D4ED8; background: white; box-shadow: 0 0 0 3px rgba(29,78,216,0.1);
|
||||||
|
}
|
||||||
|
.bp-field textarea { resize: vertical; min-height: 80px; line-height: 1.5; }
|
||||||
|
.bp-hint { font-size: 0.75rem; color: #94A3B8; margin-top: 4px; }
|
||||||
|
.bp-skip { font-size: 0.8rem; color: #64748B; text-align: center; margin-top: 0.5rem; }
|
||||||
|
.bp-skip a { color: #1D4ED8; text-decoration: none; }
|
||||||
|
.bp-skip a:hover { text-decoration: underline; }
|
||||||
|
.bp-note { background: #EFF6FF; border: 1px solid #BFDBFE; border-radius: 8px; padding: 0.875rem 1rem; font-size: 0.8125rem; color: #1E3A8A; margin-bottom: 1.5rem; }
|
||||||
|
.bp-note strong { display: block; margin-bottom: 2px; }
|
||||||
|
</style>
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<main class="container-page">
|
||||||
|
<div class="bp-wrap">
|
||||||
|
|
||||||
|
<div class="bp-hero">
|
||||||
|
<h1>Business Plan Details</h1>
|
||||||
|
<p>
|
||||||
|
These details make your PDF ready for bank meetings and KfW applications.
|
||||||
|
All fields are optional — skip any section and the PDF uses auto-generated placeholders.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="bp-note">
|
||||||
|
<strong>Scenario: {{ scenario.name }}</strong>
|
||||||
|
Narrative details are saved to this scenario. You can update them anytime before generating a new PDF.
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<form method="POST" action="/planner/export/details">
|
||||||
|
<input type="hidden" name="_csrf_token" value="{{ csrf_token() }}">
|
||||||
|
<input type="hidden" name="scenario_id" value="{{ scenario_id }}">
|
||||||
|
<input type="hidden" name="language" value="{{ language }}">
|
||||||
|
|
||||||
|
<!-- Company & Legal -->
|
||||||
|
<div class="bp-card">
|
||||||
|
<h2>Company & Legal Entity <span>Cover page + throughout</span></h2>
|
||||||
|
<div class="bp-grid">
|
||||||
|
<div class="bp-field">
|
||||||
|
<label for="company_name">Company Name <span class="opt">(optional)</span></label>
|
||||||
|
<input type="text" id="company_name" name="company_name"
|
||||||
|
value="{{ details.get('company_name', '') }}"
|
||||||
|
placeholder="e.g. Padel Cologne GmbH">
|
||||||
|
</div>
|
||||||
|
<div class="bp-field">
|
||||||
|
<label for="legal_entity">Legal Entity <span class="opt">(optional)</span></label>
|
||||||
|
<select id="legal_entity" name="legal_entity">
|
||||||
|
{% set le = details.get('legal_entity', '') %}
|
||||||
|
<option value="" {% if not le %}selected{% endif %}>— Select —</option>
|
||||||
|
<option value="GmbH" {% if le == 'GmbH' %}selected{% endif %}>GmbH</option>
|
||||||
|
<option value="UG (haftungsbeschränkt)" {% if le == 'UG (haftungsbeschränkt)' %}selected{% endif %}>UG (haftungsbeschränkt)</option>
|
||||||
|
<option value="GmbH & Co. KG" {% if le == 'GmbH & Co. KG' %}selected{% endif %}>GmbH & Co. KG</option>
|
||||||
|
<option value="GbR" {% if le == 'GbR' %}selected{% endif %}>GbR</option>
|
||||||
|
<option value="Einzelunternehmen" {% if le == 'Einzelunternehmen' %}selected{% endif %}>Einzelunternehmen</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="bp-grid">
|
||||||
|
<div class="bp-field">
|
||||||
|
<label for="planned_location_address">Planned Location / Address <span class="opt">(optional)</span></label>
|
||||||
|
<input type="text" id="planned_location_address" name="planned_location_address"
|
||||||
|
value="{{ details.get('planned_location_address', '') }}"
|
||||||
|
placeholder="e.g. Gewerbepark Nord, Cologne">
|
||||||
|
</div>
|
||||||
|
<div class="bp-field">
|
||||||
|
<label for="planned_opening_date">Planned Opening Date <span class="opt">(optional)</span></label>
|
||||||
|
<input type="text" id="planned_opening_date" name="planned_opening_date"
|
||||||
|
value="{{ details.get('planned_opening_date', '') }}"
|
||||||
|
placeholder="e.g. Q3 2026">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Founder Profile -->
|
||||||
|
<div class="bp-card">
|
||||||
|
<h2>Founder / Management Profile <span>Gründerprofil — required by KfW</span></h2>
|
||||||
|
<div class="bp-grid">
|
||||||
|
<div class="bp-field">
|
||||||
|
<label for="founder_name">Founder Name(s) <span class="opt">(optional)</span></label>
|
||||||
|
<input type="text" id="founder_name" name="founder_name"
|
||||||
|
value="{{ details.get('founder_name', '') }}"
|
||||||
|
placeholder="e.g. Max Mustermann">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="bp-grid bp-grid--1">
|
||||||
|
<div class="bp-field">
|
||||||
|
<label for="founder_background">Background & Qualifications <span class="opt">(optional)</span></label>
|
||||||
|
<textarea id="founder_background" name="founder_background"
|
||||||
|
placeholder="Briefly describe relevant experience: sports management, hospitality, business background, relevant networks...">{{ details.get('founder_background', '') }}</textarea>
|
||||||
|
<p class="bp-hint">2–4 sentences. Banks want to see relevant experience or a credible team composition.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Business Description -->
|
||||||
|
<div class="bp-card">
|
||||||
|
<h2>Business Description <span>Vorhabensbeschreibung</span></h2>
|
||||||
|
<div class="bp-grid bp-grid--1">
|
||||||
|
<div class="bp-field">
|
||||||
|
<label for="facility_description">Facility Concept <span class="opt">(optional)</span></label>
|
||||||
|
<textarea id="facility_description" name="facility_description"
|
||||||
|
placeholder="Describe the concept: indoor/outdoor, number of courts, target customer segments, service level, opening hours, unique positioning...">{{ details.get('facility_description', '') }}</textarea>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Operations -->
|
||||||
|
<div class="bp-card">
|
||||||
|
<h2>Operations <span>Betriebskonzept + Personalplanung</span></h2>
|
||||||
|
<div class="bp-grid bp-grid--1">
|
||||||
|
<div class="bp-field">
|
||||||
|
<label for="operations_concept">Operations Concept <span class="opt">(optional)</span></label>
|
||||||
|
<textarea id="operations_concept" name="operations_concept"
|
||||||
|
placeholder="How will the facility be run day-to-day? Opening hours, booking system, court management, maintenance approach...">{{ details.get('operations_concept', '') }}</textarea>
|
||||||
|
</div>
|
||||||
|
<div class="bp-field">
|
||||||
|
<label for="staffing_plan">Staffing Plan <span class="opt">(optional)</span></label>
|
||||||
|
<textarea id="staffing_plan" name="staffing_plan"
|
||||||
|
placeholder="Planned headcount, roles, hiring timeline. e.g. 1 facility manager, 2 part-time reception, 1 coach...">{{ details.get('staffing_plan', '') }}</textarea>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Marketing -->
|
||||||
|
<div class="bp-card">
|
||||||
|
<h2>Marketing Concept <span>Marketingkonzept</span></h2>
|
||||||
|
<div class="bp-grid bp-grid--1">
|
||||||
|
<div class="bp-field">
|
||||||
|
<label for="marketing_concept">Marketing Approach <span class="opt">(optional)</span></label>
|
||||||
|
<textarea id="marketing_concept" name="marketing_concept"
|
||||||
|
placeholder="How will you attract and retain customers? Launch strategy, digital channels, club partnerships, corporate clients, loyalty programs...">{{ details.get('marketing_concept', '') }}</textarea>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div style="margin-top: 1rem;">
|
||||||
|
<button type="submit" class="btn-primary" style="width: 100%; padding: 0.875rem; font-size: 1rem; border-radius: 10px;">
|
||||||
|
Save & Continue to Export →
|
||||||
|
</button>
|
||||||
|
<p class="bp-skip">
|
||||||
|
<a href="/planner/export?scenario_id={{ scenario_id }}&language={{ language }}">Skip — generate PDF with auto-filled sections</a>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</form>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
{% endblock %}
|
||||||
@@ -1,105 +1,689 @@
|
|||||||
|
/* ============================================================
|
||||||
|
Padelnomics Business Plan PDF — Precision Finance Aesthetic
|
||||||
|
Rendered by WeasyPrint (A4, CSS3, no JavaScript)
|
||||||
|
============================================================ */
|
||||||
|
|
||||||
|
/* ---------- Design tokens ---------- */
|
||||||
|
:root {
|
||||||
|
--navy: #0F2651;
|
||||||
|
--navy-deep: #091a3a;
|
||||||
|
--gold: #C9922C;
|
||||||
|
--gold-lt: #EDD48A;
|
||||||
|
--text: #1C2333;
|
||||||
|
--muted: #5E6E8A;
|
||||||
|
--border: #DDE3EE;
|
||||||
|
--bg-light: #F6F8FC;
|
||||||
|
--white: #FFFFFF;
|
||||||
|
--green: #166534;
|
||||||
|
--green-bg: #DCFCE7;
|
||||||
|
--red: #991B1B;
|
||||||
|
--red-bg: #FEE2E2;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---------- Page setup ---------- */
|
||||||
@page {
|
@page {
|
||||||
size: A4;
|
size: A4;
|
||||||
margin: 20mm 18mm;
|
margin: 22mm 20mm 22mm 20mm;
|
||||||
|
|
||||||
|
@top-left {
|
||||||
|
content: string(doc-company);
|
||||||
|
font-family: 'Gill Sans', 'Trebuchet MS', Calibri, sans-serif;
|
||||||
|
font-size: 7.5pt;
|
||||||
|
color: var(--muted);
|
||||||
|
letter-spacing: 0.04em;
|
||||||
|
}
|
||||||
|
@top-right {
|
||||||
|
content: string(doc-confidential);
|
||||||
|
font-family: 'Gill Sans', 'Trebuchet MS', Calibri, sans-serif;
|
||||||
|
font-size: 7.5pt;
|
||||||
|
color: var(--muted);
|
||||||
|
font-style: italic;
|
||||||
|
letter-spacing: 0.04em;
|
||||||
|
}
|
||||||
@bottom-center {
|
@bottom-center {
|
||||||
content: "Page " counter(page) " of " counter(pages);
|
content: counter(page);
|
||||||
|
font-family: 'Gill Sans', 'Trebuchet MS', Calibri, sans-serif;
|
||||||
font-size: 8pt;
|
font-size: 8pt;
|
||||||
color: #94A3B8;
|
color: var(--muted);
|
||||||
|
}
|
||||||
|
@bottom-right {
|
||||||
|
content: "padelnomics.io";
|
||||||
|
font-family: 'Gill Sans', 'Trebuchet MS', Calibri, sans-serif;
|
||||||
|
font-size: 7pt;
|
||||||
|
color: var(--border);
|
||||||
|
letter-spacing: 0.05em;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
body {
|
/* Cover page: no running headers/footers, no margins */
|
||||||
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
@page cover {
|
||||||
font-size: 10pt;
|
size: A4;
|
||||||
line-height: 1.5;
|
margin: 0;
|
||||||
color: #1E293B;
|
@top-left { content: none; }
|
||||||
|
@top-right { content: none; }
|
||||||
|
@bottom-center { content: none; }
|
||||||
|
@bottom-right { content: none; }
|
||||||
|
}
|
||||||
|
|
||||||
|
/* TOC page: suppress page counter display */
|
||||||
|
@page toc {
|
||||||
|
@bottom-center { content: none; }
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---------- Named strings for headers ---------- */
|
||||||
|
.doc-company-anchor { string-set: doc-company content(); }
|
||||||
|
.doc-confidential-anchor { string-set: doc-confidential content(); }
|
||||||
|
|
||||||
|
/* ---------- Base typography ---------- */
|
||||||
|
body {
|
||||||
|
font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
|
||||||
|
font-size: 9.5pt;
|
||||||
|
line-height: 1.55;
|
||||||
|
color: var(--text);
|
||||||
|
background: var(--white);
|
||||||
}
|
}
|
||||||
|
|
||||||
h1 { font-size: 22pt; font-weight: 800; color: #0F172A; margin: 0 0 4pt; }
|
|
||||||
h2 { font-size: 14pt; font-weight: 700; color: #0F172A; margin: 24pt 0 8pt; page-break-after: avoid; }
|
|
||||||
h3 { font-size: 10pt; font-weight: 700; color: #64748B; text-transform: uppercase; letter-spacing: 0.06em; margin: 16pt 0 6pt; }
|
|
||||||
p { margin: 0 0 6pt; }
|
p { margin: 0 0 6pt; }
|
||||||
|
|
||||||
.subtitle { font-size: 12pt; color: #64748B; margin-bottom: 20pt; }
|
/* ---------- Cover page ---------- */
|
||||||
.meta { font-size: 8pt; color: #94A3B8; margin-bottom: 6pt; }
|
.cover {
|
||||||
|
page: cover;
|
||||||
/* Summary grid */
|
page-break-after: always;
|
||||||
.summary-grid {
|
width: 210mm;
|
||||||
|
height: 297mm;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-wrap: wrap;
|
box-sizing: border-box;
|
||||||
gap: 8pt;
|
position: relative;
|
||||||
margin: 10pt 0 16pt;
|
|
||||||
}
|
}
|
||||||
.summary-card {
|
|
||||||
flex: 1 1 140pt;
|
|
||||||
border: 0.5pt solid #E2E8F0;
|
|
||||||
border-radius: 6pt;
|
|
||||||
padding: 8pt 10pt;
|
|
||||||
background: #F8FAFC;
|
|
||||||
}
|
|
||||||
.summary-card .label { font-size: 7pt; color: #94A3B8; text-transform: uppercase; letter-spacing: 0.04em; }
|
|
||||||
.summary-card .value { font-size: 14pt; font-weight: 800; color: #1E293B; }
|
|
||||||
.summary-card .value--blue { color: #1D4ED8; }
|
|
||||||
|
|
||||||
/* Tables */
|
.cover__sidebar {
|
||||||
|
width: 68mm;
|
||||||
|
background: var(--navy);
|
||||||
|
flex-shrink: 0;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: space-between;
|
||||||
|
padding: 18mm 10mm 14mm 14mm;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cover__logo {
|
||||||
|
font-family: Georgia, 'Times New Roman', serif;
|
||||||
|
font-size: 17pt;
|
||||||
|
font-weight: 700;
|
||||||
|
color: var(--white);
|
||||||
|
letter-spacing: -0.02em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cover__logo-dot {
|
||||||
|
color: var(--gold);
|
||||||
|
}
|
||||||
|
|
||||||
|
.cover__tagline {
|
||||||
|
font-size: 7.5pt;
|
||||||
|
color: rgba(255,255,255,0.5);
|
||||||
|
text-transform: uppercase;
|
||||||
|
letter-spacing: 0.12em;
|
||||||
|
margin-top: 5pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cover__sidebar-footer {
|
||||||
|
font-size: 7pt;
|
||||||
|
color: rgba(255,255,255,0.4);
|
||||||
|
line-height: 1.6;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cover__sidebar-footer a {
|
||||||
|
color: var(--gold);
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cover__main {
|
||||||
|
flex: 1;
|
||||||
|
padding: 18mm 14mm 14mm 14mm;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cover__type-label {
|
||||||
|
font-size: 7.5pt;
|
||||||
|
font-weight: 700;
|
||||||
|
letter-spacing: 0.15em;
|
||||||
|
text-transform: uppercase;
|
||||||
|
color: var(--gold);
|
||||||
|
margin-bottom: 10pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cover__title {
|
||||||
|
font-family: Georgia, 'Times New Roman', serif;
|
||||||
|
font-size: 28pt;
|
||||||
|
font-weight: 700;
|
||||||
|
color: var(--navy);
|
||||||
|
line-height: 1.2;
|
||||||
|
margin: 0 0 16pt;
|
||||||
|
letter-spacing: -0.02em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cover__subtitle {
|
||||||
|
font-size: 11pt;
|
||||||
|
color: var(--muted);
|
||||||
|
margin-bottom: 4pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cover__scenario {
|
||||||
|
font-size: 9.5pt;
|
||||||
|
color: var(--text);
|
||||||
|
font-weight: 600;
|
||||||
|
margin-bottom: 2pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cover__divider {
|
||||||
|
width: 40pt;
|
||||||
|
height: 2.5pt;
|
||||||
|
background: var(--gold);
|
||||||
|
margin: 14pt 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cover__meta {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 1fr 1fr;
|
||||||
|
gap: 10pt 14pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cover__meta-item {}
|
||||||
|
.cover__meta-label {
|
||||||
|
font-size: 7pt;
|
||||||
|
text-transform: uppercase;
|
||||||
|
letter-spacing: 0.08em;
|
||||||
|
color: var(--muted);
|
||||||
|
margin-bottom: 2pt;
|
||||||
|
}
|
||||||
|
.cover__meta-value {
|
||||||
|
font-size: 9.5pt;
|
||||||
|
font-weight: 600;
|
||||||
|
color: var(--text);
|
||||||
|
}
|
||||||
|
|
||||||
|
.cover__footer-strip {
|
||||||
|
border-top: 1pt solid var(--border);
|
||||||
|
padding-top: 10pt;
|
||||||
|
font-size: 7.5pt;
|
||||||
|
color: var(--muted);
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---------- Table of Contents ---------- */
|
||||||
|
.toc-page {
|
||||||
|
page: toc;
|
||||||
|
page-break-after: always;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toc-heading {
|
||||||
|
font-family: Georgia, 'Times New Roman', serif;
|
||||||
|
font-size: 16pt;
|
||||||
|
font-weight: 700;
|
||||||
|
color: var(--navy);
|
||||||
|
margin: 0 0 20pt;
|
||||||
|
padding-bottom: 10pt;
|
||||||
|
border-bottom: 2pt solid var(--navy);
|
||||||
|
}
|
||||||
|
|
||||||
|
.toc-list {
|
||||||
|
list-style: none;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toc-item {
|
||||||
|
display: flex;
|
||||||
|
align-items: baseline;
|
||||||
|
gap: 0;
|
||||||
|
padding: 5pt 0;
|
||||||
|
border-bottom: 0.5pt dotted var(--border);
|
||||||
|
font-size: 9pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toc-item--heading {
|
||||||
|
font-weight: 700;
|
||||||
|
color: var(--text);
|
||||||
|
padding-top: 10pt;
|
||||||
|
border-bottom: none;
|
||||||
|
font-size: 9.5pt;
|
||||||
|
color: var(--navy);
|
||||||
|
padding-bottom: 3pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toc-num {
|
||||||
|
font-size: 8pt;
|
||||||
|
color: var(--gold);
|
||||||
|
font-weight: 700;
|
||||||
|
width: 22pt;
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toc-text {
|
||||||
|
flex: 1;
|
||||||
|
color: var(--text);
|
||||||
|
}
|
||||||
|
|
||||||
|
.toc-dots {
|
||||||
|
flex: 1;
|
||||||
|
border-bottom: 1pt dotted var(--border);
|
||||||
|
margin: 0 6pt 2pt;
|
||||||
|
min-width: 20pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toc-section-badge {
|
||||||
|
font-size: 7pt;
|
||||||
|
background: var(--bg-light);
|
||||||
|
color: var(--muted);
|
||||||
|
padding: 1pt 6pt;
|
||||||
|
border-radius: 3pt;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---------- Section headings ---------- */
|
||||||
|
h1 {
|
||||||
|
font-family: Georgia, 'Times New Roman', serif;
|
||||||
|
font-size: 20pt;
|
||||||
|
font-weight: 700;
|
||||||
|
color: var(--navy);
|
||||||
|
margin: 0 0 6pt;
|
||||||
|
letter-spacing: -0.02em;
|
||||||
|
}
|
||||||
|
|
||||||
|
h2 {
|
||||||
|
font-family: Georgia, 'Times New Roman', serif;
|
||||||
|
font-size: 13.5pt;
|
||||||
|
font-weight: 700;
|
||||||
|
color: var(--navy);
|
||||||
|
margin: 0 0 10pt;
|
||||||
|
padding: 8pt 0 8pt 12pt;
|
||||||
|
border-left: 3.5pt solid var(--gold);
|
||||||
|
page-break-after: avoid;
|
||||||
|
break-after: avoid;
|
||||||
|
}
|
||||||
|
|
||||||
|
h3 {
|
||||||
|
font-size: 8.5pt;
|
||||||
|
font-weight: 700;
|
||||||
|
color: var(--muted);
|
||||||
|
text-transform: uppercase;
|
||||||
|
letter-spacing: 0.08em;
|
||||||
|
margin: 14pt 0 5pt;
|
||||||
|
page-break-after: avoid;
|
||||||
|
}
|
||||||
|
|
||||||
|
.section {
|
||||||
|
margin-top: 22pt;
|
||||||
|
page-break-inside: avoid;
|
||||||
|
}
|
||||||
|
|
||||||
|
.section--break {
|
||||||
|
page-break-before: always;
|
||||||
|
break-before: page;
|
||||||
|
margin-top: 0;
|
||||||
|
padding-top: 6pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---------- Executive summary cards ---------- */
|
||||||
|
.exec-grid {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(3, 1fr);
|
||||||
|
gap: 8pt;
|
||||||
|
margin: 10pt 0 14pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
.exec-card {
|
||||||
|
border: 1pt solid var(--border);
|
||||||
|
border-top: 3pt solid var(--navy);
|
||||||
|
border-radius: 0 0 5pt 5pt;
|
||||||
|
padding: 10pt 10pt 8pt;
|
||||||
|
background: var(--bg-light);
|
||||||
|
page-break-inside: avoid;
|
||||||
|
}
|
||||||
|
|
||||||
|
.exec-card--accent {
|
||||||
|
border-top-color: var(--gold);
|
||||||
|
}
|
||||||
|
|
||||||
|
.exec-label {
|
||||||
|
font-size: 7pt;
|
||||||
|
text-transform: uppercase;
|
||||||
|
letter-spacing: 0.08em;
|
||||||
|
color: var(--muted);
|
||||||
|
margin-bottom: 4pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
.exec-value {
|
||||||
|
font-family: Georgia, 'Times New Roman', serif;
|
||||||
|
font-size: 16pt;
|
||||||
|
font-weight: 700;
|
||||||
|
color: var(--navy);
|
||||||
|
line-height: 1.1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.exec-value--gold { color: var(--gold); }
|
||||||
|
|
||||||
|
.exec-paragraph {
|
||||||
|
font-size: 9pt;
|
||||||
|
line-height: 1.6;
|
||||||
|
color: var(--text);
|
||||||
|
background: var(--bg-light);
|
||||||
|
border-left: 3pt solid var(--border);
|
||||||
|
padding: 8pt 10pt;
|
||||||
|
margin: 0 0 6pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---------- Narrative text blocks ---------- */
|
||||||
|
.narrative-block {
|
||||||
|
font-size: 9pt;
|
||||||
|
line-height: 1.65;
|
||||||
|
color: var(--text);
|
||||||
|
margin-bottom: 8pt;
|
||||||
|
white-space: pre-wrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.placeholder-block {
|
||||||
|
font-size: 8.5pt;
|
||||||
|
color: var(--muted);
|
||||||
|
font-style: italic;
|
||||||
|
background: var(--bg-light);
|
||||||
|
border: 1pt dashed var(--border);
|
||||||
|
border-radius: 4pt;
|
||||||
|
padding: 8pt 10pt;
|
||||||
|
margin-bottom: 8pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---------- Tables ---------- */
|
||||||
table {
|
table {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
border-collapse: collapse;
|
border-collapse: collapse;
|
||||||
margin: 6pt 0 16pt;
|
margin: 6pt 0 12pt;
|
||||||
font-size: 9pt;
|
font-size: 8.5pt;
|
||||||
|
page-break-inside: auto;
|
||||||
}
|
}
|
||||||
th {
|
|
||||||
background: #F1F5F9;
|
thead th {
|
||||||
|
background: var(--navy);
|
||||||
|
color: var(--white);
|
||||||
font-size: 7pt;
|
font-size: 7pt;
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
color: #64748B;
|
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
letter-spacing: 0.04em;
|
letter-spacing: 0.06em;
|
||||||
padding: 6pt 8pt;
|
padding: 5.5pt 8pt;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
border-bottom: 1pt solid #E2E8F0;
|
border: none;
|
||||||
}
|
}
|
||||||
td {
|
|
||||||
|
thead th:first-child { border-radius: 0; }
|
||||||
|
|
||||||
|
tbody tr:nth-child(even) { background: var(--bg-light); }
|
||||||
|
tbody tr:nth-child(odd) { background: var(--white); }
|
||||||
|
|
||||||
|
tbody td {
|
||||||
padding: 5pt 8pt;
|
padding: 5pt 8pt;
|
||||||
border-bottom: 0.5pt solid #F1F5F9;
|
border-bottom: 0.5pt solid var(--border);
|
||||||
|
color: var(--text);
|
||||||
|
vertical-align: top;
|
||||||
}
|
}
|
||||||
tr:last-child td { border-bottom: none; }
|
|
||||||
.total-row td { font-weight: 700; border-top: 1.5pt solid #E2E8F0; background: #F8FAFC; }
|
|
||||||
|
|
||||||
/* Metrics grid */
|
tbody tr:last-child td { border-bottom: none; }
|
||||||
|
|
||||||
|
.total-row td {
|
||||||
|
font-weight: 700;
|
||||||
|
color: var(--navy);
|
||||||
|
background: #E8EDF5 !important;
|
||||||
|
border-top: 1.5pt solid var(--navy);
|
||||||
|
border-bottom: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.highlight-row td {
|
||||||
|
background: #FEF9EE !important;
|
||||||
|
font-weight: 700;
|
||||||
|
color: var(--navy);
|
||||||
|
border-top: 1pt solid var(--gold);
|
||||||
|
border-bottom: 1pt solid var(--gold);
|
||||||
|
}
|
||||||
|
|
||||||
|
.positive-cell { color: var(--green); font-weight: 600; }
|
||||||
|
.negative-cell { color: var(--red); font-weight: 600; }
|
||||||
|
|
||||||
|
td.r, th.r { text-align: right; }
|
||||||
|
td.c, th.c { text-align: center; }
|
||||||
|
|
||||||
|
.note-cell {
|
||||||
|
font-size: 7.5pt;
|
||||||
|
color: var(--muted);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---------- Key metrics grid ---------- */
|
||||||
.metrics-grid {
|
.metrics-grid {
|
||||||
display: flex;
|
display: grid;
|
||||||
flex-wrap: wrap;
|
grid-template-columns: repeat(4, 1fr);
|
||||||
gap: 6pt;
|
gap: 6pt;
|
||||||
margin: 8pt 0;
|
margin: 8pt 0 12pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
.metric-box {
|
||||||
|
border: 1pt solid var(--border);
|
||||||
|
border-radius: 5pt;
|
||||||
|
padding: 8pt 8pt 6pt;
|
||||||
|
text-align: center;
|
||||||
|
background: var(--white);
|
||||||
|
page-break-inside: avoid;
|
||||||
|
}
|
||||||
|
|
||||||
|
.metric-label {
|
||||||
|
font-size: 6.5pt;
|
||||||
|
text-transform: uppercase;
|
||||||
|
letter-spacing: 0.07em;
|
||||||
|
color: var(--muted);
|
||||||
|
margin-bottom: 4pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
.metric-value {
|
||||||
|
font-family: Georgia, 'Times New Roman', serif;
|
||||||
|
font-size: 14pt;
|
||||||
|
font-weight: 700;
|
||||||
|
color: var(--navy);
|
||||||
|
line-height: 1.1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---------- Financing bar ---------- */
|
||||||
|
.fin-wrap {
|
||||||
|
margin: 8pt 0 12pt;
|
||||||
}
|
}
|
||||||
.metric-box {
|
|
||||||
flex: 1 1 90pt;
|
|
||||||
border: 0.5pt solid #E2E8F0;
|
|
||||||
border-radius: 4pt;
|
|
||||||
padding: 6pt 8pt;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
.metric-box .label { font-size: 7pt; color: #94A3B8; }
|
|
||||||
.metric-box .value { font-size: 12pt; font-weight: 700; color: #1E293B; }
|
|
||||||
|
|
||||||
/* Financing structure */
|
|
||||||
.fin-bar {
|
.fin-bar {
|
||||||
height: 12pt;
|
height: 14pt;
|
||||||
border-radius: 6pt;
|
border-radius: 4pt;
|
||||||
display: flex;
|
display: flex;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
margin: 6pt 0 10pt;
|
margin-bottom: 6pt;
|
||||||
}
|
}
|
||||||
.fin-bar__equity { background: #1D4ED8; }
|
|
||||||
.fin-bar__loan { background: #93C5FD; }
|
|
||||||
|
|
||||||
/* Footer */
|
.fin-bar__equity {
|
||||||
|
background: var(--navy);
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
padding: 0 6pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fin-bar__loan {
|
||||||
|
background: var(--gold);
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
padding: 0 6pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fin-bar__label {
|
||||||
|
font-size: 6.5pt;
|
||||||
|
font-weight: 700;
|
||||||
|
color: rgba(255,255,255,0.9);
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fin-legend {
|
||||||
|
display: flex;
|
||||||
|
gap: 14pt;
|
||||||
|
font-size: 8pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fin-legend-item {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 5pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fin-legend-dot {
|
||||||
|
width: 8pt;
|
||||||
|
height: 8pt;
|
||||||
|
border-radius: 2pt;
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---------- Balance sheet 2-column ---------- */
|
||||||
|
.balance-grid {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 1fr 1fr;
|
||||||
|
gap: 10pt;
|
||||||
|
margin: 6pt 0 12pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
.balance-side {
|
||||||
|
border: 1pt solid var(--border);
|
||||||
|
border-radius: 5pt;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.balance-side__header {
|
||||||
|
background: var(--navy);
|
||||||
|
color: var(--white);
|
||||||
|
font-size: 7pt;
|
||||||
|
font-weight: 700;
|
||||||
|
text-transform: uppercase;
|
||||||
|
letter-spacing: 0.07em;
|
||||||
|
padding: 5pt 8pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
.balance-side table {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.balance-side tbody td {
|
||||||
|
border-bottom: 0.5pt solid var(--border);
|
||||||
|
}
|
||||||
|
|
||||||
|
.balance-total td {
|
||||||
|
font-weight: 700;
|
||||||
|
color: var(--navy);
|
||||||
|
background: #E8EDF5 !important;
|
||||||
|
border-top: 1.5pt solid var(--navy) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---------- Charts ---------- */
|
||||||
|
.chart-wrap {
|
||||||
|
margin: 8pt 0 14pt;
|
||||||
|
text-align: center;
|
||||||
|
page-break-inside: avoid;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chart-wrap svg {
|
||||||
|
max-width: 100%;
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chart-caption {
|
||||||
|
font-size: 7.5pt;
|
||||||
|
color: var(--muted);
|
||||||
|
text-align: center;
|
||||||
|
margin-top: 3pt;
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---------- Market data callout ---------- */
|
||||||
|
.market-callout {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(3, 1fr);
|
||||||
|
gap: 8pt;
|
||||||
|
margin: 8pt 0 12pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
.market-stat {
|
||||||
|
background: var(--bg-light);
|
||||||
|
border: 1pt solid var(--border);
|
||||||
|
border-radius: 5pt;
|
||||||
|
padding: 8pt 10pt;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.market-stat-value {
|
||||||
|
font-family: Georgia, 'Times New Roman', serif;
|
||||||
|
font-size: 14pt;
|
||||||
|
font-weight: 700;
|
||||||
|
color: var(--navy);
|
||||||
|
}
|
||||||
|
|
||||||
|
.market-stat-label {
|
||||||
|
font-size: 7pt;
|
||||||
|
color: var(--muted);
|
||||||
|
text-transform: uppercase;
|
||||||
|
letter-spacing: 0.06em;
|
||||||
|
margin-top: 2pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---------- Risk register ---------- */
|
||||||
|
.risk-item {
|
||||||
|
display: flex;
|
||||||
|
gap: 8pt;
|
||||||
|
padding: 6pt 0;
|
||||||
|
border-bottom: 0.5pt solid var(--border);
|
||||||
|
font-size: 8.5pt;
|
||||||
|
page-break-inside: avoid;
|
||||||
|
}
|
||||||
|
|
||||||
|
.risk-badge {
|
||||||
|
font-size: 6.5pt;
|
||||||
|
font-weight: 700;
|
||||||
|
padding: 2pt 6pt;
|
||||||
|
border-radius: 3pt;
|
||||||
|
white-space: nowrap;
|
||||||
|
flex-shrink: 0;
|
||||||
|
align-self: flex-start;
|
||||||
|
margin-top: 1pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
.risk-badge--high { background: #FEE2E2; color: #991B1B; }
|
||||||
|
.risk-badge--medium { background: #FEF3C7; color: #92400E; }
|
||||||
|
.risk-badge--low { background: var(--green-bg); color: var(--green); }
|
||||||
|
|
||||||
|
.risk-text strong {
|
||||||
|
display: block;
|
||||||
|
color: var(--navy);
|
||||||
|
font-size: 8.5pt;
|
||||||
|
margin-bottom: 2pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---------- Two-column layout helper ---------- */
|
||||||
|
.two-col {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 1fr 1fr;
|
||||||
|
gap: 12pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---------- Disclaimer ---------- */
|
||||||
.disclaimer {
|
.disclaimer {
|
||||||
font-size: 7pt;
|
font-size: 7pt;
|
||||||
color: #94A3B8;
|
color: var(--muted);
|
||||||
margin-top: 30pt;
|
line-height: 1.5;
|
||||||
padding-top: 8pt;
|
padding-top: 10pt;
|
||||||
border-top: 0.5pt solid #E2E8F0;
|
border-top: 0.5pt solid var(--border);
|
||||||
line-height: 1.4;
|
margin-top: 20pt;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* ---------- Stat row (financing detail) ---------- */
|
||||||
|
.stat-table tbody tr:nth-child(even) { background: var(--bg-light); }
|
||||||
|
.stat-table tbody tr:nth-child(odd) { background: var(--white); }
|
||||||
|
|||||||
@@ -6,201 +6,668 @@
|
|||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
<!-- Cover -->
|
{# Named strings for running headers #}
|
||||||
<h1>{{ s.title }}</h1>
|
<span class="doc-company-anchor">{% if s.narrative.company_name %}{{ s.narrative.company_name }}{% else %}Padelnomics{% endif %}</span>
|
||||||
<div class="subtitle">{{ s.subtitle }}</div>
|
<span class="doc-confidential-anchor">{{ s.labels.confidential }}</span>
|
||||||
{% if s.scenario_name %}
|
|
||||||
<p class="meta">{{ s.labels.scenario }}: {{ s.scenario_name }}{% if s.location %} — {{ s.location }}{% endif %}</p>
|
|
||||||
{% endif %}
|
|
||||||
<p class="meta">{{ s.courts }}</p>
|
|
||||||
<p class="meta">{{ s.labels.generated_by }}</p>
|
|
||||||
|
|
||||||
<!-- Executive Summary -->
|
{# ============================================================ #}
|
||||||
<h2>{{ s.executive_summary.heading }}</h2>
|
{# COVER PAGE #}
|
||||||
<div class="summary-grid">
|
{# ============================================================ #}
|
||||||
<div class="summary-card">
|
<div class="cover">
|
||||||
<div class="label">{{ s.labels.total_investment }}</div>
|
<div class="cover__sidebar">
|
||||||
<div class="value">{{ s.executive_summary.total_capex }}</div>
|
<div>
|
||||||
|
<div class="cover__logo">Padel<span class="cover__logo-dot">.</span></div>
|
||||||
|
<div class="cover__tagline">Business Plan</div>
|
||||||
|
</div>
|
||||||
|
<div class="cover__sidebar-footer">
|
||||||
|
Generated by Padelnomics<br>
|
||||||
|
<a href="https://padelnomics.io">padelnomics.io</a>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="summary-card">
|
<div class="cover__main">
|
||||||
<div class="label">{{ s.labels.equity_required }}</div>
|
<div>
|
||||||
<div class="value">{{ s.executive_summary.equity }}</div>
|
<div class="cover__type-label">{{ s.labels.confidential }} — Business Plan</div>
|
||||||
</div>
|
<div class="cover__title">
|
||||||
<div class="summary-card">
|
{% if s.narrative.company_name %}{{ s.narrative.company_name }}{% else %}{{ s.scenario_name or s.title }}{% endif %}
|
||||||
<div class="label">{{ s.labels.year3_ebitda }}</div>
|
</div>
|
||||||
<div class="value">{{ s.executive_summary.y3_ebitda }}</div>
|
<div class="cover__subtitle">{{ s.subtitle }}</div>
|
||||||
</div>
|
{% if s.location %}<div class="cover__subtitle">{{ s.location }}</div>{% endif %}
|
||||||
<div class="summary-card">
|
<div class="cover__divider"></div>
|
||||||
<div class="label">{{ s.labels.irr }}</div>
|
<div class="cover__meta">
|
||||||
<div class="value value--blue">{{ s.executive_summary.irr }}</div>
|
<div class="cover__meta-item">
|
||||||
</div>
|
<div class="cover__meta-label">{{ s.labels.scenario }}</div>
|
||||||
<div class="summary-card">
|
<div class="cover__meta-value">{{ s.scenario_name or "—" }}</div>
|
||||||
<div class="label">{{ s.labels.payback_period }}</div>
|
</div>
|
||||||
<div class="value">{{ s.executive_summary.payback }}</div>
|
{% if s.narrative.legal_entity %}
|
||||||
</div>
|
<div class="cover__meta-item">
|
||||||
<div class="summary-card">
|
<div class="cover__meta-label">Rechtsform</div>
|
||||||
<div class="label">{{ s.labels.year1_revenue }}</div>
|
<div class="cover__meta-value">{{ s.narrative.legal_entity }}</div>
|
||||||
<div class="value">{{ s.executive_summary.y1_revenue }}</div>
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
{% if s.narrative.founder_name %}
|
||||||
|
<div class="cover__meta-item">
|
||||||
|
<div class="cover__meta-label">{{ s.labels.founder_profile }}</div>
|
||||||
|
<div class="cover__meta-value">{{ s.narrative.founder_name }}</div>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
{% if s.narrative.planned_opening_date %}
|
||||||
|
<div class="cover__meta-item">
|
||||||
|
<div class="cover__meta-label">Planned Opening</div>
|
||||||
|
<div class="cover__meta-value">{{ s.narrative.planned_opening_date }}</div>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
<div class="cover__meta-item">
|
||||||
|
<div class="cover__meta-label">Courts</div>
|
||||||
|
<div class="cover__meta-value">{{ s.courts }}</div>
|
||||||
|
</div>
|
||||||
|
<div class="cover__meta-item">
|
||||||
|
<div class="cover__meta-label">{{ s.labels.total_investment }}</div>
|
||||||
|
<div class="cover__meta-value">{{ s.executive_summary.total_capex }}</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="cover__footer-strip">
|
||||||
|
<span>{{ s.labels.generated_by }}</span>
|
||||||
|
<span>{{ s.labels.confidential }}</span>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<p>{{ s.labels.exec_paragraph }}</p>
|
{# ============================================================ #}
|
||||||
|
{# TABLE OF CONTENTS #}
|
||||||
<!-- Investment Plan (CAPEX) -->
|
{# ============================================================ #}
|
||||||
<h2>{{ s.investment.heading }}</h2>
|
<div class="toc-page">
|
||||||
<table>
|
<div class="toc-heading">{{ s.labels.table_of_contents }}</div>
|
||||||
<thead>
|
<ul class="toc-list">
|
||||||
<tr><th>{{ s.labels.item }}</th><th style="text-align:right">{{ s.labels.amount }}</th><th>{{ s.labels.notes }}</th></tr>
|
<li class="toc-item toc-item--heading"><span class="toc-num">1</span><span class="toc-text">{{ s.executive_summary.heading }}</span></li>
|
||||||
</thead>
|
{% if s.narrative.founder_background %}
|
||||||
<tbody>
|
<li class="toc-item"><span class="toc-num">2</span><span class="toc-text">{{ s.labels.founder_profile }}</span><span class="toc-dots"></span></li>
|
||||||
{% for item in s.investment['items'] %}
|
{% endif %}
|
||||||
<tr>
|
<li class="toc-item"><span class="toc-num">3</span><span class="toc-text">{{ s.labels.venture_description }}</span><span class="toc-dots"></span></li>
|
||||||
<td>{{ item.name }}</td>
|
{% if s.market_data %}
|
||||||
<td style="text-align:right">{{ item.formatted_amount }}</td>
|
<li class="toc-item"><span class="toc-num">4</span><span class="toc-text">{{ s.labels.market_analysis }}</span><span class="toc-dots"></span><span class="toc-section-badge">Data</span></li>
|
||||||
<td style="color:#94A3B8;font-size:8pt">{{ item.info }}</td>
|
{% endif %}
|
||||||
</tr>
|
<li class="toc-item"><span class="toc-num">5</span><span class="toc-text">{{ s.investment.heading }}</span><span class="toc-dots"></span></li>
|
||||||
{% endfor %}
|
<li class="toc-item"><span class="toc-num">6</span><span class="toc-text">{{ s.use_of_funds.heading }}</span><span class="toc-dots"></span></li>
|
||||||
<tr class="total-row">
|
<li class="toc-item"><span class="toc-num">7</span><span class="toc-text">{{ s.opening_balance.heading }}</span><span class="toc-dots"></span></li>
|
||||||
<td>{{ s.labels.total_capex }}</td>
|
<li class="toc-item"><span class="toc-num">8</span><span class="toc-text">{{ s.financing.heading }}</span><span class="toc-dots"></span></li>
|
||||||
<td style="text-align:right">{{ s.investment.total }}</td>
|
<li class="toc-item"><span class="toc-num">9</span><span class="toc-text">{{ s.operations.heading }}</span><span class="toc-dots"></span></li>
|
||||||
<td></td>
|
<li class="toc-item"><span class="toc-num">10</span><span class="toc-text">{{ s.revenue.heading }}</span><span class="toc-dots"></span></li>
|
||||||
</tr>
|
<li class="toc-item"><span class="toc-num">11</span><span class="toc-text">{{ s.annuals.heading }}</span><span class="toc-dots"></span></li>
|
||||||
</tbody>
|
<li class="toc-item"><span class="toc-num">12</span><span class="toc-text">{{ s.cashflow_12m.heading }}</span><span class="toc-dots"></span></li>
|
||||||
</table>
|
<li class="toc-item"><span class="toc-num">13</span><span class="toc-text">{{ s.metrics.heading }}</span><span class="toc-dots"></span></li>
|
||||||
<p style="font-size:9pt;color:#64748B">{{ s.labels.capex_stats }}</p>
|
<li class="toc-item"><span class="toc-num">14</span><span class="toc-text">{{ s.sensitivity.heading }}</span><span class="toc-dots"></span><span class="toc-section-badge">Bank</span></li>
|
||||||
|
{% if s.narrative.marketing_concept %}
|
||||||
<!-- Financing Structure -->
|
<li class="toc-item"><span class="toc-num">15</span><span class="toc-text">{{ s.labels.market_analysis }} / Marketing</span><span class="toc-dots"></span></li>
|
||||||
<h2>{{ s.financing.heading }}</h2>
|
{% endif %}
|
||||||
<div class="fin-bar">
|
<li class="toc-item"><span class="toc-num">16</span><span class="toc-text">{{ s.labels.risk_analysis }}</span><span class="toc-dots"></span></li>
|
||||||
<div class="fin-bar__equity" style="width:{{ (100 - (s.financing.loan_pct | replace('%','') | float)) }}%"></div>
|
</ul>
|
||||||
<div class="fin-bar__loan" style="width:{{ s.financing.loan_pct | replace('%','') }}%"></div>
|
|
||||||
</div>
|
</div>
|
||||||
<table>
|
|
||||||
<tbody>
|
|
||||||
<tr><td>{{ s.labels.equity }}</td><td style="text-align:right">{{ s.financing.equity }}</td></tr>
|
|
||||||
<tr><td>{{ s.labels.loan }} ({{ s.financing.loan_pct }})</td><td style="text-align:right">{{ s.financing.loan }}</td></tr>
|
|
||||||
<tr><td>{{ s.labels.interest_rate }}</td><td style="text-align:right">{{ s.financing.interest_rate }}</td></tr>
|
|
||||||
<tr><td>{{ s.labels.loan_term }}</td><td style="text-align:right">{{ s.financing.term }}</td></tr>
|
|
||||||
<tr><td>{{ s.labels.monthly_payment }}</td><td style="text-align:right">{{ s.financing.monthly_payment }}</td></tr>
|
|
||||||
<tr><td>{{ s.labels.annual_debt_service }}</td><td style="text-align:right">{{ s.financing.annual_debt_service }}</td></tr>
|
|
||||||
<tr><td>{{ s.labels.ltv }}</td><td style="text-align:right">{{ s.financing.ltv }}</td></tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
<!-- Operating Costs -->
|
{# ============================================================ #}
|
||||||
<h2>{{ s.operations.heading }}</h2>
|
{# 1. EXECUTIVE SUMMARY #}
|
||||||
<table>
|
{# ============================================================ #}
|
||||||
<thead>
|
<div class="section section--break">
|
||||||
<tr><th>{{ s.labels.item }}</th><th style="text-align:right">{{ s.labels.monthly }}</th><th>{{ s.labels.notes }}</th></tr>
|
<h2>1 {{ s.executive_summary.heading }}</h2>
|
||||||
</thead>
|
<div class="exec-grid">
|
||||||
<tbody>
|
<div class="exec-card">
|
||||||
{% for item in s.operations['items'] %}
|
<div class="exec-label">{{ s.labels.total_investment }}</div>
|
||||||
<tr>
|
<div class="exec-value">{{ s.executive_summary.total_capex }}</div>
|
||||||
<td>{{ item.name }}</td>
|
</div>
|
||||||
<td style="text-align:right">{{ item.formatted_amount }}</td>
|
<div class="exec-card">
|
||||||
<td style="color:#94A3B8;font-size:8pt">{{ item.info }}</td>
|
<div class="exec-label">{{ s.labels.equity_required }}</div>
|
||||||
</tr>
|
<div class="exec-value">{{ s.executive_summary.equity }}</div>
|
||||||
{% endfor %}
|
</div>
|
||||||
<tr class="total-row">
|
<div class="exec-card">
|
||||||
<td>{{ s.labels.total_monthly_opex }}</td>
|
<div class="exec-label">{{ s.labels.year1_revenue }}</div>
|
||||||
<td style="text-align:right">{{ s.operations.monthly_total }}</td>
|
<div class="exec-value">{{ s.executive_summary.y1_revenue }}</div>
|
||||||
<td></td>
|
</div>
|
||||||
</tr>
|
<div class="exec-card exec-card--accent">
|
||||||
</tbody>
|
<div class="exec-label">{{ s.labels.year3_ebitda }}</div>
|
||||||
</table>
|
<div class="exec-value exec-value--gold">{{ s.executive_summary.y3_ebitda }}</div>
|
||||||
<p style="font-size:9pt;color:#64748B">{{ s.labels.annual_opex }}: {{ s.operations.annual_total }}</p>
|
</div>
|
||||||
|
<div class="exec-card exec-card--accent">
|
||||||
|
<div class="exec-label">{{ s.labels.irr }}</div>
|
||||||
|
<div class="exec-value exec-value--gold">{{ s.executive_summary.irr }}</div>
|
||||||
|
</div>
|
||||||
|
<div class="exec-card">
|
||||||
|
<div class="exec-label">{{ s.labels.payback_period }}</div>
|
||||||
|
<div class="exec-value">{{ s.executive_summary.payback }}</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<p class="exec-paragraph">{{ s.labels.exec_paragraph }}</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
<!-- Revenue Model -->
|
{# ============================================================ #}
|
||||||
<h2>{{ s.revenue.heading }}</h2>
|
{# 2. FOUNDER / MANAGEMENT PROFILE #}
|
||||||
<table>
|
{# ============================================================ #}
|
||||||
<tbody>
|
<div class="section section--break">
|
||||||
<tr><td>{{ s.labels.weighted_hourly_rate }}</td><td style="text-align:right">{{ s.revenue.weighted_rate }}</td></tr>
|
<h2>2 {{ s.labels.founder_profile }}</h2>
|
||||||
<tr><td>{{ s.labels.target_utilization }}</td><td style="text-align:right">{{ s.revenue.utilization }}</td></tr>
|
{% if s.narrative.founder_name %}
|
||||||
<tr><td>{{ s.labels.gross_monthly_revenue }}</td><td style="text-align:right">{{ s.revenue.gross_monthly }}</td></tr>
|
<p style="font-weight: 700; color: var(--navy); margin-bottom: 6pt; font-size: 10pt;">{{ s.narrative.founder_name }}{% if s.narrative.legal_entity %} — {{ s.narrative.legal_entity }}{% endif %}</p>
|
||||||
<tr><td>{{ s.labels.net_monthly_revenue }}</td><td style="text-align:right">{{ s.revenue.net_monthly }}</td></tr>
|
{% endif %}
|
||||||
<tr><td>{{ s.labels.monthly_ebitda }}</td><td style="text-align:right">{{ s.revenue.ebitda_monthly }}</td></tr>
|
{% if s.narrative.founder_background %}
|
||||||
<tr><td>{{ s.labels.monthly_net_cf }}</td><td style="text-align:right">{{ s.revenue.net_cf_monthly }}</td></tr>
|
<p class="narrative-block">{{ s.narrative.founder_background }}</p>
|
||||||
</tbody>
|
{% else %}
|
||||||
</table>
|
<p class="placeholder-block">
|
||||||
|
[Gründerprofil: Beschreiben Sie hier Ihren beruflichen Hintergrund, relevante Erfahrungen im Sportbereich oder in der Gastronomie, unternehmerische Vorkenntnisse und Ihr persönliches Netzwerk. Banken möchten verstehen, warum Sie die richtige Person für dieses Vorhaben sind.]
|
||||||
|
</p>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
|
||||||
<!-- 5-Year Projection -->
|
{# ============================================================ #}
|
||||||
<h2>{{ s.annuals.heading }}</h2>
|
{# 3. BUSINESS DESCRIPTION / VENTURE #}
|
||||||
<table>
|
{# ============================================================ #}
|
||||||
<thead>
|
<div class="section">
|
||||||
<tr><th>{{ s.labels.year }}</th><th style="text-align:right">{{ s.labels.revenue }}</th><th style="text-align:right">{{ s.labels.ebitda }}</th><th style="text-align:right">{{ s.labels.debt_service }}</th><th style="text-align:right">{{ s.labels.net_cf }}</th></tr>
|
<h2>3 {{ s.labels.venture_description }}</h2>
|
||||||
</thead>
|
{% if s.narrative.facility_description %}
|
||||||
<tbody>
|
<p class="narrative-block">{{ s.narrative.facility_description }}</p>
|
||||||
{% for yr in s.annuals.years %}
|
{% else %}
|
||||||
<tr>
|
<p class="narrative-block">
|
||||||
<td>{{ s.labels.year }} {{ yr.year }}</td>
|
Das geplante Vorhaben ist eine {{ s.executive_summary.facility_type }}-Padelhalle mit
|
||||||
<td style="text-align:right">{{ yr.revenue }}</td>
|
{{ s.executive_summary.courts }} Courts auf einer Nutzfläche von ca. {{ s.executive_summary.sqm }} m².
|
||||||
<td style="text-align:right">{{ yr.ebitda }}</td>
|
Die Anlage richtet sich an Freizeitsportler, Unternehmenskunden und organisierte Vereinsspieler im lokalen Einzugsgebiet.
|
||||||
<td style="text-align:right">{{ yr.debt_service }}</td>
|
</p>
|
||||||
<td style="text-align:right">{{ yr.net_cf }}</td>
|
{% endif %}
|
||||||
</tr>
|
{% if s.narrative.planned_location_address %}
|
||||||
{% endfor %}
|
<p style="font-size: 8.5pt; color: var(--muted); margin-bottom: 8pt;">
|
||||||
</tbody>
|
<strong>Geplanter Standort:</strong> {{ s.narrative.planned_location_address }}
|
||||||
</table>
|
{% if s.narrative.planned_opening_date %} — Eröffnung: {{ s.narrative.planned_opening_date }}{% endif %}
|
||||||
|
</p>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
|
||||||
<!-- Key Metrics -->
|
{# ============================================================ #}
|
||||||
<h2>{{ s.metrics.heading }}</h2>
|
{# 4. MARKET ANALYSIS (auto from DuckDB when available) #}
|
||||||
<div class="metrics-grid">
|
{# ============================================================ #}
|
||||||
<div class="metric-box">
|
<div class="section">
|
||||||
<div class="label">{{ s.labels.irr }}</div>
|
<h2>4 {{ s.labels.market_analysis }}</h2>
|
||||||
<div class="value">{{ s.metrics.irr }}</div>
|
{% if s.market_data %}
|
||||||
|
<p style="font-size: 9pt; color: var(--text); margin-bottom: 10pt;">
|
||||||
|
<strong>{{ s.market_data.city_name }}{% if s.market_data.country %}, {{ s.market_data.country }}{% endif %}</strong>
|
||||||
|
—
|
||||||
|
Marktdaten aus dem Padelnomics Analytics-Datensatz (Playtomic-Buchungsdaten).
|
||||||
|
</p>
|
||||||
|
<div class="market-callout">
|
||||||
|
{% if s.market_data.padel_venue_count %}
|
||||||
|
<div class="market-stat">
|
||||||
|
<div class="market-stat-value">{{ s.market_data.padel_venue_count }}</div>
|
||||||
|
<div class="market-stat-label">Padel-Anlagen</div>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
{% if s.market_data.venues_per_100k %}
|
||||||
|
<div class="market-stat">
|
||||||
|
<div class="market-stat-value">{{ "%.1f"|format(s.market_data.venues_per_100k) }}</div>
|
||||||
|
<div class="market-stat-label">{{ s.labels.venues_per_100k }}</div>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
{% if s.market_data.median_occupancy_rate %}
|
||||||
|
<div class="market-stat">
|
||||||
|
<div class="market-stat-value">{{ "%.0f"|format(s.market_data.median_occupancy_rate * 100) }}%</div>
|
||||||
|
<div class="market-stat-label">{{ s.labels.median_occupancy }}</div>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
{% if s.market_data.median_peak_rate %}
|
||||||
|
<div class="market-stat">
|
||||||
|
<div class="market-stat-value">{{ s.labels.currency_sym }}{{ "%.0f"|format(s.market_data.median_peak_rate) }}</div>
|
||||||
|
<div class="market-stat-label">{{ s.labels.median_peak_rate }}</div>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
{% if s.market_data.median_offpeak_rate %}
|
||||||
|
<div class="market-stat">
|
||||||
|
<div class="market-stat-value">{{ s.labels.currency_sym }}{{ "%.0f"|format(s.market_data.median_offpeak_rate) }}</div>
|
||||||
|
<div class="market-stat-label">{{ s.labels.median_offpeak_rate }}</div>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
{% if s.market_data.market_score %}
|
||||||
|
<div class="market-stat">
|
||||||
|
<div class="market-stat-value">{{ "%.0f"|format(s.market_data.market_score) }}/100</div>
|
||||||
|
<div class="market-stat-label">{{ s.labels.market_score }}</div>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
<div class="metric-box">
|
{% else %}
|
||||||
<div class="label">{{ s.labels.moic }}</div>
|
<p class="placeholder-block">
|
||||||
<div class="value">{{ s.metrics.moic }}</div>
|
[Marktanalyse: Beschreiben Sie die Nachfragesituation im Einzugsgebiet: Anzahl aktiver Padelspieler, bestehende Anlagen und deren Auslastung, Wettbewerbsumfeld, demographische Zielgruppe. Sofern eine Playtomic-Auswertung für Ihren Standort vorliegt, fügen Sie die Daten hier ein.]
|
||||||
|
</p>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{# ============================================================ #}
|
||||||
|
{# 5. INVESTMENT PLAN (CAPEX) #}
|
||||||
|
{# ============================================================ #}
|
||||||
|
<div class="section section--break">
|
||||||
|
<h2>5 {{ s.investment.heading }}</h2>
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>{{ s.labels.item }}</th>
|
||||||
|
<th class="r">{{ s.labels.amount }}</th>
|
||||||
|
<th>{{ s.labels.notes }}</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
{% for item in s.investment['items'] %}
|
||||||
|
<tr>
|
||||||
|
<td>{{ item.name }}</td>
|
||||||
|
<td class="r">{{ item.formatted_amount }}</td>
|
||||||
|
<td class="note-cell">{{ item.info }}</td>
|
||||||
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
|
<tr class="total-row">
|
||||||
|
<td>{{ s.labels.total_capex }}</td>
|
||||||
|
<td class="r">{{ s.investment.total }}</td>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<p style="font-size: 8pt; color: var(--muted);">{{ s.labels.capex_stats }}</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{# ============================================================ #}
|
||||||
|
{# 6. USE OF FUNDS (Mittelverwendungsplan) #}
|
||||||
|
{# ============================================================ #}
|
||||||
|
<div class="section">
|
||||||
|
<h2>6 {{ s.use_of_funds.heading }}</h2>
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>{{ s.labels.item }}</th>
|
||||||
|
<th class="r">{{ s.labels.total }}</th>
|
||||||
|
<th class="r">{{ s.labels.funded_by_loan }}</th>
|
||||||
|
<th class="r">{{ s.labels.funded_by_equity }}</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
{% for row in s.use_of_funds.rows %}
|
||||||
|
<tr>
|
||||||
|
<td>{{ row.item }}</td>
|
||||||
|
<td class="r">{{ row.total }}</td>
|
||||||
|
<td class="r">{{ row.from_loan }}</td>
|
||||||
|
<td class="r">{{ row.from_equity }}</td>
|
||||||
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
|
<tr class="total-row">
|
||||||
|
<td>{{ s.labels.total }}</td>
|
||||||
|
<td class="r">{{ s.use_of_funds.total_capex }}</td>
|
||||||
|
<td class="r">{{ s.use_of_funds.total_loan }}</td>
|
||||||
|
<td class="r">{{ s.use_of_funds.total_equity }}</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{# ============================================================ #}
|
||||||
|
{# 7. OPENING BALANCE SHEET (Eröffnungsbilanz) #}
|
||||||
|
{# ============================================================ #}
|
||||||
|
<div class="section">
|
||||||
|
<h2>7 {{ s.opening_balance.heading }}</h2>
|
||||||
|
<div class="balance-grid">
|
||||||
|
<div class="balance-side">
|
||||||
|
<div class="balance-side__header">{{ s.labels.assets }}</div>
|
||||||
|
<table>
|
||||||
|
<tbody>
|
||||||
|
<tr><td>{{ s.labels.fixed_assets }}</td><td class="r">{{ s.opening_balance.fixed_assets }}</td></tr>
|
||||||
|
<tr><td>{{ s.labels.working_capital }}</td><td class="r">{{ s.opening_balance.working_capital }}</td></tr>
|
||||||
|
<tr class="balance-total">
|
||||||
|
<td>{{ s.labels.total }}</td>
|
||||||
|
<td class="r">{{ s.opening_balance.total_assets }}</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<div class="balance-side">
|
||||||
|
<div class="balance-side__header">{{ s.labels.liabilities_equity }}</div>
|
||||||
|
<table>
|
||||||
|
<tbody>
|
||||||
|
<tr><td>{{ s.labels.equity }}</td><td class="r">{{ s.opening_balance.equity }}</td></tr>
|
||||||
|
<tr><td>{{ s.labels.loan }}</td><td class="r">{{ s.opening_balance.loan }}</td></tr>
|
||||||
|
<tr class="balance-total">
|
||||||
|
<td>{{ s.labels.total }}</td>
|
||||||
|
<td class="r">{{ s.opening_balance.total_liabilities_equity }}</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="metric-box">
|
<p style="font-size: 8pt; color: var(--muted);">
|
||||||
<div class="label">{{ s.labels.cash_on_cash }}</div>
|
{{ s.labels.equity_ratio }}: <strong>{{ s.opening_balance.equity_ratio }}</strong>
|
||||||
<div class="value">{{ s.metrics.cash_on_cash }}</div>
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{# ============================================================ #}
|
||||||
|
{# 8. FINANCING STRUCTURE #}
|
||||||
|
{# ============================================================ #}
|
||||||
|
<div class="section section--break">
|
||||||
|
<h2>8 {{ s.financing.heading }}</h2>
|
||||||
|
<div class="fin-wrap">
|
||||||
|
<div class="fin-bar">
|
||||||
|
<div class="fin-bar__equity" style="width:{{ (100 - (s.financing.loan_pct | replace('%','') | float)) }}%">
|
||||||
|
<span class="fin-bar__label">{{ s.labels.equity }} {{ (100 - (s.financing.loan_pct | replace('%','') | float)) | round(0) | int }}%</span>
|
||||||
|
</div>
|
||||||
|
<div class="fin-bar__loan" style="width:{{ s.financing.loan_pct | replace('%','') }}%">
|
||||||
|
<span class="fin-bar__label">{{ s.labels.loan }} {{ s.financing.loan_pct }}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="fin-legend">
|
||||||
|
<div class="fin-legend-item">
|
||||||
|
<div class="fin-legend-dot" style="background: var(--navy);"></div>
|
||||||
|
<span>{{ s.labels.equity }}: {{ s.financing.equity }}</span>
|
||||||
|
</div>
|
||||||
|
<div class="fin-legend-item">
|
||||||
|
<div class="fin-legend-dot" style="background: var(--gold);"></div>
|
||||||
|
<span>{{ s.labels.loan }}: {{ s.financing.loan }}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="metric-box">
|
<table class="stat-table">
|
||||||
<div class="label">{{ s.labels.payback }}</div>
|
<tbody>
|
||||||
<div class="value">{{ s.metrics.payback }}</div>
|
<tr><td>{{ s.labels.equity }}</td><td class="r">{{ s.financing.equity }}</td></tr>
|
||||||
|
<tr><td>{{ s.labels.loan }} ({{ s.financing.loan_pct }})</td><td class="r">{{ s.financing.loan }}</td></tr>
|
||||||
|
<tr><td>{{ s.labels.interest_rate }}</td><td class="r">{{ s.financing.interest_rate }}</td></tr>
|
||||||
|
<tr><td>{{ s.labels.loan_term }}</td><td class="r">{{ s.financing.term }}</td></tr>
|
||||||
|
<tr><td>{{ s.labels.monthly_payment }}</td><td class="r">{{ s.financing.monthly_payment }}</td></tr>
|
||||||
|
<tr><td>{{ s.labels.annual_debt_service }}</td><td class="r">{{ s.financing.annual_debt_service }}</td></tr>
|
||||||
|
<tr><td>{{ s.labels.ltv }}</td><td class="r">{{ s.financing.ltv }}</td></tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{# ============================================================ #}
|
||||||
|
{# 9. OPERATING COSTS (OPEX) #}
|
||||||
|
{# ============================================================ #}
|
||||||
|
<div class="section">
|
||||||
|
<h2>9 {{ s.operations.heading }}</h2>
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>{{ s.labels.item }}</th>
|
||||||
|
<th class="r">{{ s.labels.monthly }}</th>
|
||||||
|
<th>{{ s.labels.notes }}</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
{% for item in s.operations['items'] %}
|
||||||
|
<tr>
|
||||||
|
<td>{{ item.name }}</td>
|
||||||
|
<td class="r">{{ item.formatted_amount }}</td>
|
||||||
|
<td class="note-cell">{{ item.info }}</td>
|
||||||
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
|
<tr class="total-row">
|
||||||
|
<td>{{ s.labels.total_monthly_opex }}</td>
|
||||||
|
<td class="r">{{ s.operations.monthly_total }}</td>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<p style="font-size: 8pt; color: var(--muted);">{{ s.labels.annual_opex }}: <strong>{{ s.operations.annual_total }}</strong></p>
|
||||||
|
{% if s.narrative.operations_concept %}
|
||||||
|
<h3>Betriebskonzept</h3>
|
||||||
|
<p class="narrative-block" style="font-size: 8.5pt;">{{ s.narrative.operations_concept }}</p>
|
||||||
|
{% endif %}
|
||||||
|
{% if s.narrative.staffing_plan %}
|
||||||
|
<h3>Personalplanung</h3>
|
||||||
|
<p class="narrative-block" style="font-size: 8.5pt;">{{ s.narrative.staffing_plan }}</p>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{# ============================================================ #}
|
||||||
|
{# 10. REVENUE MODEL #}
|
||||||
|
{# ============================================================ #}
|
||||||
|
<div class="section">
|
||||||
|
<h2>10 {{ s.revenue.heading }}</h2>
|
||||||
|
<table class="stat-table">
|
||||||
|
<tbody>
|
||||||
|
<tr><td>{{ s.labels.weighted_hourly_rate }}</td><td class="r">{{ s.revenue.weighted_rate }}</td></tr>
|
||||||
|
<tr><td>{{ s.labels.target_utilization }}</td><td class="r">{{ s.revenue.utilization }}</td></tr>
|
||||||
|
<tr><td>{{ s.labels.gross_monthly_revenue }}</td><td class="r">{{ s.revenue.gross_monthly }}</td></tr>
|
||||||
|
<tr><td>{{ s.labels.net_monthly_revenue }}</td><td class="r">{{ s.revenue.net_monthly }}</td></tr>
|
||||||
|
<tr><td>{{ s.labels.monthly_ebitda }}</td><td class="r">{{ s.revenue.ebitda_monthly }}</td></tr>
|
||||||
|
<tr><td>{{ s.labels.monthly_net_cf }}</td><td class="r">{{ s.revenue.net_cf_monthly }}</td></tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
{% if s.narrative.marketing_concept %}
|
||||||
|
<h3>Marketingkonzept</h3>
|
||||||
|
<p class="narrative-block" style="font-size: 8.5pt;">{{ s.narrative.marketing_concept }}</p>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{# ============================================================ #}
|
||||||
|
{# 11. 5-YEAR PROJECTION (P&L) + CHART #}
|
||||||
|
{# ============================================================ #}
|
||||||
|
<div class="section section--break">
|
||||||
|
<h2>11 {{ s.annuals.heading }}</h2>
|
||||||
|
{% if s.charts.pnl %}
|
||||||
|
<div class="chart-wrap">
|
||||||
|
{{ s.charts.pnl }}
|
||||||
|
<p class="chart-caption">Revenue, EBITDA and Net Cash Flow — 5-Year Projection</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="metric-box">
|
{% endif %}
|
||||||
<div class="label">{{ s.labels.break_even_util }}</div>
|
<table>
|
||||||
<div class="value">{{ s.metrics.break_even_util }}</div>
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>{{ s.labels.year }}</th>
|
||||||
|
<th class="r">{{ s.labels.revenue }}</th>
|
||||||
|
<th class="r">{{ s.labels.ebitda }}</th>
|
||||||
|
<th class="r">{{ s.labels.debt_service }}</th>
|
||||||
|
<th class="r">{{ s.labels.net_cf }}</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
{% for yr in s.annuals.years %}
|
||||||
|
<tr>
|
||||||
|
<td>{{ s.labels.year }} {{ yr.year }}</td>
|
||||||
|
<td class="r">{{ yr.revenue }}</td>
|
||||||
|
<td class="r positive-cell">{{ yr.ebitda }}</td>
|
||||||
|
<td class="r">{{ yr.debt_service }}</td>
|
||||||
|
<td class="r {% if yr.net_cf.startswith('-') %}negative-cell{% else %}positive-cell{% endif %}">{{ yr.net_cf }}</td>
|
||||||
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{# ============================================================ #}
|
||||||
|
{# 12. 12-MONTH CASH FLOW + CHART #}
|
||||||
|
{# ============================================================ #}
|
||||||
|
<div class="section section--break">
|
||||||
|
<h2>12 {{ s.cashflow_12m.heading }}</h2>
|
||||||
|
{% if s.charts.cashflow %}
|
||||||
|
<div class="chart-wrap">
|
||||||
|
{{ s.charts.cashflow }}
|
||||||
|
<p class="chart-caption">Monthly NCF and Cumulative Cash Position — Year 1</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="metric-box">
|
{% endif %}
|
||||||
<div class="label">{{ s.labels.ebitda_margin }}</div>
|
<table>
|
||||||
<div class="value">{{ s.metrics.ebitda_margin }}</div>
|
<thead>
|
||||||
</div>
|
<tr>
|
||||||
<div class="metric-box">
|
<th>{{ s.labels.month }}</th>
|
||||||
<div class="label">{{ s.labels.dscr_y3 }}</div>
|
<th class="r">{{ s.labels.revenue }}</th>
|
||||||
<div class="value">{{ s.metrics.dscr_y3 }}</div>
|
<th class="r">{{ s.labels.opex }}</th>
|
||||||
</div>
|
<th class="r">{{ s.labels.ebitda }}</th>
|
||||||
<div class="metric-box">
|
<th class="r">{{ s.labels.debt }}</th>
|
||||||
<div class="label">{{ s.labels.yield_on_cost }}</div>
|
<th class="r">{{ s.labels.net_cf }}</th>
|
||||||
<div class="value">{{ s.metrics.yield_on_cost }}</div>
|
<th class="r">{{ s.labels.cumulative }}</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
{% for m in s.cashflow_12m.months %}
|
||||||
|
<tr>
|
||||||
|
<td>{{ m.month }}</td>
|
||||||
|
<td class="r">{{ m.revenue }}</td>
|
||||||
|
<td class="r">{{ m.opex }}</td>
|
||||||
|
<td class="r">{{ m.ebitda }}</td>
|
||||||
|
<td class="r">{{ m.debt }}</td>
|
||||||
|
<td class="r {% if m.ncf.startswith('-') %}negative-cell{% else %}positive-cell{% endif %}">{{ m.ncf }}</td>
|
||||||
|
<td class="r {% if m.cumulative.startswith('-') %}negative-cell{% else %}positive-cell{% endif %}">{{ m.cumulative }}</td>
|
||||||
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{# ============================================================ #}
|
||||||
|
{# 13. KEY METRICS #}
|
||||||
|
{# ============================================================ #}
|
||||||
|
<div class="section">
|
||||||
|
<h2>13 {{ s.metrics.heading }}</h2>
|
||||||
|
<div class="metrics-grid">
|
||||||
|
<div class="metric-box">
|
||||||
|
<div class="metric-label">{{ s.labels.irr }}</div>
|
||||||
|
<div class="metric-value" style="color: var(--gold);">{{ s.metrics.irr }}</div>
|
||||||
|
</div>
|
||||||
|
<div class="metric-box">
|
||||||
|
<div class="metric-label">{{ s.labels.moic }}</div>
|
||||||
|
<div class="metric-value">{{ s.metrics.moic }}</div>
|
||||||
|
</div>
|
||||||
|
<div class="metric-box">
|
||||||
|
<div class="metric-label">{{ s.labels.cash_on_cash }}</div>
|
||||||
|
<div class="metric-value">{{ s.metrics.cash_on_cash }}</div>
|
||||||
|
</div>
|
||||||
|
<div class="metric-box">
|
||||||
|
<div class="metric-label">{{ s.labels.payback }}</div>
|
||||||
|
<div class="metric-value">{{ s.metrics.payback }}</div>
|
||||||
|
</div>
|
||||||
|
<div class="metric-box">
|
||||||
|
<div class="metric-label">{{ s.labels.break_even_util }}</div>
|
||||||
|
<div class="metric-value">{{ s.metrics.break_even_util }}</div>
|
||||||
|
</div>
|
||||||
|
<div class="metric-box">
|
||||||
|
<div class="metric-label">{{ s.labels.ebitda_margin }}</div>
|
||||||
|
<div class="metric-value">{{ s.metrics.ebitda_margin }}</div>
|
||||||
|
</div>
|
||||||
|
<div class="metric-box">
|
||||||
|
<div class="metric-label">{{ s.labels.dscr_y3 }}</div>
|
||||||
|
<div class="metric-value" style="color: var(--green);">{{ s.metrics.dscr_y3 }}</div>
|
||||||
|
</div>
|
||||||
|
<div class="metric-box">
|
||||||
|
<div class="metric-label">{{ s.labels.yield_on_cost }}</div>
|
||||||
|
<div class="metric-value">{{ s.metrics.yield_on_cost }}</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 12-Month Cash Flow -->
|
{# ============================================================ #}
|
||||||
<h2>{{ s.cashflow_12m.heading }}</h2>
|
{# 14. SENSITIVITY ANALYSIS #}
|
||||||
<table>
|
{# ============================================================ #}
|
||||||
<thead>
|
<div class="section section--break">
|
||||||
<tr><th>{{ s.labels.month }}</th><th style="text-align:right">{{ s.labels.revenue }}</th><th style="text-align:right">{{ s.labels.opex }}</th><th style="text-align:right">{{ s.labels.ebitda }}</th><th style="text-align:right">{{ s.labels.debt }}</th><th style="text-align:right">{{ s.labels.net_cf }}</th><th style="text-align:right">{{ s.labels.cumulative }}</th></tr>
|
<h2>14 {{ s.sensitivity.heading }}</h2>
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
{% for m in s.cashflow_12m.months %}
|
|
||||||
<tr>
|
|
||||||
<td>{{ m.month }}</td>
|
|
||||||
<td style="text-align:right">{{ m.revenue }}</td>
|
|
||||||
<td style="text-align:right">{{ m.opex }}</td>
|
|
||||||
<td style="text-align:right">{{ m.ebitda }}</td>
|
|
||||||
<td style="text-align:right">{{ m.debt }}</td>
|
|
||||||
<td style="text-align:right">{{ m.ncf }}</td>
|
|
||||||
<td style="text-align:right">{{ m.cumulative }}</td>
|
|
||||||
</tr>
|
|
||||||
{% endfor %}
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
<!-- Disclaimer -->
|
<h3>{{ s.sensitivity.util_heading }}</h3>
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>{{ s.labels.utilization }}</th>
|
||||||
|
<th class="r">{{ s.labels.revenue }}</th>
|
||||||
|
<th class="r">{{ s.labels.monthly_ncf }}</th>
|
||||||
|
<th class="r">{{ s.labels.annual_ncf }}</th>
|
||||||
|
<th class="r">{{ s.labels.dscr }}</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
{% for row in s.sensitivity.sens_rows %}
|
||||||
|
<tr {% if row.is_target %}class="highlight-row"{% endif %}>
|
||||||
|
<td>{{ row.util }}%{% if row.is_target %} ★{% endif %}</td>
|
||||||
|
<td class="r">{{ row.rev_fmt }}</td>
|
||||||
|
<td class="r {% if row.ncf < 0 %}negative-cell{% endif %}">{{ row.ncf_fmt }}</td>
|
||||||
|
<td class="r {% if row.annual < 0 %}negative-cell{% endif %}">{{ row.annual_fmt }}</td>
|
||||||
|
<td class="r {% if row.dscr < 1.2 %}negative-cell{% elif row.dscr > 1.5 %}positive-cell{% endif %}">{{ row.dscr_fmt }}</td>
|
||||||
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<p style="font-size: 7.5pt; color: var(--muted);">★ = target utilization | DSCR threshold: 1.20× (bank covenant)</p>
|
||||||
|
|
||||||
|
<h3>{{ s.sensitivity.price_heading }}</h3>
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>{{ s.labels.price_delta }}</th>
|
||||||
|
<th class="r">{{ s.labels.hourly_rate }}</th>
|
||||||
|
<th class="r">{{ s.labels.revenue }}</th>
|
||||||
|
<th class="r">{{ s.labels.monthly_ncf }}</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
{% for row in s.sensitivity.price_rows %}
|
||||||
|
<tr {% if row.is_base %}class="highlight-row"{% endif %}>
|
||||||
|
<td>{% if row.delta > 0 %}+{% endif %}{{ row.delta }}%{% if row.is_base %} (base){% endif %}</td>
|
||||||
|
<td class="r">{{ row.adj_rate_fmt }}</td>
|
||||||
|
<td class="r">{{ row.rev_fmt }}</td>
|
||||||
|
<td class="r {% if row.ncf < 0 %}negative-cell{% endif %}">{{ row.ncf_fmt }}</td>
|
||||||
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{# ============================================================ #}
|
||||||
|
{# 15. RISK ANALYSIS #}
|
||||||
|
{# ============================================================ #}
|
||||||
|
<div class="section section--break">
|
||||||
|
<h2>15 {{ s.labels.risk_analysis }}</h2>
|
||||||
|
|
||||||
|
<div class="risk-item">
|
||||||
|
<span class="risk-badge risk-badge--high">Hoch</span>
|
||||||
|
<div class="risk-text">
|
||||||
|
<strong>Anlaufphase / Cashflow-Risiko</strong>
|
||||||
|
Die ersten 6–12 Betriebsmonate laufen unter Zielbetrieb. Entschärfung: Betriebsmittelreserve eingeplant, tilgungsfreie Anlaufjahre in der Finanzierung, konservative Anlaufkurve im Modell abgebildet.
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="risk-item">
|
||||||
|
<span class="risk-badge risk-badge--high">Hoch</span>
|
||||||
|
<div class="risk-text">
|
||||||
|
<strong>Baukostenüberschreitung</strong>
|
||||||
|
Umbau- und Haustechnikkosten können bei Bestandshallen erheblich abweichen. Entschärfung: 10–15 % Puffer im CAPEX-Plan, Festpreisverträge mit Generalunternehmer.
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="risk-item">
|
||||||
|
<span class="risk-badge risk-badge--medium">Mittel</span>
|
||||||
|
<div class="risk-text">
|
||||||
|
<strong>Wettbewerbsrisiko / Angebotsübersättigung</strong>
|
||||||
|
Schnell wachsender Markt mit erhöhter Neueröffnungsaktivität. Entschärfung: Standortwahl in unterversorgtem Marktgebiet, differenziertes Serviceangebot.
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="risk-item">
|
||||||
|
<span class="risk-badge risk-badge--medium">Mittel</span>
|
||||||
|
<div class="risk-text">
|
||||||
|
<strong>Zinsänderungsrisiko</strong>
|
||||||
|
Steigende Zinsen erhöhen den Kapitaldienst bei variabel verzinsten Darlehen. Entschärfung: Festzins-Option prüfen; Sensitivitätsanalyse zeigt Tragfähigkeit bis +150 Bp.
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="risk-item">
|
||||||
|
<span class="risk-badge risk-badge--medium">Mittel</span>
|
||||||
|
<div class="risk-text">
|
||||||
|
<strong>Schlüsselpersonenrisiko</strong>
|
||||||
|
Ausfall des Gründers / Hallenleiters würde Betrieb kurzfristig belasten. Entschärfung: frühzeitige Einbindung eines erfahrenen Betriebsleiters, Kranken-/Unfallversicherung.
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="risk-item">
|
||||||
|
<span class="risk-badge risk-badge--low">Niedrig</span>
|
||||||
|
<div class="risk-text">
|
||||||
|
<strong>Markttrend-Risiko</strong>
|
||||||
|
Padel ist ein wachsendes Segment, aber kein strukturell gesicherter Markt. Entschärfung: Break-even bei {{ s.metrics.break_even_util }} Auslastung — weit unter typischer Marktauslastung; flexible Hallenkonzeption.
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="risk-item">
|
||||||
|
<span class="risk-badge risk-badge--low">Niedrig</span>
|
||||||
|
<div class="risk-text">
|
||||||
|
<strong>Regulatorische Risiken</strong>
|
||||||
|
Baugenehmigung, Nutzungsänderung, Lärmschutzauflagen. Entschärfung: Vorab-Gespräch mit Bauordnungsamt, Lärmschutzgutachten bereits in Planung.
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{# ============================================================ #}
|
||||||
|
{# DISCLAIMER #}
|
||||||
|
{# ============================================================ #}
|
||||||
<div class="disclaimer">
|
<div class="disclaimer">
|
||||||
{{ s.labels.disclaimer }}
|
{{ s.labels.disclaimer }}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user