

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.### 1. Manual CMGR workflows in Google SheetsThese methods are ideal when you’re just starting out or validating a new funnel.**1.1. Basic CMGR formula in a single sheet**1. In Google Sheets, create columns: - A: Month (e.g. Jan‑24, Feb‑24…) - B: Metric (e.g. MRR, signups, pipeline value).2. Put your first month’s value in `B2` and your last month’s value in `B7` (for example).3. Count the number of months between them (excluding the first month). If you have Jan to Jul, that’s 6 months.4. In a separate cell (say `D2`), enter the CMGR formula: ``` =((B7/B2)^(1/6))-1 ```5. Format `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:- Functions list: https://support.google.com/docs/answer/3093281- Calculation & formulas: https://support.google.com/docs/answer/3093440**1.2. Dynamic CMGR using cell references**Hard‑coding `6` months gets messy when your data range changes. Instead:1. Assume data runs from `B2:B` with no gaps.2. Use this formula for dynamic CMGR: ``` =((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.3. Put this into a cell labeled `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:1. Structure your sheet as a table: - A: Month - B: Channel/Client - C: Metric (e.g. revenue, SQLs).2. Create a summary tab.3. For a given channel (e.g. “Google Ads”), use `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`:- https://support.google.com/docs/answer/3093580### 2. No‑code automation around CMGR in Google SheetsOnce 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:1. Define a named range for your metric column (Data → Named ranges).2. Use Data validation to restrict the metric column to numbers only.3. Reference the named range inside your CMGR formula instead of hard‑coded ranges.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.1. Use `IMPORTRANGE` to pull metrics from a source sheet into your CMGR sheet: ``` =IMPORTRANGE("", "Metrics!A:C") ```2. If your data lives on the web (e.g. a published CSV), use `IMPORTDATA`: ``` =IMPORTDATA("https://example.com/mrr.csv") ```3. Point your CMGR formulas at the imported range instead of manually pasted data.Docs:- IMPORTRANGE: https://support.google.com/docs/answer/3093340- IMPORTDATA & other import functions: https://support.google.com/docs/answer/3093335**2.3. Record simple macros for repeated CMGR reports**If you find yourself re‑formatting, sorting, and copying the same CMGR output for clients:1. In Sheets, go to Extensions → Macros → Record macro.2. Perform the steps you usually do (duplicate tab, adjust date range, apply filters, export as PDF).3. Stop recording and save the macro.4. Next month, run the macro instead of repeating all steps.Docs on macros:- https://support.google.com/docs/answer/1631177**Pros of no‑code automation**- Keeps everything in a familiar tool (Google Sheets).- Reduces manual errors and busywork.- Easy to share with non‑technical teammates.**Cons**- Still requires you to manage data sources and timing.- Breaks when upstream sheets or URLs change.- Limited ability to orchestrate multi‑app workflows (e.g. CRM → Sheets → Slack).### 3. Scaling CMGR with Simular AI computer agentsWhen 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 trigger a Simular Pro agent via webhook.- The agent: - Logs into your CRM and ad platforms. - Exports MRR, signups, and campaign metrics. - Opens your Google Sheets CMGR workbook. - Pastes or imports the fresh data into the right tabs. - Verifies that CMGR formulas recalculate without errors. - Writes a short narrative summary of trends directly into a Notes tab.You review the results, not the plumbing.Learn about Simular Pro’s capabilities:- https://www.simular.ai/simular-pro- https://www.simular.ai/about**3.2. Scheduled CMGR monitoring and alerts**With Simular, you can have agents run CMGR checks daily or weekly:- If CMGR drops below a threshold for any channel or client, the agent posts a message in Slack or email with a link to the affected Google Sheet.- Because every action is transparent and inspectable, you can see exactly how the agent navigated, which file it opened, and what changed.**3.3. Pros and cons of AI‑driven CMGR automation***Pros*- **End‑to‑end:** Handles the whole workflow, not just formulas.- **Scalable:** Works across dozens of clients or brands without extra headcount.- **Transparent:** Every step is visible and modifiable—no black‑box scripts.*Cons*- Requires initial onboarding: giving the agent safe access to your tools.- Best suited once your CMGR definitions and Sheets structure are stable.For sales, marketing teams, and agencies, the pattern is simple:- Start manual to understand CMGR.- Layer in Sheets automation as you mature.- Then let a Simular AI agent own the recurring work, so humans can own the decisions.
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:1) **Use dynamic references.** Instead of hard‑coding `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.2) **Lock structural cells.** Protect the sheet (Data → Protect sheets and ranges) so users can’t accidentally edit formula cells or header rows.3) **Use data validation.** Restrict the metric column to numbers only, rejecting invalid input. This avoids `#VALUE!` errors that break your CMGR.4) **Document the logic.** Add a small “How CMGR is calculated” note on the sheet so future editors understand what not to touch.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("", "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.