以下情境为教学假设,人物与数字不代表经核实的真实案例。
「不该融资」不是一句道德判断,而是一句价格判断。融资有价格:股权比例、治理条款、退出门槛。价格合适,融资买的是速度;价格不合适,融资买的是负担。判断该不该融,不需要预测未来,只需要把四个条件逐个变成可计算的数。
这四个条件是:现金流为正、增长不依赖资本、估值不过低、治理代价不高于收益。四个条件不必同时成立;任何一个成立,都足以让创始人先停下来算一算,而不是先签 term sheet。本节用 LedgerLite 和 Nord Studio 做正反两个方向的计算,Tidecast 只做一段对照。
条件一:现金流为正
LedgerLite 的年经营现金流是 64,299 美元,扣除 3,000 美元设备投资后,净现金增加 61,299 美元,年末现金 95,000 美元。月运营费用是 72,000 ÷ 12 = 6,000 美元;加上创始人薪酬 60,000 美元,月固定支出是 11,000 美元。
| 指标 | 金额 | 计算 |
|---|---|---|
| 年末现金 | $95,000 | 资产负债表 |
| 月运营费用 | $6,000 | 72,000 ÷ 12 |
| 只算运营费用的 runway | 15.8 个月 | 95,000 ÷ 6,000 |
| 含创始人薪酬的 runway | 8.6 个月 | 95,000 ÷ 11,000 |
| 经营现金流 | $64,299 | SDE 130,240 − 薪酬 60,000 − 税 11,941 + 递延 8,000 − 应收 2,000 |
| 净现金增加 | $61,299 | 经营现金流 64,299 − 设备 3,000 |
经营现金流为正,意味着公司不融资也能活下去。8.6 到 15.8 个月的 runway 不是无限的,但它给了创始人一个选项:可以融资,也可以不融资。这个选项本身就是谈判筹码。现金流为负时,融资是生存问题,估值和条款都没有太多拒绝的余地;现金流为正时,融资是加速问题,创始人可以对低估值和重治理条款说不。runway 的下限口径见 8.3 现金下限与 runway floor 。
条件二:增长不依赖资本
LedgerLite 的 CAC 是 140 美元,月毛利/客户是 77 × 84.2% = 64.8 美元,回本周期是 140 ÷ 64.8 = 2.2 个月,LTV 是 64.8 ÷ 1.5% = 4,320 美元,LTV/CAC = 30.9。每一个新客户在 2.2 个月内就能把获客成本赚回来,增长本身是自融资的。
| 指标 | 数值 | 计算或含义 |
|---|---|---|
| CAC | $140 | 年营销 16,800 ÷ 年新签 120 家 |
| 月毛利/客户 | $64.8 | 77 × 84.2% |
| 回本周期 | 2.2 个月 | 140 ÷ 64.8 |
| LTV | $4,320 | 64.8 ÷ 1.5% |
| LTV/CAC | 30.9 | 4,320 ÷ 140 |
| 年营销预算 | $16,800 | 当前增长投入 |
| SDE 覆盖 | 7.75× | 130,240 ÷ 16,800 |
| 经营现金流覆盖 | 3.83× | 64,299 ÷ 16,800 |
SDE 是当前营销预算的 7.75 倍,经营现金流是 3.83 倍。也就是说,即使不融资,LedgerLite 也能把现有增长计划再放大数倍。融资在这里买的不是「能不能增长」,而是「增长能快多少」。如果增长依赖库存、硬件、监管资本或长销售周期,结论会反过来;LedgerLite 的 SaaS 模式没有这些约束,所以它的增长不依赖外部资本。
条件三:估值过低
Nord Studio 的 SDE 是 34,320 美元。按案例锚 4.5× SDE,估值是 154,440 美元;按服务收入占 72.7%、依赖两位合伙人的折价 3.0× SDE,估值是 102,960 美元。假设 Nord 融资 100,000 美元,两种锚下的稀释如下。倍数口径见 11.1 三种估值口径 。
| 锚 | pre-money | 融资额 | post-money | 稀释 |
|---|---|---|---|---|
| 4.5× SDE | $154,440 | $100,000 | $254,440 | 39.3% |
| 3.0× SDE | $102,960 | $100,000 | $202,960 | 49.3% |
在 4.5× 锚下,100,000 美元要换走 39.3% 的股份;在 3.0× 折价锚下,要换走 49.3%。这不是一个小比例。更关键的是,这笔钱要买到多少增长,才能对得起让出的股份?
按同样的倍数做价值中性检验:融资 100,000 美元,在 4.5× 下需要新增 100,000 ÷ 4.5 = 22,222 美元 SDE;在 3.0× 下需要新增 100,000 ÷ 3.0 = 33,333 美元 SDE。Nord 当前 SDE 是 34,320 美元,22,222 美元相当于增长 64.7%,33,333 美元相当于增长 97.1%。
| 检验项 | 4.5× 锚 | 3.0× 折价锚 |
|---|---|---|
| 融资额 | $100,000 | $100,000 |
| 价值中性所需新增 SDE | $22,222 | $33,333 |
| 占当前 SDE 34,320 的比例 | 64.7% | 97.1% |
| 这笔钱能覆盖第三位员工 55,000/年多久 | 1.82 年 | 1.82 年 |
| 第三位员工盈亏平衡所需新增收入 | $75,000 | $75,000 |
| 新增收入占当前收入 154,320 的比例 | 48.6% | 48.6% |
100,000 美元能覆盖第三位员工 1.82 年的工资,但这位员工需要带来 75,000 美元新增收入才能覆盖自己的工资与税,相当于当前收入的 48.6%。如果这笔钱买不到这样的增长,融资就没有通过价值中性检验:创始人让出了 39.3% 到 49.3% 的股份,却没有换回同等比例的 SDE 增长。这就是「融资的钱买不到相应增长」的具体含义。
条件四:治理代价高于收益
Nord 是两位合伙人各 50%,没有期权池,也没有书面退出条款。引入一个持股 39.3%、拿到一个董事会席位的投资人后,两位合伙人从各 50% 降到各 30.35%,50/50 的平衡被打破:一位合伙人加上投资人,可以在董事会和股东表决中压过另一位合伙人。治理代价不只是稀释,它是决策权的重新分配。
优先清算权是治理代价里最容易量化的一项。假设投资人投入 100,000 美元、持股 39.3%、条款是 1x 优先清算权。在 4.5× 锚的 154,440 美元退出时,投资人先拿走 100,000 美元,两位合伙人只剩 54,440 美元,每人 27,220 美元;不融资时,每人可以拿 77,220 美元。
| 退出估值 | 无融资:每位合伙人 | 融资后:投资人 | 融资后:每位合伙人 |
|---|---|---|---|
| $154,440 | $77,220 | $100,000 | $27,220 |
| $254,440 | $127,220 | $100,000 | $77,220 |
| $400,000 | $200,000 | $157,200 | $121,400 |
创始人要把退出做到 254,440 美元,每位合伙人才回到不融资时 154,440 美元退出下的 77,220 美元。也就是说,融资后的公司必须比原锚多值 100,000 美元,合伙人才能在绝对金额上打平;这正好等于融资额。低于这条线,融资让合伙人更穷,同时还让出了治理权。
把治理代价按锚定估值的比例折算,Nord 的教学假设是 70%:154,440 × 70% = 108,108 美元,已经超过 100,000 美元的融资额。LedgerLite 的教学假设是 10%:768,768 × 10% = 76,877 美元,低于 300,000 美元的融资额。治理代价超过融资额时,融资在经济上已经不划算,董事会席位和否决权只是把这个问题放大。
把四个条件写成一个判据
下面的 no-funding.ts 把四个条件变成 evaluateFundingNeed 的输入与输出:现金流是否为正、增长投入是否在现金流覆盖范围内、按锚定估值计算的稀释是否超过上限、治理成本是否超过融资额。它不替创始人做决定,只把四个判断并排放在一张表上。
// file: src/capital/no-funding.ts
// tier: L1
// verify: node --test test/capital/no-funding.test.ts
import { type Cents } from "../core/money.ts";
import { type Bps, applyRate, divide } from "../core/rate.ts";
import { type Result, fail, ok } from "../core/result.ts";
export type FundingRecommendation = "raise" | "self-fund" | "debt";
export type FundingNeedInput = {
annualOperatingCashFlowCents: Cents;
annualGrowthSpendCents: Cents;
currentSdeCents: Cents;
raiseCents: Cents;
preMoneyCents: Cents;
anchorValueCents: Cents;
valuationMultipleBps: Bps;
governanceCostBps: Bps;
maxDilutionBps: Bps;
};
export type FundingNeedResult = {
positiveCashFlow: boolean;
selfFundsGrowth: boolean;
dilutionAtPreMoneyBps: Bps;
dilutionAtAnchorBps: Bps;
valuationTooLow: boolean;
requiredSdeIncreaseCents: Cents;
requiredSdeGrowthBps: Bps;
governanceCostCents: Cents;
governanceExceedsRaise: boolean;
recommendation: FundingRecommendation;
};
function positive(value: number, label: string): string | null {
if (!Number.isInteger(value) || value <= 0) {
return `${label} must be a positive integer`;
}
return null;
}
function nonNegative(value: number, label: string): string | null {
if (!Number.isInteger(value) || value < 0) {
return `${label} must be a non-negative integer`;
}
return null;
}
/**
* Four tests decide whether equity is the right source. Two are about need:
* operating cash flow is positive, and growth spend fits inside that cash
* flow. Two are about price: dilution at the defensible anchor stays under
* the limit, and the estimated governance cost stays below the cash raised.
* A positive answer on all four does not forbid raising; it says the company
* can grow without selling equity, so any round should be for acceleration or
* a buffer, not for survival.
*
* The required SDE increase is the value-neutral test: at a given SDE
* multiple, the cash raised must eventually add raise / multiple of SDE, or
* the founder has sold a share of the company for cash that did not create
* matching value.
*/
export function evaluateFundingNeed(
input: FundingNeedInput,
): Result<FundingNeedResult> {
if (!Number.isInteger(input.annualOperatingCashFlowCents)) {
return fail("operating cash flow must be an integer amount in cents");
}
const growthError = nonNegative(
input.annualGrowthSpendCents,
"annual growth spend",
);
if (growthError) {
return fail(growthError);
}
const sdeError = positive(input.currentSdeCents, "current sde");
if (sdeError) {
return fail(sdeError);
}
const raiseError = positive(input.raiseCents, "raise");
if (raiseError) {
return fail(raiseError);
}
const preMoneyError = positive(input.preMoneyCents, "pre-money");
if (preMoneyError) {
return fail(preMoneyError);
}
const anchorError = positive(input.anchorValueCents, "anchor value");
if (anchorError) {
return fail(anchorError);
}
const multipleError = positive(
input.valuationMultipleBps,
"valuation multiple",
);
if (multipleError) {
return fail(multipleError);
}
const governanceError = nonNegative(
input.governanceCostBps,
"governance cost",
);
if (governanceError) {
return fail(governanceError);
}
if (input.governanceCostBps > 10000) {
return fail("governance cost must be at most 10000 bps");
}
const maxDilutionError = nonNegative(
input.maxDilutionBps,
"maximum dilution",
);
if (maxDilutionError) {
return fail(maxDilutionError);
}
if (input.maxDilutionBps > 10000) {
return fail("maximum dilution must be at most 10000 bps");
}
const positiveCashFlow = input.annualOperatingCashFlowCents > 0;
const selfFundsGrowth =
input.annualOperatingCashFlowCents >= input.annualGrowthSpendCents;
const dilutionAtPreMoneyBps = divide(
input.raiseCents,
input.raiseCents + input.preMoneyCents,
);
const dilutionAtAnchorBps = divide(
input.raiseCents,
input.raiseCents + input.anchorValueCents,
);
const valuationTooLow = dilutionAtAnchorBps > input.maxDilutionBps;
const requiredSdeIncreaseCents = Math.round(
(input.raiseCents * 10000) / input.valuationMultipleBps,
);
const requiredSdeGrowthBps = divide(
requiredSdeIncreaseCents,
input.currentSdeCents,
);
const governanceCostCents = applyRate(
input.anchorValueCents,
input.governanceCostBps,
);
const governanceExceedsRaise =
governanceCostCents > input.raiseCents;
let recommendation: FundingRecommendation;
if (positiveCashFlow && selfFundsGrowth) {
recommendation = "self-fund";
} else if (
!positiveCashFlow &&
!valuationTooLow &&
!governanceExceedsRaise
) {
recommendation = "raise";
} else {
recommendation = "debt";
}
return ok({
positiveCashFlow,
selfFundsGrowth,
dilutionAtPreMoneyBps,
dilutionAtAnchorBps,
valuationTooLow,
requiredSdeIncreaseCents,
requiredSdeGrowthBps,
governanceCostCents,
governanceExceedsRaise,
recommendation,
});
}
代码里的 requiredSdeIncreaseCents 是价值中性检验的核心:融资额除以估值倍数,得到这笔钱必须买回多少 SDE。valuationTooLow 用锚定估值而不是谈判估值计算,因为谈判估值可以被包装,锚定估值是买方在尽调后愿意付的价格。governanceExceedsRaise 则把治理代价折成美元,和融资额直接比较。
| 判据 | LedgerLite | Nord Studio |
|---|---|---|
| 经营现金流 | $64,299 | $25,740 |
| 年增长投入 | $16,800 | $55,000 |
| 现金流覆盖增长 | 是,3.83× | 否,0.47× |
| 锚定估值稀释 | 28.1% | 39.3% |
| 估值过低(上限 30%) | 否 | 是 |
| 治理成本 ÷ 融资额 | 76,877 ÷ 300,000 = 25.6% | 108,108 ÷ 100,000 = 108.1% |
| 判据结论 | 可自给 | 不融股权,考虑债 |
LedgerLite 的结论是「可自给」:现金流覆盖增长,锚定估值稀释 28.1% 没有超过 30% 的上限,治理成本只占融资额的 25.6%。这不等于它永远不该融资;它意味着融资的理由必须是加速,而不是生存。Nord 的结论是「不融股权,考虑债」:现金流覆盖不了 55,000 美元的第三人成本,锚定估值稀释 39.3% 超过上限,治理成本 108,108 美元超过融资额 100,000 美元。三个条件同时指向同一个方向,融资的性价比就很低。
Tidecast 是第三种对照。它年净得 138,171 美元、SDE 121,171 美元,买断制没有续费基数;下一部作品的 120,000 美元预算用自有现金更合适,股权融资买不到一条可续期的收入流。
小结
- 条件一:LedgerLite 经营现金流 64,299 美元、净现金增加 61,299 美元;只算运营费用的 runway 是 15.8 个月,含创始人薪酬是 8.6 个月。现金流为正,融资不是生存问题。
- 条件二:CAC 140 美元、回本 2.2 个月、LTV/CAC 30.9;SDE 是营销预算的 7.75 倍,经营现金流是 3.83 倍。增长可以自给,融资买的是速度。
- 条件三:Nord 按 4.5× SDE 融 100,000 美元出让 39.3%,按 3.0× 出让 49.3%;价值中性需要新增 22,222 到 33,333 美元 SDE,相当于当前 SDE 的 64.7% 到 97.1%。
- 条件四:Nord 的治理成本按锚定估值 70% 算是 108,108 美元,超过 100,000 美元融资额;4.5× 锚退出时每位合伙人从 77,220 美元降到 27,220 美元。
- 四个条件不用同时成立;任何一个成立,都值得先算一算再签 term sheet。
阅读导航:上一节:1.2 融资的稀释与治理代价 · 下一节:2.1 股权结构与表决权 。
常见错误与边界
- 把「现金流为正」当成「永远不需要融资」。 LedgerLite 的 runway 是 8.6 到 15.8 个月,不是无限;现金流为正只说明融资是选项,不是生存必需。
- 用当前 CAC 外推所有增长。 140 美元 CAC 对应的是当前渠道和当前规模;渠道饱和后 CAC 会上升,回本周期会变长,条件二的结论也会变。
- 用谈判估值代替锚定估值。 谈判估值可以被包装;判断估值是否过低,要用尽调后买方愿意付的锚定估值,而不是 term sheet 上的 pre-money。
- 只看稀释比例,不看价值中性检验。 39.3% 的稀释是否合理,取决于 100,000 美元能不能买回 22,222 美元新增 SDE;买不回来,稀释就是净损失。
- 把治理代价当成「虚的」。 Nord 的 1x 优先清算权在 154,440 美元退出时让每位合伙人从 77,220 美元降到 27,220 美元,这是实打实的现金差额。
- 忽略融资额与治理成本的比较。 108,108 美元的治理成本超过 100,000 美元融资额时,融资在经济上已经不划算,董事会席位只是把问题放大。
- 把 Nord 的结论套到所有服务型公司。 Nord 的特殊性是两位合伙人各 50%、服务收入 72.7%、前 3 家客户占 48%;换一家服务公司,三个数字都要重算。
- 把 Tidecast 的买断制当成「不需要资本」。 它不需要股权融资,是因为 138,171 美元净得可以覆盖下一部作品的 120,000 美元预算;如果下一部作品预算更高,结论会变。
- 把「不融资」当成「不增长」。 条件二的核心是增长可以自融资;不融资只意味着不用股权换速度,不意味着放弃增长。
- 把本节的比例当成真实报价。 30% 稀释上限、70% 治理成本、8% 到 12% 利率都是教学假设;真实交易需要专业意见,本节只做算术。
继续阅读
探索更多技术文章
浏览归档,发现更多关于系统设计、工具链和工程实践的内容。