lbo-model
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseTEMPLATE REQUIREMENT
模板要求
This skill uses templates for LBO models. Always check for an attached template file first.
Before starting any LBO model:
- If a template file is attached/provided: Use that template's structure exactly - copy it and populate with the user's data
- If no template is attached: Ask the user: "Do you have a specific LBO template you'd like me to use? If not, I can use the standard template which includes Sources & Uses, Operating Model, Debt Schedule, and Returns Analysis."
- If using the standard template: Copy as your starting point and populate it with the user's assumptions
examples/LBO_Model.xlsx
IMPORTANT: When a file like is attached, you MUST use it as your template - do not build from scratch. Even if the template seems complex or has more features than needed, copy it and adapt it to the user's requirements. Never decide to "build from scratch" when a template is provided.
LBO_Model.xlsx本技能使用LBO模型模板。请始终先检查是否有附加的模板文件。
在开始构建任何LBO模型前:
- 若已附加/提供模板文件:严格遵循该模板的结构——复制模板并填入用户的数据
- 若未附加模板:询问用户:"你是否有特定的LBO模板需要我使用?如果没有,我可以使用包含资金来源与用途、运营模型、债务计划和回报分析的标准模板。"
- 若使用标准模板:复制作为起始文件,并填入用户的假设数据
examples/LBO_Model.xlsx
重要提示:当附加了这类文件时,你必须将其作为模板使用——切勿从头构建。即使模板看起来复杂或功能超出需求,也要复制模板并根据用户要求调整。当提供了模板时,绝不能决定“从头构建”。
LBO_Model.xlsxCRITICAL INSTRUCTIONS FOR CLAUDE - READ FIRST
给Claude的关键说明 - 请先阅读
Environment: Office JS vs Python
运行环境:Office JS vs Python
If running inside Excel (Office Add-in / Office JS environment):
- Use Office JS () directly — do NOT use Python/openpyxl
Excel.run(async (context) => {...}) - Write formulas via — Office JS formulas recalculate natively in the live workbook
range.formulas = [["=B5*B6"]] - The same formulas-over-hardcodes rule applies: set , never
range.formulasfor anything that should be a calculationrange.values - Use /
range.format.font.colorfor the blue/black/purple/green conventionrange.format.fill.color - No separate recalc step needed — Excel handles calculation natively
- Merged cell pitfall: Do NOT call then set
.merge()on the merged range (throws.values— range still reports original dimensions). Instead: write value to top-left cell alone (InvalidArgument), then merge + format the full range (ws.getRange("A7").values = [["SOURCES & USES"]])ws.getRange("A7:F7").merge(); ws.getRange("A7:F7").format.fill.color = "#1F4E79";
If generating a standalone .xlsx file (no live Excel session):
- Use Python/openpyxl as described below
- Write formula strings (), then run
ws["D20"] = "=B5*B6"before deliveryrecalc.py
The rest of this skill is written with openpyxl examples, but the same principles apply to Office JS — just translate the API calls.
若在Excel内部运行(Office 插件 / Office JS环境):
- 直接使用Office JS()——请勿使用Python/openpyxl
Excel.run(async (context) => {...}) - 通过写入公式——Office JS公式会在实时工作簿中自动重新计算
range.formulas = [["=B5*B6"]] - 同样遵循“公式优先,避免硬编码”规则:设置,对于任何需要计算的内容,绝不要设置
range.formulasrange.values - 使用/
range.format.font.color来实现蓝/黑/紫/绿的字体颜色规范range.format.fill.color - 无需单独的重新计算步骤——Excel会自动处理计算
- 合并单元格陷阱:不要先调用再对合并区域设置
.merge()(会抛出.values错误——区域仍会报告原始尺寸)。正确做法:仅向左上角单元格写入值(InvalidArgument),然后合并并格式化整个区域(ws.getRange("A7").values = [["资金来源与用途"]])ws.getRange("A7:F7").merge(); ws.getRange("A7:F7").format.fill.color = "#1F4E79";
若生成独立的.xlsx文件(无实时Excel会话):
- 按如下说明使用Python/openpyxl
- 写入公式字符串(),然后在交付前运行
ws["D20"] = "=B5*B6"recalc.py
本技能的其余部分以openpyxl示例编写,但相同原则适用于Office JS——只需转换API调用即可。
Core Principles
核心原则
- Every calculation must be an Excel formula - NEVER compute values in Python and hardcode results into cells. When using openpyxl, write (formula string), NOT
cell.value = "=B5*B6"(computed result). The model must be dynamic and update when inputs change.cell.value = 1250 - Use the template structure - Follow the organization in or the user's provided template. Do not invent your own layout.
examples/LBO_Model.xlsx - Use proper cell references - All formulas should reference the appropriate cells. Never type numbers that should come from other cells.
- Maintain sign convention consistency - Follow whatever sign convention the template uses (some use negative for outflows, some use positive). Be consistent throughout.
- Work section by section, verify with user at each step - Complete one section fully, show the user what was built, run the section's verification checks, and get confirmation BEFORE moving to the next section. Do NOT build the entire model end-to-end and then present it — later sections depend on earlier ones, so catching a mistake in Sources & Uses after the returns are already built means rework everywhere.
- 所有计算必须使用Excel公式 - 绝不要在Python中计算值并将结果硬编码到单元格中。使用openpyxl时,应写入(公式字符串),而非
cell.value = "=B5*B6"(计算结果)。模型必须是动态的,能在输入值变化时自动更新。cell.value = 1250 - 遵循模板结构 - 遵循或用户提供模板中的组织方式。切勿自行设计布局。
examples/LBO_Model.xlsx - 使用正确的单元格引用 - 所有公式都应引用相应的单元格。绝不要手动输入应来自其他单元格的数值。
- 保持符号约定一致性 - 遵循模板使用的任何符号约定(有些用负数表示流出,有些用正数)。全程保持一致。
- 分节处理,每一步都与用户确认 - 完整完成一个章节,向用户展示已构建的内容,运行该章节的验证检查,获得确认后再进入下一章节。切勿从头至尾构建完整模型后再展示——后续章节依赖于前面的内容,因此在回报计算完成后才发现资金来源与用途中的错误,意味着所有地方都需要返工。
Formula Color Conventions
公式字体颜色规范
- Blue (0000FF): Hardcoded inputs - typed numbers that don't reference other cells
- Black (000000): Formulas with calculations - any formula using operators or functions (,
=B4*B5,=SUM())=-MAX(0,B4) - Purple (800080): Links to cells on the same tab - direct references with no calculation (,
=B9)=B45 - Green (008000): Links to cells on different tabs - cross-sheet references (,
=Assumptions!B5)='Operating Model'!C10
- 蓝色(0000FF):硬编码输入值——手动输入的、不引用其他单元格的数值
- 黑色(000000):带计算的公式——任何使用运算符或函数的公式(、
=B4*B5、=SUM())=-MAX(0,B4) - 紫色(800080):指向同一工作表单元格的链接——无计算的直接引用(、
=B9)=B45 - 绿色(008000):指向不同工作表单元格的链接——跨工作表引用(、
=Assumptions!B5)='Operating Model'!C10
Fill Color Palette — Professional Blues & Greys (Default unless user/template specifies otherwise)
填充色调色板 — 专业蓝灰系(除非用户/模板另有指定,否则使用默认)
- Keep it minimal — only use blues and greys for cell fills. Do NOT introduce greens, yellows, reds, or multiple accents. A professional LBO model uses restraint.
- Default fill palette:
- Section headers (Sources & Uses, Operating Model, etc.): Dark blue with white bold text
#1F4E79 - Column headers (Year 1, Year 2, etc.): Light blue with black bold text
#D9E1F2 - Input cells: Light grey (or just white) — the blue font is the signal, fill is secondary
#F2F2F2 - Formula/calculated cells: White, no fill
- Key outputs (IRR, MOIC, Exit Equity): Medium blue with black bold text
#BDD7EE
- Section headers (Sources & Uses, Operating Model, etc.): Dark blue
- That's the whole palette. 3 blues + 1 grey + white. If the template uses its own colors, follow the template instead.
- Note: The blue/black/purple/green font colors above are for distinguishing inputs vs formulas vs links. Those are separate from the fill palette here — both work together.
- 保持简洁 — 仅使用蓝色和灰色作为单元格填充色。切勿使用绿色、黄色、红色或多种强调色。专业的LBO模型需保持克制。
- 默认填充色调色板:
- 章节标题(资金来源与用途、运营模型等):深蓝色,搭配白色粗体文字
#1F4E79 - 列标题(第1年、第2年等):浅蓝色,搭配黑色粗体文字
#D9E1F2 - 输入单元格:浅灰色(或白色)——蓝色字体是核心标识,填充色为次要
#F2F2F2 - 公式/计算单元格:白色,无填充
- 关键输出(IRR、MOIC、退出股权价值):中蓝色,搭配黑色粗体文字
#BDD7EE
- 章节标题(资金来源与用途、运营模型等):深蓝色
- 以上就是全部调色板。3种蓝色 + 1种灰色 + 白色。如果模板使用自有颜色,请遵循模板的设置。
- 注意:上述蓝/黑/紫/绿字体颜色用于区分输入值、公式和链接。它们与此处的填充调色板是分开的——两者共同作用。
Number Formatting Standards
数字格式标准
- Currency: or
$#,##0;($#,##0);"-"depending on template$#,##0.0 - Percentages: (one decimal)
0.0% - Multiples: (one decimal)
0.0"x" - MOIC/Detailed Ratios: (two decimals for precision)
0.00"x" - All numeric cells: Right-aligned
- 货币:或根据模板使用
$#,##0;($#,##0);"-"$#,##0.0 - 百分比:(保留一位小数)
0.0% - 倍数:(保留一位小数)
0.0"x" - MOIC/详细比率:(保留两位小数以保证精度)
0.00"x" - 所有数值单元格:右对齐
Clarify Requirements First
先明确需求
Before filling any formulas:
- Examine the template structure - Identify all sections, understand the timeline (which columns are which periods), note any existing formulas
- Ask the user if anything is unclear - If the template structure, calculation methods, or requirements are ambiguous, ask before proceeding
- Confirm key assumptions - Any key inputs, calculation preferences, or specific requirements
- ONLY AFTER understanding the template, proceed to fill in formulas
在填充任何公式前:
- 检查模板结构 - 识别所有章节,了解时间线(各列对应哪个期间),注意任何已有的公式
- 询问用户是否有不明确的地方 - 如果模板结构、计算方法或要求存在歧义,请先询问再继续
- 确认关键假设 - 任何关键输入值、计算偏好或特定要求
- 只有在理解模板后,再开始填充公式
TEMPLATE ANALYSIS PHASE - DO THIS FIRST
模板分析阶段 - 请先完成此步骤
Before filling any formulas, examine the template thoroughly:
-
Map the structure - Identify where each section lives and how they relate to each other. Note which sections feed into others.
-
Understand the timeline - Which columns represent which periods? Is there a "Closing" or "Pro Forma" column? Where does the projection period start?
-
Identify input vs formula cells - Templates often use color coding, borders, or shading to indicate which cells need inputs vs formulas. Respect these conventions.
-
Read existing labels carefully - The row labels tell you exactly what calculation is expected. Don't assume - read what the template is asking for.
-
Check for existing formulas - Some templates come partially filled. Don't overwrite working formulas unless specifically asked.
-
Note template-specific conventions - Sign conventions, subtotal structures, how sections are organized, whether there are separate tabs for different components, etc.
在填充任何公式前,彻底检查模板:
-
梳理结构 - 确定每个章节的位置以及它们之间的关系。记录哪些章节为其他章节提供数据。
-
理解时间线 - 各列分别代表哪个期间?是否有“交割”或“备考”列?预测期从哪里开始?
-
区分输入单元格与公式单元格 - 模板通常使用颜色编码、边框或底纹来标识哪些单元格需要输入值,哪些需要公式。请遵循这些约定。
-
仔细阅读现有标签 - 行标签会明确告诉你需要进行何种计算。不要假设,仔细阅读模板的要求。
-
检查现有公式 - 有些模板会预先填充部分内容。除非特别要求,否则不要覆盖正常工作的公式。
-
记录模板特定约定 - 符号约定、小计结构、章节组织方式、是否为不同组件设置了单独工作表等。
FILLING FORMULAS - GENERAL APPROACH
填充公式 - 通用方法
For each cell that needs a formula, follow this hierarchy:
对于每个需要填充公式的单元格,请遵循以下优先级:
Step 1: Check the Template
步骤1:检查模板
- Does the cell already have a formula? If yes, verify it's correct and move on.
- Is there a comment or note indicating the expected calculation?
- Does the row/column label make the calculation obvious?
- Do neighboring cells show a pattern you should follow?
- 单元格是否已有公式?如果有,验证其正确性后继续。
- 是否有注释或说明指出预期的计算方式?
- 行/列标签是否明确了计算内容?
- 相邻单元格是否显示出你应遵循的模式?
Step 2: Check the User's Instructions
步骤2:检查用户说明
- Did the user specify a particular calculation method?
- Are there stated assumptions that affect this formula?
- Any special requirements mentioned?
- 用户是否指定了特定的计算方法?
- 是否有明确的假设会影响此公式?
- 是否提到了任何特殊要求?
Step 3: Apply Standard Practice
步骤3:应用标准实践
- If neither template nor user specifies, use standard LBO modeling conventions
- Document any assumptions you make
- If genuinely uncertain, ask the user
- 如果模板和用户都未指定,请使用标准LBO建模约定
- 记录你做出的任何假设
- 如果确实不确定,请询问用户
COMMON PROBLEM AREAS
常见问题区域
The following calculation patterns frequently cause issues across LBO models. Pay special attention when you encounter these:
以下计算模式在LBO模型中经常引发问题。遇到这些情况时请特别注意:
Balancing Sections
章节平衡
- When two sections must equal (e.g., Sources = Uses), one item is typically the "plug" (balancing figure)
- Identify which item is the plug and calculate it as the difference
- 当两个章节必须相等时(例如,资金来源 = 资金用途),通常有一个项目是“填充项”(平衡数)
- 确定哪个项目是填充项,并将其计算为差额
Tax Calculations
税务计算
- Tax formulas should only reference the relevant income line and tax rate
- Should NOT reference unrelated sections (e.g., debt schedules)
- Consider whether losses create tax shields or are simply ignored
- 税务公式应仅引用相关的收入行和税率
- 不应引用无关章节(例如,债务计划)
- 考虑亏损是否会产生税盾或直接被忽略
Interest and Circular References
利息与循环引用
- Interest calculations can create circularity if they reference balances affected by cash flows
- Use Beginning Balance (not average or ending) to break circular references
- Pattern: Interest → Cash Flow → Paydown → Ending Balance (if interest uses ending balance, this circles back)
- 如果利息计算引用受现金流影响的余额,可能会产生循环引用
- 使用期初余额(而非平均或期末余额)来打破循环引用
- 模式:利息 → 现金流 → 偿还 → 期末余额(如果利息使用期末余额,就会形成循环)
Debt Paydown / Cash Sweeps
债务偿还 / 现金归集
- When multiple debt tranches exist, there's usually a priority order
- Cash sweep should respect the priority waterfall
- Balances cannot go negative - use MAX or MIN functions appropriately
- 当存在多个债务层级时,通常有优先级顺序
- 现金归集应遵循优先级 waterfall
- 余额不能为负——适当使用MAX或MIN函数
Returns Calculations (IRR/MOIC)
回报计算(IRR/MOIC)
- Cash flows must have correct signs: Investment = negative, Proceeds = positive
- If using XIRR, need corresponding dates
- If using IRR, cash flows should be in consecutive periods
- MOIC = Total Proceeds / Total Investment
- 现金流必须有正确的符号:投资 = 负数,收益 = 正数
- 如果使用XIRR,需要对应的日期
- 如果使用IRR,现金流应按连续期间排列
- MOIC = 总收益 / 总投资
Sensitivity Tables
敏感性分析表
- Use ODD dimensions (5×5 or 7×7) — never 4×4 or 6×6. Odd dimensions guarantee a true center cell.
- Center cell = base case. Build the row and column axis values symmetrically around the model's actual assumptions (e.g., if base entry multiple = 10.0x, axis = ). The center cell's IRR/MOIC MUST then equal the model's actual IRR/MOIC output — this is the proof the table is wired correctly.
[8.0x, 9.0x, 10.0x, 11.0x, 12.0x] - Highlight the center cell — medium-blue fill () + bold font so the base case is visually anchored.
#BDD7EE - Excel's DATA TABLE function may not work with openpyxl — instead write explicit formulas that reference row/column headers
- Each cell should show a DIFFERENT value — if all same, formulas aren't varying correctly
- Use mixed references (e.g., for row input,
$A5for column input)B$4
- 使用奇数维度(5×5或7×7)——绝不要使用4×4或6×6。奇数维度确保有一个真正的中心单元格。
- 中心单元格 = 基准情形。围绕模型的实际假设对称构建行和列轴值(例如,如果基准退出倍数 = 10.0x,轴值 = )。中心单元格的IRR/MOIC必须与模型的实际IRR/MOIC输出相等——这是验证表格设置正确的证明。
[8.0x, 9.0x, 10.0x, 11.0x, 12.0x] - 高亮中心单元格——使用中蓝色填充() + 粗体字体,以便基准情形在视觉上清晰突出。
#BDD7EE - Excel的DATA TABLE函数可能无法与openpyxl配合使用——取而代之的是写入引用行/列标题的显式公式
- 每个单元格应显示不同的值——如果所有值都相同,说明公式未随输入值变化
- 使用混合引用(例如,用于行输入,
$A5用于列输入)B$4
VERIFICATION CHECKLIST - RUN AFTER COMPLETION
验证检查清单 - 完成后运行
Run Formula Validation
运行公式验证
bash
python /mnt/skills/public/xlsx/recalc.py model.xlsxMust return success with zero errors.
bash
python /mnt/skills/public/xlsx/recalc.py model.xlsx必须返回成功且零错误。
Section Balancing
章节平衡
- Any sections that must balance (Sources/Uses, Assets/Liabilities) balance exactly
- Plug items are calculated correctly as the balancing figure
- Amounts that should match across sections are consistent
- 所有需要平衡的章节(资金来源/用途、资产/负债)完全平衡
- 填充项计算正确,为差额值
- 应在不同章节间匹配的金额保持一致
Income/Operating Projections
收入/运营预测
- Revenue/top-line builds correctly from drivers or growth rates
- All cost and expense items calculated appropriately
- Subtotals and totals sum correctly
- Margins and ratios are reasonable
- Links to assumptions are correct
- 收入/顶线根据驱动因素或增长率正确构建
- 所有成本和费用项目计算适当
- 小计和总计求和正确
- 利润率和比率合理
- 与假设的链接正确
Balance Sheet (if applicable)
资产负债表(如适用)
- Assets = Liabilities + Equity (must balance)
- All items link to appropriate schedules or roll-forwards
- Beginning balances = prior period ending balances
- Check row included and shows zero
- 资产 = 负债 + 权益(必须平衡)
- 所有项目链接到适当的明细表或滚动计算表
- 期初余额 = 上期期末余额
- 检查行已包含且显示为零
Cash Flow (if applicable)
现金流量表(如适用)
- Starts with correct income figure
- Non-cash items added/subtracted appropriately
- Working capital changes have correct signs
- Ending Cash = Beginning Cash + Net Cash Flow
- Cash balances are consistent across statements
- 以正确的收入数字开头
- 非现金项目已适当加减
- 营运资金变动的符号正确
- 期末现金 = 期初现金 + 净现金流
- 现金余额在各报表间保持一致
Supporting Schedules
支持明细表
- Roll-forward schedules balance (Beginning + Changes = Ending)
- Schedules link correctly to main statements
- Calculated items use appropriate drivers
- All periods are calculated consistently
- 滚动计算表平衡(期初 + 变动 = 期末)
- 明细表正确链接到主报表
- 计算项目使用适当的驱动因素
- 所有期间的计算保持一致
Debt/Financing Schedules (if applicable)
债务/融资明细表(如适用)
- Beginning balances tie to sources or prior period
- Interest calculated on appropriate balance (typically beginning)
- Paydowns respect cash availability and priority
- Ending balances cannot be negative
- Totals sum tranches correctly
- 期初余额与资金来源或上期数据一致
- 利息根据适当的余额计算(通常为期初余额)
- 偿还遵循现金可用性和优先级
- 期末余额不能为负
- 总计正确汇总各债务层级
Returns/Output Analysis
回报/输出分析
- Exit/terminal values calculated correctly
- All relevant adjustments included
- Cash flow signs are correct (negative for investment, positive for proceeds)
- IRR/MOIC formulas reference complete ranges
- Results are reasonable for the scenario
- 退出/终值计算正确
- 包含所有相关调整
- 现金流符号正确(投资为负,收益为正)
- IRR/MOIC公式引用完整的范围
- 结果符合该类分析的合理范围
Sensitivity Tables (if applicable)
敏感性分析表(如适用)
- Grid dimensions are ODD (5×5 or 7×7) — there is a true center cell
- Row and column axis values are symmetric around the base case ()
[base-2Δ, base-Δ, base, base+Δ, base+2Δ] - Center cell output equals the model's actual IRR/MOIC — confirms the table is wired correctly
- Center cell is highlighted (medium-blue fill , bold font)
#BDD7EE - Row and column headers contain appropriate input values
- Each data cell contains a formula (not hardcoded)
- Each data cell shows a DIFFERENT value
- Values move in expected directions (higher exit multiple → higher IRR, etc.)
- 网格维度为奇数(5×5或7×7)——存在真正的中心单元格
- 行和列轴值围绕基准情形对称()
[基准-2Δ, 基准-Δ, 基准, 基准+Δ, 基准+2Δ] - 中心单元格的输出等于模型的实际IRR/MOIC——确认表格设置正确
- 中心单元格已高亮(中蓝色填充,粗体字体)
#BDD7EE - 行和列标题包含适当的输入值
- 每个数据单元格包含公式(而非硬编码)
- 每个数据单元格显示不同的值
- 值的变化符合预期方向(更高的退出倍数 → 更高的IRR等)
Formatting
格式
- Hardcoded inputs are blue (0000FF)
- Calculated formulas are black (000000)
- Same-tab links are purple (800080)
- Cross-tab links are green (008000)
- All numbers are right-aligned
- Appropriate number formats applied throughout
- No cells show error values (#REF!, #DIV/0!, #VALUE!, #NAME?)
- 硬编码输入值为蓝色(0000FF)
- 计算公式为黑色(000000)
- 同工作表链接为紫色(800080)
- 跨工作表链接为绿色(008000)
- 所有数字右对齐
- 全程应用适当的数字格式
- 无单元格显示错误值(#REF!、#DIV/0!/#VALUE!、#NAME?)
Logical Sanity Checks
逻辑合理性检查
- Numbers are reasonable order of magnitude
- Trends make sense (growth, decline, stabilization as expected)
- No obviously wrong values (negative where should be positive, impossible percentages, etc.)
- Key outputs are within reasonable ranges for the type of analysis
- 数值的数量级合理
- 趋势符合逻辑(如预期的增长、下降、稳定)
- 无明显错误的值(应为正却为负、不可能的百分比等)
- 关键输出在该类分析的合理范围内
COMMON ERRORS TO AVOID
需避免的常见错误
| Error | What Goes Wrong | How to Fix |
|---|---|---|
| Hardcoding calculated values | Model doesn't update when inputs change | Always use formulas that reference source cells |
| Wrong cell references after copying | Formulas point to wrong cells | Verify all links, use appropriate $ anchoring |
| Circular reference errors | Model can't calculate | Use beginning balances for interest-type calcs, break the circle |
| Sections don't balance | Totals that should match don't | Ensure one item is the plug (calculated as difference) |
| Negative balances where impossible | Paying/using more than available | Use MAX(0, ...) or MIN functions appropriately |
| IRR/return errors | Wrong signs or incomplete ranges | Check cash flow signs and ensure formula covers all periods |
| Sensitivity table shows same value | Formula not varying with inputs | Check cell references - need mixed references ($A5, B$4) |
| Roll-forwards don't tie | Beginning ≠ prior ending | Verify links between periods |
| Inconsistent sign conventions | Additions become subtractions or vice versa | Follow template's convention consistently throughout |
| 错误 | 问题所在 | 修复方法 |
|---|---|---|
| 硬编码计算值 | 输入值变化时模型不会更新 | 始终使用引用源单元格的公式 |
| 复制后单元格引用错误 | 公式指向错误的单元格 | 验证所有链接,使用适当的$锚定 |
| 循环引用错误 | 模型无法计算 | 对利息类计算使用期初余额,打破循环 |
| 章节不平衡 | 应匹配的总计不相等 | 确保有一个项目是填充项(计算为差额) |
| 出现不可能的负余额 | 支付/使用金额超过可用额度 | 适当使用MAX(0, ...)或MIN函数 |
| IRR/回报错误 | 符号错误或范围不完整 | 检查现金流符号,确保公式覆盖所有期间 |
| 敏感性分析表显示相同值 | 公式未随输入值变化 | 检查单元格引用——需要混合引用($A5, B$4) |
| 滚动计算表不匹配 | 期初 ≠ 上期期末 | 验证期间间的链接 |
| 符号约定不一致 | 加变成减,或反之 | 全程遵循模板的约定 |
WORKING WITH THE USER — SECTION-BY-SECTION CHECKPOINTS
与用户协作 — 分节检查点
- If the template structure is unclear, ask before proceeding
- If the user's requirements conflict with the template, confirm their preference
- After completing each major section, STOP and verify with the user before continuing:
- After Sources & Uses → show the balanced table, confirm the plug is correct, get sign-off before building the operating model
- After Operating Model / Projections → show the projected P&L, confirm growth rates and margins look right, get sign-off before the debt schedule
- After Debt Schedule → show beginning/ending balances and interest, confirm the waterfall logic, get sign-off before returns
- After Returns (IRR/MOIC) → show the cash flow series and outputs, confirm signs and ranges, get sign-off before sensitivity tables
- After Sensitivity Tables → show that each cell varies, confirm the base case lands where expected
- If errors are found during verification, fix them before moving to the next section
- Show your work - explain key formulas or assumptions when helpful
- Never present a completed model without having checked in at each section — it's faster to catch a wrong cell reference at the source than to trace it backwards from a broken IRR
This skill produces investment banking-quality LBO models by filling templates with correct formulas, proper formatting, and validated calculations. The skill adapts to any template structure while ensuring financial accuracy and professional presentation standards.
- 如果模板结构不明确,请先询问再继续
- 如果用户要求与模板冲突,请确认其偏好
- 完成每个主要章节后,暂停并与用户验证后再继续:
- 完成资金来源与用途后 → 展示平衡的表格,确认填充项正确,获得批准后再构建运营模型
- 完成运营模型 / 预测后 → 展示预测的利润表,确认增长率和利润率看起来合理,获得批准后再处理债务计划
- 完成债务计划后 → 展示期初/期末余额和利息,确认waterfall逻辑,获得批准后再计算回报
- 完成回报(IRR/MOIC)后 → 展示现金流序列和输出,确认符号和范围,获得批准后再制作敏感性分析表
- 完成敏感性分析表后 → 展示每个单元格的值都有变化,确认基准情形符合预期
- 如果在验证过程中发现错误,请在进入下一章节前修复
- 展示你的工作——必要时解释关键公式或假设
- 绝不要在未分节检查的情况下展示完整模型——在已损坏的IRR结果中追溯错误的单元格引用,比在源头发现要耗时得多
本技能通过为模板填充正确的公式、设置适当的格式并进行验证计算,生成投资银行级别的LBO模型。该技能可适配任意模板结构,同时确保财务准确性和专业展示标准。