{
  "id": "growth-rate",
  "version": "3dfc62509555",
  "status": "published",
  "name": "Growth Rate Calculator",
  "question": "What is my growth rate?",
  "summary": "Finds the average growth rate per period between a start value and an end value: the compound rate, the linear (simple) rate, and the total change, with a growth curve.",
  "category": "math",
  "subcategory": "algebra",
  "url": "https://www.acalculator.org/math/growth-rate-calculator",
  "markdown": "https://www.acalculator.org/math/growth-rate-calculator.md",
  "kind": "function",
  "method": "Compound rate = (end ÷ start)^(1/n) − 1; linear rate = (end − start) ÷ (start × n); total growth = (end − start) ÷ start.",
  "assumptions": [
    "The start value is more than 0 and the end value is 0 or more; the number of periods is more than 0 and may be a fraction.",
    "The compound rate assumes steady growth by the same percent each period; the linear rate assumes the same amount each period.",
    "The total growth, linear rate and change are worked out exactly from the decimals typed."
  ],
  "inputs": {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "type": "object",
    "properties": {
      "from": {
        "title": "Start value",
        "description": "The value at the beginning, more than 0.",
        "type": "number",
        "exclusiveMinimum": 0,
        "maximum": 1000000000000000
      },
      "to": {
        "title": "End value",
        "description": "The value at the end, 0 or more.",
        "type": "number",
        "minimum": 0,
        "maximum": 1000000000000000
      },
      "n": {
        "title": "Number of periods",
        "description": "How many periods (years, months, quarters) lie between the two values, more than 0.",
        "type": "number",
        "exclusiveMinimum": 0,
        "maximum": 1000
      }
    }
  },
  "outputs": {
    "compound": {
      "label": "Compound growth rate per period",
      "description": "The steady rate per period that turns the start value into the end value: (end ÷ start)^(1/n) − 1.",
      "format": "percent"
    },
    "linear": {
      "label": "Linear growth rate per period",
      "description": "The total change spread evenly over the periods, as a percent of the start value: (end − start) ÷ (start × n).",
      "format": "percent"
    },
    "total": {
      "label": "Total growth",
      "description": "The change from start to end as a percent of the start value.",
      "format": "percent"
    },
    "change": {
      "label": "Change",
      "description": "The end value minus the start value.",
      "format": "number"
    }
  },
  "defaultAnswer": {
    "inputs": {
      "from": 200,
      "to": 300,
      "n": 5
    },
    "outputs": {
      "compound": 8.447177119769862,
      "linear": 10,
      "total": 50,
      "change": 100
    },
    "text": "From 200 to 300 over 5 periods is a compound growth rate of 8.4472% per period."
  },
  "examples": [
    {
      "given": {
        "from": 200,
        "to": 300,
        "n": 5
      },
      "expect": {
        "compound": 8.447177119769854,
        "linear": 10,
        "total": 50,
        "change": 100
      },
      "source": "hand calculation in content.mdx: 1.5^(1/5) − 1; Python 3: (300 / 200) ** (1 / 5) - 1 = 0.08447177119769855; compound rate formula as in https://en.wikipedia.org/wiki/Compound_annual_growth_rate"
    },
    {
      "given": {
        "from": 1000,
        "to": 1210,
        "n": 2
      },
      "expect": {
        "compound": 10,
        "linear": 10.5,
        "total": 21
      },
      "source": "hand calculation in content.mdx: 1.21 = 1.1², so 10% a period; the linear rate is 21% ÷ 2",
      "tolerance": 1e-12
    },
    {
      "given": {
        "from": 80,
        "to": 60,
        "n": 3
      },
      "expect": {
        "compound": -9.143970358393018,
        "linear": -8.333333333333334,
        "total": -25,
        "change": -20
      },
      "source": "hand calculation in content.mdx: 0.75^(1/3) − 1; Python 3: (60 / 80) ** (1 / 3) - 1 = -0.09143970358393017"
    },
    {
      "given": {
        "from": 0.1,
        "to": 0.3,
        "n": 1
      },
      "expect": {
        "compound": 200,
        "linear": 200,
        "total": 200,
        "change": 0.2
      },
      "source": "hand calculation in content.mdx: exact decimals, 0.3 − 0.1 = 0.2 and 0.2 ÷ 0.1 = 2"
    }
  ],
  "sources": [
    "OpenStax, College Algebra 2e, section 6.1 Exponential Functions (finding an exponential function from two points): https://openstax.org/books/college-algebra-2e/pages/6-1-exponential-functions",
    "Wikipedia, Compound annual growth rate (the compound rate formula and its linear counterpart): https://en.wikipedia.org/wiki/Compound_annual_growth_rate"
  ],
  "related": [
    "exponential-growth",
    "cagr",
    "percentage-change",
    "percentage-increase"
  ],
  "changelog": []
}
