How to Calculate Month on Month Growth Rate in Excel

Month-on-Month (MoM) Growth Calculator

Revenue, Users, or Traffic from last month
Revenue, Users, or Traffic from this month

Growth Percentage

0.00%

Absolute Change

0

How to Calculate Month-on-Month Growth Rate in Excel

Calculating the Month-on-Month (MoM) growth rate is a fundamental skill for financial analysts, digital marketers, and business owners. Whether you are tracking revenue, website traffic, or active users, knowing the velocity of your growth helps in making data-driven decisions. While the calculator above provides an instant result, this guide will explain the mathematical formula and detail exactly how to implement it in Microsoft Excel.

The MoM Growth Formula

The logic behind calculating month-on-month growth is straightforward. You are comparing the difference between the current month and the previous month, relative to the previous month's baseline.

Formula:
((Current Month Value – Previous Month Value) / Previous Month Value) * 100

For example, if your website had 1,000 visitors in January and 1,250 visitors in February:

  • Difference: 1,250 – 1,000 = 250
  • Ratio: 250 / 1,000 = 0.25
  • Percentage: 0.25 * 100 = 25% Growth

How to Calculate MoM Growth in Excel (Step-by-Step)

To automate this in Excel, follow these specific steps. This method works for Excel 2019, 2021, and Office 365.

Step 1: Set Up Your Data

Create two columns. Column A should list the Months (e.g., Jan, Feb, Mar) and Column B should list the Values (e.g., Revenue).

Row A (Month) B (Revenue) C (MoM Growth)
1 January 1000
2 February 1250 Formula Goes Here

Step 2: Enter the Formula

In cell C2 (the row corresponding to February), enter the following formula:

=(B2-B1)/B1

Step 3: Format as Percentage

By default, Excel might show the result as "0.25". To fix this:

  1. Select cell C2.
  2. Go to the Home tab on the ribbon.
  3. Click the % icon in the "Number" section.
  4. The cell should now read 25%.

Step 4: Fill Down

Click the bottom-right corner of cell C2 and drag it down to calculate the MoM growth for March, April, and subsequent months automatically.

Handling Common Excel Errors (#DIV/0!)

If your "Previous Month Value" is zero, Excel will return a #DIV/0! error because mathematically, you cannot divide by zero. To handle this cleanly in Excel, wrap your formula in an IFERROR function:

=IFERROR((B2-B1)/B1, "N/A")

This tells Excel to display "N/A" (or 0) instead of an error code if the previous month's data is missing or zero.

Why Track MoM Growth?

Month-on-Month metrics are critical for startups and high-growth companies. Unlike Year-over-Year (YoY) metrics, which smooth out seasonality, MoM growth exposes immediate trends. A compounding MoM growth rate of 10% results in a yearly growth of over 200%, illustrating the power of consistent monthly gains.

function calculateMoM() { // Get input elements using exact IDs var prevMonthInput = document.getElementById("prevMonthVal"); var currMonthInput = document.getElementById("currMonthVal"); // Parse values var prevVal = parseFloat(prevMonthInput.value); var currVal = parseFloat(currMonthInput.value); // Validation if (isNaN(prevVal) || isNaN(currVal)) { alert("Please enter valid numbers for both previous and current month values."); return; } // Get result elements var resultSection = document.getElementById("momResultSection"); var percentDisplay = document.getElementById("resultPercent"); var absoluteDisplay = document.getElementById("resultAbsolute"); var textDisplay = document.getElementById("resultText"); // Calculate Difference var diff = currVal – prevVal; // Handle division by zero logic if (prevVal === 0) { resultSection.style.display = "block"; percentDisplay.innerHTML = "∞"; percentDisplay.style.color = "#6c757d"; // Gray for neutral/error absoluteDisplay.innerHTML = diff.toLocaleString(); textDisplay.innerHTML = "Growth rate cannot be calculated (division by zero) because the previous month was 0."; return; } // Calculate Percentage var growthRate = (diff / prevVal) * 100; // Show results resultSection.style.display = "block"; // Format Output // Determine color based on growth (Green for positive, Red for negative) if (growthRate > 0) { percentDisplay.style.color = "#28a745"; // Green percentDisplay.innerHTML = "+" + growthRate.toFixed(2) + "%"; absoluteDisplay.innerHTML = "+" + diff.toLocaleString(); textDisplay.innerHTML = "Great job! You are seeing positive growth compared to last month."; } else if (growthRate < 0) { percentDisplay.style.color = "#dc3545"; // Red percentDisplay.innerHTML = growthRate.toFixed(2) + "%"; absoluteDisplay.innerHTML = diff.toLocaleString(); textDisplay.innerHTML = "The metrics have decreased compared to last month."; } else { percentDisplay.style.color = "#6c757d"; // Gray percentDisplay.innerHTML = "0.00%"; absoluteDisplay.innerHTML = "0"; textDisplay.innerHTML = "There was no change in value between the two months."; } }

Leave a Comment