metricengine.calculations.growth

Growth and CAGR calculations.

This module defines growth-rate calculations using namespaced registration. It returns ratios (0..1) by default for composability, with a separate percent-returning wrapper if needed.

metricengine.calculations.growth.simple_growth_rate(initial_value, final_value)[source]

Simple growth rate as a ratio: (final - initial) / initial.

Return type:

FinancialValue[Ratio]

Returns:

FV[Ratio] in 0..1 (can be negative if shrinking), or None if inputs invalid.

metricengine.calculations.growth.compound_growth_rate(initial_value, final_value, periods)[source]

Compound annual growth rate (CAGR) as a ratio (0..1):

CAGR = exp( ln(final / initial) / periods ) - 1

Notes

  • Requires strictly positive initial, final, and periods.

  • Returns None on invalid inputs unless policy.arithmetic_strict, in which case raises.

Return type:

FinancialValue[Ratio]

metricengine.calculations.growth.compound_growth_rate_percent(compound_growth_rate)[source]

CAGR as a percent (e.g., 0.10 -> ‘10%’).

Return type:

FinancialValue[Percent]

Growth Rate Calculations

metricengine.calculations.growth.simple_growth_rate(initial_value, final_value)[source]

Simple growth rate as a ratio: (final - initial) / initial.

Return type:

FinancialValue[Ratio]

Returns:

FV[Ratio] in 0..1 (can be negative if shrinking), or None if inputs invalid.

Revenue Growth