Board prep workbook for your monthly MRR movement bridge
Pick a month, see exactly what moved recurring revenue, click into the accounts behind each change, and write the commentary your board actually reads.
I want a board prep app for our finance lead, so the monthly revenue story gets built once in a tool instead of rebuilt in a spreadsheet every month. The app opens on an MRR movement bridge for a period the user selects at the top of the page, defaulting to the most recently closed month, with the prior period always available for comparison.
The bridge is a waterfall running left to right: opening MRR, then new business, expansion, contraction, churn and reactivation, ending at closing MRR. Assemble it from the ChartMogul List Activities operation for the selected date range, bucketing each activity by its activity type and summing the MRR movement per bucket. Then reconcile the assembled bridge against the ChartMogul MRR operation for the same range: show opening and closing MRR from the metrics side by side with the bridge total, and if the two do not agree within a small tolerance, surface a visible variance row rather than hiding the difference. Use All Key Metrics to pull the period figures together where that is cheaper than calling each metric endpoint separately.
Under the bridge, show supporting tiles for ARR, ARPA, LTV, Customer Count, MRR Churn Rate and Customer Churn Rate, each showing the value for the selected period and the change against the prior period. These come from the matching ChartMogul metric operations (ARR, ARPA, LTV, Customer Count, MRR Churn Rate, Customer Churn Rate) or from All Key Metrics where the same values are returned together. Keep the tile set small and trustworthy rather than exhaustive.
Every bucket in the bridge is clickable. Clicking new business, expansion, contraction, churn or reactivation opens a drill-down panel listing the specific accounts that caused that movement, sorted by size of impact, showing customer name, plan, the MRR change and the date it happened. Resolve customer names and details with List Customers, and when the user clicks a single account in that list, show that account's full movement history for the period using List Customer Activities. The goal is that "why did MRR move" gets answered on the screen instead of in a follow up email.
Next to each bucket the user writes commentary in a text area. Persist commentary server side, keyed by period and bucket, so it survives across sessions: when the user reopens the app and selects the same period, the notes are still there, and when they select the current period, the previous period's commentary for the same bucket is shown alongside so the two months can be compared. Record who wrote each note and when it was last edited, and save as the user types or on blur so nothing is lost.
Add an Export button. It uses the Google Sheets Create Spreadsheet operation to create a spreadsheet named for the period, then Append Values to write the content: one tab holding the bridge with a row per bucket showing the amount and the commentary, and a second tab with the supporting metrics plus the top accounts behind each movement. Show the resulting spreadsheet link in the app once the export finishes.
Add a second button that posts the headline numbers to leadership using the Slack Send a Message operation, to a channel the user picks: closing MRR, net movement for the period, the largest positive and largest negative driver with their commentary, and the link to the exported spreadsheet. Show the user a preview of the message and let them edit it before it sends.
Notes on the data. ChartMogul monetary amounts are integers in cents, so divide by 100 and format as currency for display. Metrics API date range parameters are hyphenated as start-date and end-date. Activity lists are paginated, so page through the whole period instead of rendering only the first page, and cache the assembled bridge per period so switching between months stays fast. Nothing in this app runs on a schedule: the user opens it, picks a period, drills in, writes commentary, then exports and posts.
What does this prompt do?
- Builds a month by month revenue bridge from your subscription analytics: opening balance, new business, expansion, contraction, churn and reactivation, ending balance.
- Makes every movement clickable, so you can see the exact accounts behind a strong expansion month or a bad churn month without asking anyone to pull a list.
- Saves your written commentary against each bucket and each month, so last month's notes sit next to this month's when you reopen the app.
- Exports the bridge and commentary to a fresh spreadsheet and posts the headline numbers to your leadership channel in one pass.
What do I need to use this?
- A ChartMogul account with your subscription billing data flowing into it
- A Google account so the app can create the export spreadsheet
- A Slack workspace and a channel where leadership updates get posted
- At least one closed month of revenue history, so the bridge has an opening balance to start from
How can I customize it?
- Change the reporting period from a month to a quarter, or compare against the same month last year instead of the prior month.
- Choose which supporting numbers appear as tiles, for example show average revenue per account instead of lifetime value.
- Point the export at your existing board reporting spreadsheet, and pick which channel or person receives the summary.
FAQs
Do I still need a separate board prep spreadsheet?
Will the numbers match what I already see in ChartMogul?
Does my commentary disappear when I switch to a different month?
Can the rest of the finance team use the same app?
What if we bill customers in more than one currency?
Related templates
Stop buying stale lists. Reps run a saved search, work the results like an inbox, and only the accounts they approve ever reach your CRM.
Drag creators through Sourced to Wrapped on a board grouped by campaign, with audience stats on every card and a one-click brief for each creator.
Search creators for free, shortlist the best with your team, and spend an audit credit only when you decide someone is worth a closer look.
Pick a repricing rule, send an assistant out to check competitor pages, then approve the new prices that clear your margin floor.
See the projected bounce rate for any outbound send before it goes out, and keep the launch button locked until the list is clean enough to be safe.
One screen showing invited, completed, and shortlisted counts for every open role, plus the stalled invites that have quietly gone nowhere.
Stop rebuilding the revenue bridge every month.
Pick a period, drill into what actually moved, write the commentary once and keep it for next time.