FounderLab

Welcome to FounderLab

The Business Simulation Platform for Entrepreneurship Education

Build your startup. Make real decisions. Compete for the top spot on the leaderboard.

FounderLab

Performance Algorithm

How FounderLab determines revenue, profitability, valuation, and company rankings. Valuation is computed in three distinct contexts — per-unit stored, leaderboard display, and fundraising engine.

Core Revenue Formula

REVENUE = BASE_DEMAND × PRICE × PPP_DEMAND_FACTOR × PRICE_COMPETITION_MULT × CONVERSION_RATE × MARKETING_EFFICIENCY × STRATEGY_REWARD × EXECUTION_QUALITY × SHOCK_MULTIPLIER

BASE_DEMAND

TAM for the market (scaled from US=10,000 baseline using GlobalMarketConfig.relative_tam) ÷ (active companies + virtual competitors) × market_maturity_factor × strategy_reward.

PRICE

Per-market price from UnitDecision.market_prices[] for each expansion market, falling back to the home market price. Unit 1: constrained by industry range. Unit 2+: unconstrained.

PPP_DEMAND_FACTOR

Adjusts demand based on the market's purchasing_power_index (PPI). If a company charges above the PPI-adjusted ideal price, demand is reduced. Formula: max(0.4, min(1.2, 1 ÷ max(0.5, marketPrice ÷ (homePrice × PPI)))). PPI reference: US=1.0, EU=1.0, UK=0.9, Canada=0.85, China=0.55, India=0.3, Brazil=0.45.

PRICE_COMPETITION_MULT

Compares your price to the average price of all competitors in each market. Lower relative price = higher multiplier. Formula: max(0.5, min(1.5, 2.0 − (yourPrice ÷ avgCompetitorPrice))). Priced 20% below average → ~1.2× demand boost; 20% above → ~0.8×.

CONVERSION_RATE

0.7–1.3 multiplier based on staffing adequacy (employees vs. revenue target).

MARKETING_EFFICIENCY

(Marketing_Spend ÷ CAC) × market_maturity_factor per market, scaled by TAM relative to US baseline.

STRATEGY_REWARD

HOME: 1.0 | DIRECT_EXPORT: 1.1 | DISTRIBUTOR: 1.25 | JOINT_VENTURE: 1.4 | NEW_ENTITY: 1.6. Distributor and JV strategies also apply a margin dilution (30% and 40% respectively).

EXECUTION_QUALITY

(Actual_Gross_Margin ÷ Industry_Benchmark) × 100, capped at 100%. >80% = Excellent, 60–80% = Good, 40–60% = Fair, <40% = Needs Work.

SHOCK_MULTIPLIER

Starts at 1.0. Each applicable shock multiplies by (1 ± impact), where impact = severity_factor × sqrt(timeScaleMultiplier). Severity: mild=0.05, moderate=0.12, severe=0.22. W12=1, W6=2. Examples: ECONOMIC_DOWN: (1−impact); VIRAL_MOMENT: (1+impact×1.5); CURRENCY_VOLATILITY: (1−impact×0.8). International shocks (CUSTOMS_DELAY, DISTRIBUTOR_DEFECTION, etc.) are only applied to groups using the matching entry strategy.

TAM Reference — Global Markets (US = 10,000 baseline)

Each market's TAM is proportional to the US baseline. The instructor sets the US baseline TAM in Class settings. All other markets are scaled using GlobalMarketConfig.relative_tam.

United States

10,000 (100%) — benchmark market

EU (27 countries)

10,000 (~100%) — comparable purchasing power to US

China

7,000 (~70%) — large population, lower GDP per capita efficiency

India

2,500 (~25%) — large population, much lower purchasing power

Southeast Asia

2,500 (~25%)

United Kingdom

2,000 (20%)

South America

2,000 (20%)

Mexico

1,200 (12%)

Canada

1,000 (10%) — home market benchmark in simulation

Middle East

1,500 (15%)

Africa

1,500 (15%)

Australia & NZ

800 (8%)

Customer Acquisition & Churn
New Customers

(Marketing_Spend ÷ CAC) × TAM_scale_factor × market_maturity_factor × price_competition_mult ÷ sequencing_risk_mult

Market Maturity Factor

W12: cycle 0 = 30%, cycle 1 = 60%, cycle 2+ = 100%. W6: cycle 0 = 60%, cycle 1+ = 100% (±15% volatility).

Customer Acquisition Cost (CAC)

$80 base × strategy_cac_mult × (1 + shock_adjustments). Strategy CAC: HOME=1.0, DIRECT_EXPORT=1.15, DISTRIBUTOR=0.9, JOINT_VENTURE=0.85, NEW_ENTITY=1.0.

Shock Adjustments (CAC)

REGULATORY_CHANGE: +5% | TALENT_WAR: +8%.

Churn Rate

8% baseline − (Support_Spend ÷ 500,000); minimum 2%.

Units Sold vs. Customers

Units sold drives revenue (Units × Price). Customers tracks distinct accounts acquired. Approximately every 10 units sold equates to ~1 new customer, in addition to marketing-driven acquisition. A single customer can purchase multiple units — so revenue can be positive even when the customer count is low.

Sequencing Risk

Penalty multiplier applied if a company skips recommended expansion steps (e.g., entering JOINT_VENTURE without first doing DIRECT_EXPORT). W12: 1.25× penalty, W6: 1.35× penalty, lasting the first 2 cycles in that market.

Profitability & Valuation

Valuation is computed in three distinct contexts — the per-unit stored value, the leaderboard/display value, and the fundraising-engine value — each using a different method.

Gross Profit

Revenue − COGS (COGS = 35% of revenue in base engine)

EBITDA

Gross Profit − Operating Expenses (marketing, R&D, support, payroll)

Interest Expense

Charged on startup loan principal (amortized monthly) AND on any line of credit balance used. Both at the class interest rate, calculated per period.

Net Income

EBITDA − Interest Expense (startup loan interest + LOC interest)

Per-Unit Stored Valuation (company.valuation)

Recomputed every unit and written to the Company record. Bankrupt (ending cash < 0) → $0. Otherwise: Valuation = Revenue × Multiplier. Multiplier = (8 + R&D_Spend ÷ 100,000) for profitable companies (EBITDA > 0), or 1.5 for loss-making companies (distressed). Then adjusted: × (1 + 0.05 × √(active_markets)) for diversification, and × (1 − avg_operational_complexity ÷ 400) for complexity drag. Example: 4 active markets → +10% (0.05 × 2), not +20%; 80 avg complexity → −20%.

Display / Leaderboard Valuation (computeDisplayValuation)

Used on dashboards and the leaderboard, based on CUMULATIVE EBITDA (sum across all processed units) so consistent performers outrank one-hit wonders. Rules in order: (1) Bankrupt → $0. (2) Post-fundraising (total_equity_raised > 0) → the valuation stamped by the funding engine. (3) Sustained losses (cumulative EBITDA ≤ 0) → max(0, Owner_Equity + Cumulative_EBITDA) — losses erode equity dollar-for-dollar. (4) Profitable, pre-fundraising → max(Industry_Multiple × Cumulative_EBITDA, Owner_Equity), floored at owner equity ($100K default).

Fundraising Valuation (evaluateFundingRound)

When a Venture-tier team raises an equity round, the funding engine sets pre-money valuation: Pre-Money = Annualized_Revenue × Revenue_Multiple × (0.5 + Traction_Score × 0.5). Annualized_Revenue = latest unit revenue × 4 (×2 in W6 mode). Revenue_Multiple = 3 + (valuation_multiple_index ÷ 50) × 3 → a 3×–9× band driven by the class Capital Markets Profile. Traction Score (0–1) blends latest revenue, customer growth, and market share. Post-Money = Pre-Money + Amount Raised; equity % sold = Amount Raised ÷ Post-Money × 100. Once the round lands, this valuation overrides the EBITDA-based display valuation.

Industry EBITDA Multiples (display valuation)

Software/SaaS = 15× | Manufacturing = 6× | Wholesale = 5× | Professional Services/Consulting = 4× | Retail = 3.5× | Other (default) = 4×. Applied to cumulative EBITDA in the profitable, pre-fundraising display-valuation rule.

Line of Credit (LOC) Rules

The LOC is an automatic safety net that prevents a single bad period from bankrupting a company, while teaching short-term liability management.

Auto-Activation

If decisions would result in negative ending cash AND the prior unit's ending cash was positive AND no LOC has been used before, the LOC is automatically created. The shortfall amount becomes the LOC limit.

One-Time Establishment

The LOC can only be established once per 'cycle'. Once paid off completely, the mechanism resets and a new LOC can be created if needed again.

Interest

Charged at the same rate as the startup loan, calculated per period on the outstanding balance. Appears on the income statement.

Balance Sheet

LOC balance appears as a current (short-term) liability. Paying it off reduces both cash and the liability simultaneously.

Repayment

Teams set a loc_payoff amount in the Decisions screen, up to the full outstanding balance.

Bankruptcy Trigger

If ending cash < 0 AND no LOC is available (already used and unpaid, or prior cash was negative), the company is bankrupt. Decision submission warns teams before this occurs.

Grade Report (4 Equally Weighted Criteria)

Each criterion is worth 25% of the total grade.

Final Valuation Score (25%)

Company's final valuation relative to the class average. Rewards sustainable profitability and smart capital allocation.

Profitability Score (25%)

Cumulative net income ÷ cumulative revenue across all units. Measures gross margin quality and cost discipline.

Growth Score (25%)

Customer count growth from Unit 1 to the final unit. Rewards consistent customer acquisition and retention.

Decision Consistency Score (25%)

Number of units with a submitted (not draft or missed) decision ÷ total units. Rewards engagement and consistent participation.

Market Share & Ranking

Companies are ranked by ending valuation within their industry/class. Ties broken by: (1) profit margin, (2) customer count. The leaderboard updates after each unit is processed.

Market Shock System

Shocks can be injected automatically (based on the Scenario's shock_frequency setting, overridable per class) or manually by instructors using the Shock Control panel (is_instructor_injected = true).

Automatic Shocks

Frequency controlled by scenario shock_frequency (low/medium/high). Class-level shock_frequency_override takes precedence. processUnit applies shocks that match the current unit number.

Manual Shocks

Instructors inject specific shock types via the Shock Control page, targeting ALL groups, a specific industry, or a single group.

Market-Targeted Shocks

If a shock has a market_id set, it only applies to groups active in that specific market. International shocks (CUSTOMS_DELAY, DISTRIBUTOR_DEFECTION, JV_DISPUTE, etc.) are additionally filtered to only affect groups using the matching entry strategy.

Tier Availability

BASIC: market expansion not available; focus on home market only. MARKET_EXPANSION and VENTURE: expansion unlocks after Unit 2, so expansion choices first appear in the Unit 3 decision. Direct Export and Distributor are available from Unit 3; Joint Venture from Unit 5 (unlocks after Unit 4); New Entity from Unit 7 (unlocks after Unit 6). Per-round cap: entry strategies selected + target markets selected ≤ 2, i.e. one market entered with one strategy per round.

Auto-Processed Units (No Decision Submitted)

When a group does not submit a decision by the processing deadline, the simulation auto-processes that unit with conservative defaults and a revenue penalty.

Default Decisions

Default price of $50, zero marketing/R&D/support spend, no headcount change. The group remains active in its home market with baseline demand generating minimal sales and customers.

50% Revenue Penalty

Revenue, COGS, gross profit, new customers, and valuation are cut by 50%. All costs (payroll, loan repayments, operating expenses) remain at full value, making the penalty financially impactful. Cash is recalculated accordingly.

Narrative Flag

The unit narrative is prefixed with '⚠️ No decision submitted — 50% revenue penalty applied.'

Leaderboard Impact

A red '⚠ Auto-Processed ×N' badge appears next to the company name. Companies auto-processed for every unit sort to the bottom of the leaderboard and rise naturally once they submit their first real decision.

Per-Unit Penalty Configuration

Instructors can enable/disable the penalty and adjust the percentage on a per-unit basis via Class settings (unit_penalty_settings). Already-processed units are locked; upcoming units remain editable mid-simulation.

Key Success Factors

Balance is critical: aggressive pricing without market support underperforms; strong marketing without adequate staffing creates inefficiency; expansion without proper execution brings hidden complexity costs. Price competitively in each market relative to local purchasing power — a US price applied to India or Brazil will generate far fewer customers than a PPP-adjusted price.

💡 Unit 1 Price Constraints

In Unit 1, teams must price within their industry's recommended range. After Unit 1, pricing is unrestricted, but prices far outside the benchmark will incur conversion rate penalties. For expansion markets, teams should also account for purchasing power parity — the MarketPricingPanel in the Decision Center shows PPP-adjusted suggested prices for each active market.