Code tool

DuPont Analysis Calculator

Enter net income, net sales and beginning and ending total assets and total equity using one reporting period, currency and scale. Review average balances, three factors and a direct ROE cross-check.

In-browser processingNo account requiredPrivacy details ↗

Use the same reporting period, currency and scale for all six values. Enter signed amounts manually. Average balances use the beginning and ending values.

This identity describes arithmetic relationships; it does not establish causality, business quality, forecasts or investment advice. Floating-point arithmetic can leave a small cross-check difference.

Method source: Understanding Accounting — DuPont analysis

A QUICK WALKTHROUGH

How to use this tool

  1. Enter all six same-period amounts with matching currency and scale.
  2. Calculate mean assets and equity, profit margin, asset turnover and the equity multiplier.
  3. Compare three-factor ROE with net income divided by average equity.

Three-factor identity

(NI / sales) × (sales / average assets) × (average assets / average equity) = NI / average equity. Average balances are the arithmetic mean of beginning and ending values. Understanding Accounting: https://understandingaccounting.org/concepts/dupont-analysis/.

Limits and reconciliation

Sales, average total assets and average total equity must be nonzero. Signed inputs are retained. Finite results are required; floating-point arithmetic may leave a small difference. Arithmetic agreement establishes neither causality nor business quality, forecasts or investment advice.

GOOD TO KNOW

Common questions

Which period and units should I use?

Use the same reporting period, currency and scale for all inputs. Asset and equity balances must be the beginning and end of that period. No annualization is applied.

What happens with zero denominators?

The tool rejects zero net sales, zero average assets or zero average equity because the three-factor identity is then undefined.

Are my financial values uploaded?

No. You enter the values manually and the browser calculates locally without fetching statements or storing inputs.