STUD.com
← Objectives

Compute · Assess & Decide · Data & Research

Compute Default Alive or Default Dead

A pure function that, given current cash, monthly expenses, monthly revenue, and monthly revenue growth rate, returns whether the company reaches profitability before cash runs out (default alive) or not (default dead), the crossover month, and the lowest cash point.

You receive: A deterministic calculator (pure function) graded on hidden numeric input/output cases.

Part of Choose Business Model

What's verified: STUD verifies the calculator reproduces the deterministic projection math (compounding, crossover detection, runway) on hidden cases. It does NOT verify the buyer's growth-rate assumption is realistic, that expenses will actually stay flat, or that the company will in fact raise/survive. Default-alive is a math result on the inputs given, not a prediction of the business outcome.

Opens soon

Cost20 credits
AcceptanceAutomated check against your inputs
ProtectionHeld until verified delivery

This objective is verified and ready. It opens soon, once sign-in and payments are live.

Deliverable interface

The exact vocabulary the automated check enforces: keys, tokens, entry points, and worked examples. Generated from the verification source.

{
 "constants": {},
 "entryName": "compute_default_alive_or_dead",
 "expectNote": "expect is the comparison-space value (your return value goes through normalize first when one is published)",
 "hiddenCaseCount": 12,
 "hiddenCaseNames": [
  "dead_slow_growth",
  "alive_already_profitable",
  "alive_fast",
  "dead_high_burn",
  "alive_thin",
  "expense_growth_dead",
  "big_cash_alive",
  "small_cash_dead",
  "profitable_m1",
  "slow_alive",
  "dead_mid",
  "near_breakeven"
 ],
 "inputKeys": [
  "expense_growth_rate",
  "horizon_months",
  "monthly_expenses",
  "monthly_revenue",
  "monthly_revenue_growth_rate",
  "starting_cash"
 ],
 "normalizeSource": "def _normalize_default_alive_or_dead(r):\n    if not isinstance(r, dict): return repr(r)\n    return {\"verdict\": r.get(\"verdict\"),\n            \"crossover_month\": (None if r.get(\"crossover_month\") is None else int(r[\"crossover_month\"])),\n            \"runway_months\": (None if r.get(\"runway_months\") is None else int(r[\"runway_months\"])),\n            \"min_cash\": (None if r.get(\"min_cash\") is None else round(float(r[\"min_cash\"])))}\n",
 "returnShapes": [
  [
   "crossover_month",
   "min_cash",
   "runway_months",
   "verdict"
  ]
 ],
 "signature": "def compute_default_alive_or_dead(inp):",
 "submission": "python exposing the entry function; inp is one input object; graded on held-out cases",
 "tier": "calculator",
 "visibleCases": [
  {
   "expect": {
    "crossover_month": 11,
    "min_cash": 318748,
    "runway_months": null,
    "verdict": "default_alive"
   },
   "input": {
    "expense_growth_rate": 0,
    "monthly_expenses": 50000,
    "monthly_revenue": 20000,
    "monthly_revenue_growth_rate": 0.1,
    "starting_cash": 500000
   },
   "name": "alive_growth"
  },
  {
   "expect": {
    "crossover_month": null,
    "min_cash": -25000,
    "runway_months": 8,
    "verdict": "default_dead"
   },
   "input": {
    "expense_growth_rate": 0,
    "monthly_expenses": 30000,
    "monthly_revenue": 5000,
    "monthly_revenue_growth_rate": 0,
    "starting_cash": 200000
   },
   "name": "dead_flat"
  }
 ],
 "vocabulary": [
  "crossover_month",
  "default_alive",
  "default_dead",
  "expense_growth_rate",
  "horizon_months",
  "min_cash",
  "monthly_expenses",
  "monthly_revenue",
  "monthly_revenue_growth_rate",
  "runway_months",
  "starting_cash",
  "verdict"
 ]
}

Get early access to STUD the day it goes live.