mcpField
B
biz-dupont

biz-dupont

github.com/asgard-ai-platformData & databases24336 installsUpdated 21w ago
Repository

About biz-dupont

A financial analysis skill that breaks return on equity into net profit margin, asset turnover, and equity multiplier. It helps analysts diagnose performance drivers, track changes over time, and compare companies while flagging leverage risk.

Key features

  1. 01Three-factor ROE decomposition
  2. 02Profitability and efficiency diagnosis
  3. 03Multi-year component trend analysis
  4. 04Peer comparison of components
  5. 05Identification of leverage-driven ROE

Use cases

  1. 01Explaining why a company's ROE is high or low
  2. 02Comparing financial drivers across companies
  3. 03Finding operational levers to improve returns

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/asgard-ai-platform/skills --skill biz-dupont

After installing, type/biz-dupontin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

examples/
sample_input.json
references/
extended-dupont.md
scripts/
dupont.py

Details

From the project README

DuPont Analysis

Overview

DuPont decomposes ROE into three multiplicative components: Net Profit Margin × Asset Turnover × Equity Multiplier. This reveals whether ROE is driven by profitability, efficiency, or leverage — critical for diagnosis and comparison.

When to Use

Trigger conditions:

  • User asks "why is our ROE high/low?"
  • User comparing financial performance across companies
  • User needs to identify which operational lever improves returns
  • User analyzing profitability beyond top-line metrics

When NOT to use:

  • For company valuation → use DCF
  • For comprehensive ratio analysis → use Financial Ratios skill
  • For strategic positioning → use SWOT

Framework

IRON LAW: Three-Factor Decomposition

ROE = Net Profit Margin × Asset Turnover × Equity Multiplier
    = (Net Income/Revenue) × (Revenue/Total Assets) × (Total Assets/Equity)

All three factors MUST be calculated and analyzed. Reporting ROE without
decomposition is like reporting a fever without checking symptoms.
IRON LAW: High Leverage ≠ Good Performance

A high Equity Multiplier (Assets/Equity) inflates ROE through debt.
A company with 5% margin, 1.0x turnover, and 6x leverage has ROE of 30% —
but is one bad quarter away from insolvency. Always flag when leverage
is the dominant driver.
Step 1: Calculate the Three Components
ComponentFormulaWhat It Measures
Net Profit MarginNet Income / RevenueProfitability — how much of each dollar of revenue becomes profit
Asset TurnoverRevenue / Total AssetsEfficiency — how well assets generate revenue
Equity MultiplierTotal Assets / Shareholders' EquityLeverage — how much debt amplifies equity returns
Step 2: Diagnose the Driver

Compare each component to industry benchmarks and trends:

  • Margin-driven ROE: Premium brands, tech companies (high margin, lower turnover)
  • Turnover-driven ROE: Retail, fast food (low margin, high turnover)
  • Leverage-driven ROE: Banks, real estate (moderate margin, high leverage) — flag the risk
Step 3: Trend Analysis

Calculate DuPont components for 3-5 years. Identify:

  • Which component is improving/declining?
  • Is improving ROE driven by operations (margin, turnover) or financial engineering (leverage)?
Step 4: Peer Comparison

Compare DuPont components across competitors to identify relative strengths/weaknesses.

Output Format

⚠️ Decimal vs percent: The bundled script returns ROE and all margin/burden components as decimals (0.2014 means 20.14%, NOT 20.14). The narrative table below renders them as percentages for humans, but JSON outputs and any downstream pipeline must use decimals consistently.

# DuPont Analysis: {Company}

## ROE Decomposition

| Component | Value | Industry Avg | Trend (3yr) |
|-----------|-------|-------------|-------------|
| Net Profit Margin | X% | X% | ↑/↓/→ |
| Asset Turnover | X.Xx | X.Xx | ↑/↓/→ |
| Equity Multiplier | X.Xx | X.Xx | ↑/↓/→ |
| **ROE** | **X%** | **X%** | ↑/↓/→ |

## Diagnosis
- Primary ROE driver: {margin / turnover / leverage}
- Risk flag: {leverage concern if applicable}

## Peer Comparison
| Company | Margin | Turnover | Leverage | ROE |
|---------|--------|----------|----------|-----|
| {Company} | X% | X.Xx | X.Xx | X% |
| {Peer A} | ... | ... | ... | ... |

## Recommendations
1. {Which lever to improve and how}

Examples

Correct Application

Scenario: DuPont for two Taiwanese retailers

Company ACompany B
Net Profit Margin2%8%
Asset Turnover3.5x1.2x
Equity Multiplier2.0x2.0x
ROE14%19.2%

Diagnosis: Company A is turnover-driven (high-volume, low-margin retail). Company B is margin-driven (premium positioning). Both have similar leverage — ROE difference comes from operations ✓

Incorrect Application
  • ROE is 25% and reported as "excellent" without decomposition. Turns out: Margin 3%, Turnover 1.0x, Leverage 8.3x → Almost entirely leverage-driven, extremely risky. Violates Iron Law: must decompose.

Gotchas

  • Extended 5-factor DuPont: For deeper analysis, decompose margin into Tax Burden × Interest Burden × Operating Margin. Useful when comparing across tax jurisdictions.
  • Negative equity breaks the model: Companies with accumulated losses can have negative equity, making the multiplier meaningless. Note and use alternative metrics.
  • One-time items distort margin: Use normalized/adjusted net income to avoid single-year spikes from asset sales, write-downs, or legal settlements.
  • Turnover varies wildly by industry: Asset-light businesses (SaaS) have naturally high turnover. Capital-heavy businesses (manufacturing) have low turnover. Compare within industry only.

Scripts

ScriptDescriptionUsage
scripts/dupont.pyDecompose ROE into 3-factor or 5-factor DuPont componentspython scripts/dupont.py --help

Run python scripts/dupont.py --verify to execute built-in sanity tests.

References

  • For 5-factor DuPont extension, see references/extended-dupont.md

Comments

Markdown supported