Financial Projection Modeler
Multi-scenario SaaS financial model with 5-year revenue projections, automated KPIs (runway, break-even, LTV/CAC), bull/bear sensitivity analysis, dual Workstation/Enterprise style, and AI-powered insights. All data is tenant-scoped and persisted via the server JSON API.
Overview
The Financial Projection Modeler is a startup-focused planning tool within TotalApp's Strategy & Fundraising module. It lets founders and CFOs build 5-year SaaS revenue forecasts using tiered subscription pricing, with automatic calculation of key investor metrics and three-scenario sensitivity analysis (Base, Bull, Bear).
Tiered Pricing Engine
Model up to 3 subscription tiers (Starter, Growth, Enterprise) with independent monthly pricing, initial subscribers, monthly growth rates, and annual churn rates. Revenue compounds monthly within each year.
Automated KPIs
Runway months, break-even year and month, LTV/CAC ratio, and Year 5 revenue CAGR are computed automatically from your assumptions — no spreadsheet formulas needed.
Sensitivity Analysis
Three scenarios run simultaneously: Base (your assumptions), Bull (+20% growth, −25% churn), and Bear (−20% growth, +25% churn). Instantly see the revenue range your model produces.
AI Insights
An integrated Claude AI pipeline analyses your model and returns plain-language commentary on growth trajectory, burn rate, and investor readiness — with configurable writer engine (API, CLI, local LLM).
Dual Style
Dark Workstation and light Enterprise visual modes, switchable from Settings → Appearance → Screen Style. The modal and table chrome both respond to the setting.
Tenant-Scoped Persistence
All models are saved server-side in your tenant's isolated JSON store via the /api/data/financial-projections endpoint. Multiple named models are supported per tenant.
Quick Start
- Navigate to Strategy & Fundraising → Financial Projection Modeler in the sidebar.
- If no models exist, click Create First Model. A default SaaS model is created with a $1.5 M seed round, three subscription tiers, and realistic growth assumptions.
- Select the model from the left panel to open it.
- Switch to the Assumptions tab and adjust revenue, cost, and capital inputs to match your business.
- Switch to the Projections tab to see the 5-year table. KPI cards at the top show runway, break-even, and LTV/CAC in real time.
- Click AI Insights to generate a plain-language analysis of your model using the configured writer engine.
Default model is pre-validated
The default tenant ships with a pre-computed "SaaS Growth Model — Seed Round" that has mathematically verified projections: Year 1 ARR ≈ $131 K, Year 5 ARR ≈ $5.2 M, runway 67 months, break-even in Year 3 Month 7, and an LTV/CAC ratio of 5.6. No system alerts are raised because cash never goes negative across the 5-year horizon.
Assumption Inputs
Revenue Assumptions
| Field | Description | Default (per tier) |
|---|---|---|
| Monthly Price ($/mo) | Subscription price per active customer in this tier | $29 / $99 / $299 |
| Initial Subscribers | Number of paying customers at model start | 50 / 20 / 5 |
| Monthly Growth Rate (%) | New subscriber growth each month, compounded | 8% / 10% / 7% |
| Annual Churn Rate (%) | Percentage of subscribers lost each year (converted internally to monthly) | 15% / 10% / 5% |
Cost Assumptions
| Field | Description | Default |
|---|---|---|
| COGS (% of revenue) | Infrastructure and hosting cost as a percentage of revenue | 15% |
| Sales & Marketing (Year 1 $) | S&M spend in Year 1; grows at S&M growth rate each subsequent year | $120,000 |
| R&D (Year 1 $) | Engineering spend in Year 1 | $180,000 |
| G&A (Year 1 $) | General & administrative expenses in Year 1 | $72,000 |
| Annual Cost Growth (%) | How much fixed costs grow each year | 20% |
| S&M Growth Rate (%) | Annual growth rate applied to Sales & Marketing specifically | 30% |
Capital Assumptions
| Field | Description | Default |
|---|---|---|
| Current Cash Balance ($) | Starting cash; determines runway before operating cash flow turns positive | $1,500,000 |
| LTV ($) | Lifetime Value of a customer — used in LTV/CAC ratio KPI | $1,800 |
| CAC ($) | Customer Acquisition Cost — used in LTV/CAC ratio KPI | $320 |
Automated KPIs
The KPI bar at the top of the Projections tab is recalculated every time assumptions change:
| KPI | Formula | Healthy target |
|---|---|---|
| Implied Runway | Starting cash ÷ average monthly burn in Year 1 (if burn is positive) | > 18 months |
| Break-Even | First year and month where cumulative net income ≥ 0 | Year 2–4 for seed-stage SaaS |
| LTV / CAC | LTV ÷ CAC (from Capital Assumptions) | > 3× (investor threshold) |
| Revenue CAGR | (Year 5 revenue / Year 1 revenue)^(1/4) − 1 | > 50% for high-growth SaaS |
System Alert
If cash balance goes negative in any year, a System Alert banner appears below the KPI bar with the year of first negative balance and the implied runway. To dismiss the alert, increase the starting cash balance, reduce Year 1 costs, or increase growth rates until the cash column stays positive across all 5 years.
Sensitivity Analysis
The Sensitivity tab runs three parallel projections across a 3-year horizon using your current assumptions as the Base, then applies ±20% growth and ±25% churn modifiers for the Bull and Bear scenarios:
| Scenario | Monthly Growth | Annual Churn | Typical use |
|---|---|---|---|
| 🐂 Bull | Base × 1.2 | Base × 0.75 | Investor best-case slide |
| 📊 Base | Your assumptions | Your assumptions | Primary operating model |
| 🐻 Bear | Base × 0.8 | Base × 1.25 | Stress-test / downside planning |
Tip — share the range, not just the Base
Sophisticated investors expect to see all three scenarios. Use the Bull/Bear spread to demonstrate you understand both the upside and the downside risks of your growth plan.
AI Insights
Click the AI Insights button (Sparkles icon) to generate a narrative analysis of your current model. The AI receives your full 5-year projection data, KPIs, and sensitivity results as context, then produces plain-language commentary covering:
- Revenue trajectory assessment
- Burn rate and runway health
- LTV/CAC and unit economics
- Growth vs churn balance
- Investor readiness notes
- Specific recommendations to improve the model
The AI engine used is controlled by Settings → Doc View → Writer Engine, and Generate Summary now works correctly with every option:
| Engine | Behaviour |
|---|---|
| API | Calls the Anthropic API using ANTHROPIC_API_KEY on the server. Uses Claude Sonnet. |
| Local CLI | Spawns claude --print using your Claude Code subscription OAuth session — no API key needed. |
| Ollama | Runs entirely on your own machine against your local Ollama server — never leaves your browser. |
| Local LLM | Runs a small in-browser model directly on the page. |
| Web LLM | Runs a WebGPU-accelerated model directly in the browser. |
Model Management
Creating a New Model
Click the + New Model button in the header. A modal prompts for a name (required) and optional description. The new model is initialised with the default SaaS assumptions — edit the Assumptions tab immediately to reflect your specific business.
Renaming or Deleting
Use the Edit (pencil) button in the model list panel on the left to rename or delete a model. Deletion is permanent and requires confirmation. The default model cannot be deleted if it is the only model in the tenant.
Multi-Model Workflow
You can maintain multiple models for different funding scenarios (pre-seed, seed, Series A), different product lines, or different markets. Switch between models by clicking their name in the left panel. All models are stored in the same tenant-scoped JSON file.
Saving Changes
Editing any assumption recalculates the projection table instantly, but nothing is written to the server until you click Save Model in the header. The button is always visible; it's greyed out when there's nothing new to save and lights up as soon as you change something. Switching to another model, refreshing the page, or clicking New Model before saving discards unsaved edits — an amber Unsaved indicator next to the tab bar warns you while changes are pending.
Data Persistence
Saved models are stored at /api/data/financial-projections in your tenant's isolated directory on the server. New tenants start with an empty model list; the default demo tenant ships with a pre-computed seed model.
Workstation / Enterprise Style
The Financial Projection Modeler fully implements TotalApp's dual-style system:
| Style | Aesthetic | Best for |
|---|---|---|
| Workstation (default) | Dark glassmorphism, ghost/glow primary buttons, amber KPI accents | Internal team dashboards, power users |
| Enterprise | Light corporate, white card panels, solid filled buttons (bg-amber-600) |
Investor presentations, board meetings, client-facing demos |
Toggle the style from Settings → Appearance → Screen Style. The change applies instantly across all screens that support dual-style, including the projection table, KPI cards, sensitivity panel, and modals.
FAQ
.xlsx file, or Export as CSV for a plain-text file that opens in Excel or Google Sheets. Both include the 5-year projection table with all revenue, cost, EBITDA, and cash columns.ANTHROPIC_API_KEY configured on the server (Render Dashboard → Environment); Local CLI needs the Claude CLI installed and accessible from the server process; Ollama needs a local Ollama server with a model selected; Local LLM and Web LLM run entirely in your browser and need no server configuration at all./api/data/financial-projections endpoint is protected by JWT authentication. The server reads the tenant ID from the verified token and reads/writes only from that tenant's scoped directory (server/data/tenants/<tenantId>/financial-projections.json). It is not possible for one tenant to read another tenant's models.