

CMGR (Compound Monthly Growth Rate) is the clearest way to see whether your revenue, signups, or pipeline are truly compounding instead of just bouncing around each month. Unlike simple MoM growth, CMGR smooths volatility and shows the underlying momentum investors care about. For SaaS, agencies, and e‑commerce, tracking CMGR on MRR, SQLs, or ROAS helps you validate strategies, forecast confidently, and compare different channels or markets on a like‑for‑like basis. Tools like Google Sheets make the math transparent, auditable, and easy to share across sales, finance, and marketing teams.
But the real unlock comes when you stop doing CMGR by hand. A Simular AI agent can log into your CRM and ad platforms, paste fresh metrics into Google Sheets, recalculate CMGR, and flag trends while you sleep. Instead of wrestling with formulas and exports, you wake up to a living growth dashboard that your AI computer agent quietly maintains in the background.
Every ambitious founder or agency owner has lived this scene: it’s the last week of the month, you’re juggling client calls, and you’re still copy‑pasting numbers into Google Sheets to figure out whether your growth is actually accelerating.
CMGR (Compound Monthly Growth Rate) is the metric you should be staring at—but the workflow to calculate it across products, channels, and clients quickly becomes a time sink.
Let’s walk through three levels of sophistication, from fully manual to fully automated with an AI computer agent.
These methods are ideal when you’re just starting out or validating a new funnel.
1.1. Basic CMGR formula in a single sheet
B2 and your last month’s value in B7 (for example).D2), enter the CMGR formula:=((B7/B2)^(1/6))-1
D2 as a percentage (Format → Number → Percent).You now have the average monthly compounding growth over that period.
Official Sheets docs on formulas and functions:
1.2. Dynamic CMGR using cell references
Hard‑coding 6 months gets messy when your data range changes. Instead:
B2:B with no gaps.=((INDEX(B:B, COUNTA(B:B)) / B2) ^ (1/(COUNTA(B:B)-1))) - 1
INDEX(B:B, COUNTA(B:B)) gets the last non‑empty metric.COUNTA(B:B)-1 gives you the number of intervals.CMGR and format as percent.Now, every time you add a new month’s data, CMGR updates automatically.
1.3. CMGR per segment (e.g. per channel or client)
If you’re a marketer or agency tracking multiple channels or clients:
FILTER to extract its series:=LET(
data, FILTER(C:C, B:B="Google Ads"),
months, ROWS(data)-1,
(INDEX(data, ROWS(data)) / INDEX(data, 1))^(1/months) - 1
)
(If LET isn’t available in your workspace, do the same using helper ranges.)This gives you CMGR by channel without copying data.
1.4. Check CMGR with LOG/EXP (for power users)
Sometimes numerical stability matters. An equivalent formulation is:
=EXP(LN(Ending/Starting)/Months) - 1
In Sheets:
=EXP(LN(B7/B2)/(COUNTA(B:B)-1)) - 1
This is handy when working with very large or very small numbers.
Official docs on functions like LN and EXP:
Once you have working formulas, the next pain point is feeding the sheet reliably.
2.1. Use data validation and named ranges
Prevent broken CMGR calculations:
This reduces errors from accidental text entries or misplaced rows.
2.2. Automate imports with built‑in connectors and IMPORT functions
For many sales and marketing teams, data already lives in Google Analytics, CSV exports, or other sheets.
IMPORTRANGE to pull metrics from a source sheet into your CMGR sheet:=IMPORTRANGE("<source_sheet_url>", "Metrics!A:C")
IMPORTDATA:=IMPORTDATA("https://example.com/mrr.csv")
Docs:
2.3. Record simple macros for repeated CMGR reports
If you find yourself re‑formatting, sorting, and copying the same CMGR output for clients:
Docs on macros:
Pros of no‑code automation
Cons
When you manage multiple brands, markets, or clients, even clever Sheets automation hits a ceiling. This is where a Simular AI computer agent becomes your growth analyst.
Simular Pro agents can operate across your desktop, browser, and cloud apps like a human assistant: logging into CRMs, downloading CSVs, opening Google Sheets, and updating formulas—at production‑grade reliability.
3.1. Agent‑driven CMGR refresh from all your tools
Imagine your weekly growth ritual becomes:
You review the results, not the plumbing.
Learn about Simular Pro’s capabilities:
3.2. Scheduled CMGR monitoring and alerts
With Simular, you can have agents run CMGR checks daily or weekly:
3.3. Pros and cons of AI‑driven CMGR automation
Pros
Cons
For sales, marketing teams, and agencies, the pattern is simple:
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
Block quote
Ordered list
Unordered list
Bold text
Emphasis
Superscript
Subscript
To set up a basic CMGR (Compound Monthly Growth Rate) calculation in Google Sheets, start by organizing your data. In column A, list your months (e.g. Jan‑24 to Jul‑24). In column B, add the metric you care about—MRR, leads, users, or ad spend—for each month. Suppose B2 is your first month (starting value) and B7 is your latest month (ending value). Count the number of months between them, excluding the first month; from Jan to Jul, that’s 6. In a separate cell, enter:
=((B7/B2)^(1/6))-1
Then format that cell as a percentage (Format → Number → Percent). You now have the average monthly compounding growth rate over that period. To avoid hard‑coding the 6, use COUNTA to make it dynamic:
=((INDEX(B:B, COUNTA(B:B))/B2)^(1/(COUNTA(B:B)-1)))-1
Whenever you add a new month’s value in column B, CMGR updates automatically. For more on formulas, see Google’s docs: https://support.google.com/docs/answer/3093440
To track CMGR separately for multiple channels or clients, move from one simple column to a structured table. In your Google Sheet, create columns: A: Month, B: Channel/Client, C: Metric (e.g. revenue, SQLs). Enter one row per month per channel. Then create a summary tab.
For each channel, use FILTER to isolate its data and then apply the CMGR formula. A simple pattern is:
=LET(data, FILTER(C:C, B:B="Google Ads"), months, ROWS(data)-1, (INDEX(data, ROWS(data))/INDEX(data, 1))^(1/months)-1)
If LET isn’t enabled, you can instead pull the filtered data into a helper column on the summary tab and use:
=((INDEX(F:F, COUNTA(F:F))/F2)^(1/(COUNTA(F:F)-1)))-1
where column F holds the metrics for that specific channel. Repeat this structure for each channel or client. This setup gives every stakeholder a clear, per‑segment CMGR view without maintaining separate spreadsheets.
CMGR formulas often break because people insert rows above the starting cell, paste text into metric columns, or change ranges without realizing the impact. To make your CMGR robust in Google Sheets:
B7 and a fixed month count, use: =((INDEX(MetricRange, COUNTA(MetricRange))/INDEX(MetricRange,1))^(1/(COUNTA(MetricRange)-1)))-1 where MetricRange is a named range bound to your metric column.#VALUE! errors that break your CMGR.By combining named ranges, protection, and validation, your CMGR formulas will survive team growth and messy edits.
You can automate much of the CMGR workflow in Google Sheets using built‑in tools and light no‑code automation. Start by structuring your CMGR sheet with dynamic formulas that recalculate automatically when new data appears. Next, bring data in without copy‑paste.
If your metrics live in other Sheets, use IMPORTRANGE to pull them into your CMGR sheet: =IMPORTRANGE("<source_sheet_url>", "Metrics!A:C") If they’re available via CSV on the web, use IMPORTDATA or IMPORTXML to fetch them on a schedule.
Then record a macro (Extensions → Macros → Record macro) that handles recurring formatting, sorting, and exporting. Each month, you only need to run the macro instead of repeating all steps.
For more complex needs, connect Sheets to tools like Zapier or Make: trigger a workflow when a new row appears in your source system, push the metric into your CMGR sheet, and let formulas update themselves. No custom code required—yet you still get near‑real‑time CMGR visibility.
To manage CMGR at real scale—across many brands, markets, or clients—you can delegate the entire workflow to a Simular AI computer agent. First, design a “golden” Google Sheets workbook where each tab holds clearly labeled metrics and CMGR formulas. Make sure your structure is stable and documented.
Next, onboard a Simular Pro agent: grant it controlled access to your CRM, ad platforms, and Google Drive. Teach it, step‑by‑step, how a human would refresh the data: log in, export monthly metrics, open the right Google Sheet, paste or import data into the correct ranges, verify that CMGR cells update without errors, and save.
Because Simular agents operate like real users across desktop, browser, and cloud, you can then schedule this workflow or trigger it via webhook from your data pipeline. The agent can also write a short summary of CMGR trends directly into the sheet or into a Slack update. You move from “remembering to update spreadsheets” to simply reviewing what your AI analyst has already prepared.