From 347f3d1655973ffe4605bb83c7e5e926fd685f5d Mon Sep 17 00:00:00 2001 From: Tobias Brunner Date: Thu, 24 Jul 2025 09:45:46 +0200 Subject: [PATCH] update help text with market analysis and resources - protect with password --- .../calculator/roi_calculator_help.html | 229 ++++++++++++++++++ hub/services/views/calculator.py | 44 +++- 2 files changed, 270 insertions(+), 3 deletions(-) diff --git a/hub/services/templates/calculator/roi_calculator_help.html b/hub/services/templates/calculator/roi_calculator_help.html index 82501aa..2b796ac 100644 --- a/hub/services/templates/calculator/roi_calculator_help.html +++ b/hub/services/templates/calculator/roi_calculator_help.html @@ -421,6 +421,235 @@ html { + +
+

Market Analysis & ROI Validation

+ +
+
Market-Validated Projections
+

Our ROI calculator uses data-driven projections based on comprehensive European managed services market research. All growth scenarios and return expectations are benchmarked against industry standards and competitive analysis.

+
+ +

European Managed Services Market Reality

+ +
+
+
Market Size & Growth
+
    +
  • Market Value: €51-85 billion in 2024
  • +
  • Projected Growth: €113-255 billion by 2030-2033
  • +
  • CAGR: 13-15% annually (matches Servala's assumptions)
  • +
  • SME Growth: 10.6% CAGR (fastest growing segment)
  • +
+
+
+
Cloud Adoption Trends
+
    +
  • EU Enterprise Adoption: 45% use cloud services in 2023
  • +
  • Multi-Cloud Strategy: 92% of organizations use multiple providers
  • +
  • Self-Service Growth: Strong demand for automated provisioning
  • +
  • Swiss Leadership: 95% have adopted some cloud services
  • +
+
+
+ +

Competitive Landscape Analysis

+ +
+
European Provider Challenge
+

European cloud providers' market share declined from 27% to 13% over the past five years as US hyperscalers (AWS, Azure, GCP) now control 72% of the regional market. Source: Telecoms.com

+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Market FactorCurrent RealityServala OpportunitySource
Hyperscaler DominanceAWS (31%), Azure (25%), GCP (11%)European alternative with data sovereigntyHolori 2024
Data SovereigntyGDPR, NIS2 compliance requirementsBuilt-in European regulatory complianceTNW Analysis
Vendor Lock-in ConcernsGrowing enterprise resistanceOpen-source, multi-cloud architectureComputer Weekly
Regional Provider DeclineMarket share falling despite 167% revenue growthPlatform to help regain competitivenessTelecoms.com
+
+ +

ROI Projections: Market Benchmarking

+ +
+
+
Growth Scenario Validation
+
+
+
Conservative Scenario
+

15-40 instances/month

+
    +
  • 5-8 new clients/month × 3-5 instances each
  • +
  • Aligns with EU enterprise cloud adoption (45%)
  • +
  • Conservative vs. Servala's current 65+ instances/customer
  • +
+
+
+ +
+
+
Aggressive Scenario
+

40-150 instances/month

+
    +
  • 12-25 new clients/month × 3-6 instances each
  • +
  • Leverages self-service signup trends
  • +
  • Supported by 92% multi-cloud adoption rate
  • +
+
+
+
+
+
Return Expectations
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Investment LevelServala ROIMarket BenchmarkAssessment
500K (3 years)40-60%SaaS CAC: $1.18-1.50/ARRRealistic
1M (3 years)60-80%Managed services: 13-15% CAGRConservative
2M (3 years)80-100%High-growth SaaS: 50-100%Ambitious
+
+ +
+
SaaS Benchmarks
+

Industry CAC ranges $400-$5,000 per customer (low to high-touch). Servala's self-service model targets the lower end while premium revenue per instance supports healthy unit economics. Source: ChurnFree

+
+
+
+ +

Market Timing & Strategic Positioning

+ +
+
+
+
+
Regulatory Tailwinds
+
+
+
    +
  • GDPR Compliance: European data residency requirements
  • +
  • NIS2 Directive: Enhanced cybersecurity mandates
  • +
  • Digital Sovereignty: Growing political support for European solutions
  • +
+
+
+
+
+
+
+
Market Dynamics
+
+
+
    +
  • Self-Service Demand: Growing preference for automated provisioning
  • +
  • Multi-Cloud Strategy: 92% of enterprises avoid single vendor
  • +
  • SME Growth: Fastest segment at 10.6% CAGR
  • +
+
+
+
+
+
+
+
Competitive Advantage
+
+
+
    +
  • Open Source: No vendor lock-in vs. proprietary platforms
  • +
  • European Focus: Built for EU regulatory environment
  • +
  • Proven Traction: 2,000+ instances, 30+ customers
  • +
+
+
+
+
+ +
+
Market Validation Summary
+

Our market analysis confirms that Servala's ROI projections are conservative and market-realistic:

+
    +
  • Growth scenarios align with European cloud adoption trends and self-service demand
  • +
  • ROI expectations (40-100%) match industry benchmarks for SaaS and managed services
  • +
  • Market timing leverages regulatory tailwinds and competitive gaps in the European market
  • +
  • Business model addresses proven market needs with validated technology (2,000+ instances running)
  • +
+
+ + +
+

Currency Support

diff --git a/hub/services/views/calculator.py b/hub/services/views/calculator.py index 85b40ef..91819c8 100644 --- a/hub/services/views/calculator.py +++ b/hub/services/views/calculator.py @@ -55,14 +55,52 @@ def csp_roi_calculator(request): return render(request, "calculator/csp_roi_calculator.html", context) +@require_http_methods(["GET", "POST"]) def roi_calculator_help(request): """ - ROI Calculator Help page - Shows detailed information about investment models - This page is publicly accessible without password protection + ROI Calculator Help page - Protected view with same password authentication as calculator + Shows detailed information about investment models and market analysis """ + # Handle logout + if request.method == "POST" and request.POST.get("logout"): + request.session.pop("csp_calculator_authenticated", None) + return redirect("services:roi_calculator_help") + + # Get password from Django settings + calculator_password = getattr(settings, "CSP_CALCULATOR_PASSWORD", None) + + # If no password is configured, deny access + if not calculator_password: + messages.error( + request, + "Calculator help is not properly configured. Please contact administrator.", + ) + return render( + request, "calculator/password_form.html", {"password_error": True} + ) + + # Password protection - check if authenticated in session + if not request.session.get("csp_calculator_authenticated", False): + if request.method == "POST": + password = request.POST.get("password", "") + + # Validate password + if password == calculator_password: + request.session["csp_calculator_authenticated"] = True + # Set session timeout (optional - expires after 24 hours of inactivity) + request.session.set_expiry(86400) # 24 hours + messages.success(request, "Access granted to CSP ROI Calculator Help.") + return redirect("services:roi_calculator_help") + else: + messages.error(request, "Invalid password. Please try again.") + + # Show password form + return render(request, "calculator/password_form.html") + + # User is authenticated, show the help page context = { "page_title": "ROI Calculator Help - Investment Models", - "page_description": "Understand Servala's Loan and Direct Investment models with detailed explanations and examples", + "page_description": "Understand Servala's Loan and Direct Investment models with detailed explanations and market analysis", } return render(request, "calculator/roi_calculator_help.html", context)