# TrueTerm operating financial model — review notes

**As of:** 2026-08-09 · **Assumptions version:** 1.2  
**Source of truth:** `proforma_assumptions.json` + `pitch_lending_model.py` + `operating_extensions.py`  
**Status:** Illustrative operating plan for IC / ops — not audited GAAP, not a guarantee  

---

## What we refined (CFO pass)

### 1. Capital identity (non-negotiable)

| Bucket | Amount | Pays for |
|--------|--------|----------|
| Product equity | **$1.0M** | Compliance, eng/XRPL, UW, GTM, G&A (**OpEx only**) |
| Loan pool equity | **$1.0M** | **$750K** deployable originations + **$250K** first-loss / liquidity cash |
| Facility 1 | **$25M** | Book after UW prove-out (drawn as UPB grows) |
| Facility 2 | **$100M** | Institutional scale after $25M learning |

**Rule:** Never fund originations from product OpEx equity. Book capital and OpEx stay separate.

### 2. Seed year (Y1) economics — fixed

| Item | Before | After (v1.1) | Why |
|------|--------|--------------|-----|
| Funding cost | $40K | **$0** | Equity loan pool — no warehouse interest |
| Revenue | $155K | **$150K** | Slightly conservative interest on ~$0.7M EOY UPB |
| Net income | −$0.84M | **−$0.80M** | P&L bridge: rev − losses − CoF − PIFC − OpEx |
| PIFC give-back | $5K | **$0** | Few/no eligible completions in year 1 |
| EOY UPB | $0.75M | **$0.70M** | Aligns with deploy + amort |

Gross originations still **~$1.0M** (400 × $2,500) via **$750K first deploy + in-year principal recycle**.

### 3. Pilot vs scale unit economics

| | Pilot (book) | Scale reference |
|--|--------------|-----------------|
| Principal | **~$2,500** | $5,000 |
| Term | **~36 mo** | 60 mo |
| APR (blended plan) | **~24%** | tier grid 15–29% |
| Role | Starter prove-out | Facility-era / earned step-ups |

Internal step-up ladder (not customer marketing): **$2.5K → $5K @ 6 mo on-time → $7.5K @ 12 mo path**.

### 4. Facility years

- **Y2–Y3:** $25M capacity; CoF ~**6.5%** on average funded UPB; utilization rises ~26% → ~88%.  
- **Y4–Y5:** $100M capacity; CoF ~**5%** toward long-run ~4.5%; Y5 utilization ~90%.  
- **Y3 originations $28M > $25M capacity** is allowed only because the book **amortizes and recycles** — EOY UPB stays ≤ capacity.

### 5. Losses

- **Lifetime** blended LLR target ~**13.4%** (portfolio mix).  
- **Annual P&L** uses early-loss proxies (~4–5% of originations) — life losses lag. Do not equate annual loss % to lifetime LLR.

### 6. Model tooling

```bash
cd FLS-SeedsOS/docs/pitch/model
python pitch_lending_model.py          # human summary + validation
python pitch_lending_model.py --write  # model_outputs.json
python pitch_lending_model.py --json   # full report
```

Validation checks include: equity uses sum, Y1 CoF = 0, OpEx ≤ product equity, P&L bridge identity, UPB ≤ facility capacity.

---

## 5-year snapshot (v1.1)

| Year | Orig $M | EOY UPB $M | Rev $M | NI $M | Capital |
|------|---------|------------|--------|-------|---------|
| 1 | 1.0 | 0.7 | 0.15 | −0.80 | Equity book |
| 2 | 8.0 | 6.5 | 1.2 | −1.49 | $25M ramp |
| 3 | 28 | 22 | 4.3 | −1.93 | $25M full |
| 4 | 63 | 48 | 9.6 | −0.85 | $100M ramp |
| 5 | 125 | 90 | 18.1 | **+1.20** | $100M scale |

---

## v1.2 extensions (built)

### A. Monthly seed ramp (M1–M12)

Simulated in `operating_extensions.simulate_monthly_seed_ramp`:

- Schedule sums to **$1.0M** target originations  
- **$750K** deployable cash + principal recycle  
- Under conservative straight-line paydown (~1/36 of UPB), sim reaches **~$867K** gross originations with **~2 cash-constrained months** — honest vs annual $1.0M stretch  
- Artifacts: `triangles/monthly_seed_ramp.csv`

Annual Y1 proforma still uses **$1.0M** originations as the *stretch plan* if recycle outperforms; monthly sim is the *stress* view.

### B. Vintage triangles

| Mode | Behavior |
|------|----------|
| **Plan synthetic** | Each seed month = vintage; MOB curves for DQ30+ and cum loss through Y1-M12 |
| **Live tape** | Reads `data/loan_tape/loans.json` — **empty until funded loans have `origination_date`** |

CSVs: `triangles/plan_seed_cum_loss_triangle.csv`, `plan_seed_dq30_triangle.csv` (also under `data/loan_tape/triangles/`).

### C. Sensitivities (5y cumulative NI vs base **−$3.87M**)

| Scenario | Δ cum NI (approx) |
|----------|-------------------|
| APR +200 bps | **+$2.5M** |
| APR −200 bps | **−$2.5M** |
| Early losses +3 pts of originations | **−$6.7M** |
| Early losses −3 pts | **+$6.8M** |
| CoF +150 bps (Y2+) | **−$2.5M** |
| OpEx +15% | **−$2.7M** |

**Read:** Loss shocks dominate; APR and CoF are material; opex overrun matters for runway.

### D. Pay-in mix vs term mix

Planning mix: **70% term / 12% pay-in 3 / 10% pay-in 4 / 8% pay-in 6**

Blended (share-weighted): ~**$2.5K** principal · **~26 mo** duration · **~23%** yield proxy · **~9.8%** lifetime LLR  

- Term: balance-sheet repair, PIFC path, longer UPB  
- Pay-in: job-sized, faster capital velocity, lower duration risk if UW solid  

### E. Separate unit-level P&Ls (capital silos)

| Entity | Model | 5y cum NI (illustrative) |
|--------|--------|---------------------------|
| **TrueTerm, Inc.** | Credit book (`growth_proforma`) | **−$3.87M** |
| **seedsOS, Inc.** | SaaS / OS | **+$10.6M** |
| **Wage30, Inc.** | Marketplace take-rate | **+$26.1M** |

Attach bridge (apps, hires, pay-in GMV) is **funnel quality only** — not double-counted revenue. Raise each silo separately.

---

## How to run

```bash
cd FLS-SeedsOS/docs/pitch/model
python pitch_lending_model.py          # summary + extensions
python pitch_lending_model.py --write  # model_outputs.json + triangle CSVs
```

---

## Still open (later)

1. **Advance rate / first-loss** terms when a real facility term sheet exists  
2. Calibrate monthly recycle to match booked amort schedules  
3. Live MOB triangles after first funds  
4. Scenario packs for IC memo (PDF table export)

---

## Culture alignment

Hand up, not hand out — serious for-profit credit, fair APRs, completion rewards from **surplus**, not from first-loss or customer extraction theater.

See also: `docs/CULTURE_HAND_UP.md`, `docs/INVESTOR_SILOS_AND_SYMBIOSIS.md`.
