asgard-ai-platform/biz-dupont
Apply DuPont Analysis to decompose Return on Equity (ROE) into profitability, efficiency, and leverage components. Use this skill when the user needs to diagnose why ROE is high or low, compare financial performance drivers across companies, or identify which operational lever to pull — even if they say 'why is our ROE declining' or 'how do we improve returns'.
npx skills add https://github.com/asgard-ai-platform/skills --skill biz-dupont
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.
Trigger conditions:
When NOT to use:
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.
| Component | Formula | What It Measures |
|-----------|---------|-----------------|
| Net Profit Margin | Net Income / Revenue | Profitability — how much of each dollar of revenue becomes profit |
| Asset Turnover | Revenue / Total Assets | Efficiency — how well assets generate revenue |
| Equity Multiplier | Total Assets / Shareholders' Equity | Leverage — how much debt amplifies equity returns |
Compare each component to industry benchmarks and trends:
Calculate DuPont components for 3-5 years. Identify:
Compare DuPont components across competitors to identify relative strengths/weaknesses.
> ⚠️ 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}
Scenario: DuPont for two Taiwanese retailers
| | Company A | Company B |
|---|---|---|
| Net Profit Margin | 2% | 8% |
| Asset Turnover | 3.5x | 1.2x |
| Equity Multiplier | 2.0x | 2.0x |
| ROE | 14% | 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 ✓
| Script | Description | Usage |
|--------|-------------|-------|
| scripts/dupont.py | Decompose ROE into 3-factor or 5-factor DuPont components | python scripts/dupont.py --help |
Run python scripts/dupont.py --verify to execute built-in sanity tests.
references/extended-dupont.mdTake asgard-ai-platform/biz-dupont from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.