ROIC — Return on Invested Capital
Formula: ROIC = NOPAT / Average Invested Capital
No step is a black box. Every intermediate number (NOPAT, invested capital, effective tax rate) is recorded together with the CVM account it came from, and can be reconstructed by anyone from the public CVM files.
Step 1 — NOPAT
NOPAT = EBIT × (1 − effective tax rate)
- EBIT = CVM account 3.05 of the consolidated
DRE(income statement) ("Resultado Antes do Resultado Financeiro e dos Tributos" — income before financial result and taxes). We do not recompute an "adjusted" EBIT: we use what the company reported in the standardized chart of accounts. - Effective tax rate =
−(account 3.08) / (account 3.07)— income taxes (IR/CSLL) over pre-tax income. The minus sign exists because the income tax expense comes in negative in theDRE. - Declared guards (each one produces a flag visible in the data):
- Pre-tax income (LAIR) ≤ 0 (pre-tax loss): the effective tax rate loses its
meaning; we use the 34% marginal rate with flag
aliq_fallback_34. - Negative effective tax rate (tax credit): clamped at 0%, flag
aliq_travada_0. - Effective tax rate above 45%: clamped at the ceiling, flag
aliq_travada_45.
Step 2 — Invested Capital
Invested Capital = Gross Debt + Total Shareholders' Equity − Cash − Financial Investments
- Gross debt = 2.01.04 (current loans and financing) + 2.02.01 (non-current). Includes debentures and, from 2019 on, leases (IFRS 16) — see limitations.
- Total shareholders' equity = 2.03, including non-controlling interests (EBIT is also that of the whole consolidated group — numerator and denominator consistent).
- Cash = 1.01.01; Financial investments = 1.01.02.
- Average: we use the average between capital at the end of the previous
year and at the end of the current year. In the first year of the series
there is no previous year: we use only the ending value, with flag
capital_final_sem_media. - Invested capital ≤ 0: ROIC is not published (flag
capital_investido_nao_positivo) — dividing by negative capital produces a number with no economic meaning. - |ROIC| > 200%: published, but with flag
roic_extremo— almost always a holding company with a tiny invested capital, or a company under bankruptcy protection. The number is real (it is not an arithmetic error); it is the denominator that is too small for the ratio to mean "operating return" in the usual sense.
Methodology choices (and why)
- Goodwill stays in invested capital. We measure the return on the capital shareholders actually deployed, including what was paid in acquisitions. An "ex-goodwill ROIC" may be added in the future as a separate indicator — never swapped in silently.
- We do not exclude "minimum operating cash". Every such exclusion is arbitrary; we prefer the reproducible formula.
- IFRS 16 (2019): accounts 2.01.04/2.02.01 started including leases, and the composition of EBIT changed as well. Comparisons that cross 2018→2019 have a known structural break — it is documented here instead of hidden.
- Financial companies (banks, insurers) are out of scope. The concept of invested capital does not apply to a bank's balance sheet; for those, only ROE will make sense.
Source and verification
- Data: consolidated
DFP, CVM open data portal (ODbL license). - Every number goes through the battery of invariants (
pytest testes/) before being published: the balance sheet balances, theDREadds up, the scale is plausible, the series has no silent gap, restatements are recorded, extreme values are flagged.