← Vault Index
Source: business/products/consulting-practice-sop-manual/runners/monthly-financial-review-runner-SKILL.md

name: monthly-financial-review-runner description: > Runs the full monthly financial review — revenue confirmation, per-client profitability analysis, variance against annual target milestones, and documented action items. Last business day of each month. 60 minutes. metadata: author: "Kathryn Brown, Practice Builders" version: "1.0.0" date: "2026-04-28" sop: "Monthly Financial Review" category: "Operations & Admin" frequency: "Monthly" estimated-time: "60 min" trigger: "Last business day of each month"


Monthly Financial Review — Runner

You are executing the Monthly Financial Review SOP for an independent consultant. Revenue predictability is a systems problem. Without a monthly financial review, you find out you're off-track at the quarter — when there's no time to recover. This runner keeps you inside the numbers rather than surprised by them: you know your realization rate, your trajectory against annual targets, and whether this month's client mix is serving you or just keeping you busy.

Do not skip steps. Do not ask questions across multiple turns — collect everything upfront.


What you'll have when this is done: This month's revenue total confirmed, a realization rate for each active client, a variance figure against your annual target milestone, and a documented list of action items — scope conversations, pipeline adjustments, or billing corrections — to carry into next month.

Step 1: Collect Your Inputs

Ask the user for the following (all at once, in a single prompt):

Revenue Data:

Annual Target Context:

Per-Client Data — for each active engagement this month:

Practice Parameters:

Prior Month:

If the user doesn't have exact numbers, accept estimates and note where precision would improve the analysis.

Step 2: Revenue Confirmation

Using the revenue data from Step 1, confirm the month's financial position.

ItemAmount
Total revenue collected[\$X]
Outstanding invoices[\$X] (due dates noted)
Revenue target (monthly milestone)[\$X]
Variance to target[+/- \$X] ([+/-%])

Flag any outstanding invoices with due dates. If payments are overdue, note them as action items.

Write one sentence: ahead, on track, or behind — and by how much.

Step 3: Client Profitability Analysis

Using the per-client data from Step 1, calculate profitability for every active engagement.

3A. Per-Client Profitability Table

For each client, calculate:

ClientMonthly FeeContracted HrsActual HrsEffective RateVarianceOpportunity Cost
[Client A][\$X][X][X][\$X][+/- X][\$X]

3B. Scope Creep Audit

For each client where actual hours exceed contracted hours, identify:

Calculate per client:

ActivityFrequencyHours/MonthRoot CauseDifficulty
[Activity][Weekly/Ad hoc][X][Cause][Easy/Moderate/Hard]
Total creep[X] hrsRevenue equivalent: [\$X]

3C. Profitability Ranking

Rank all clients by effective hourly rate, highest to lowest. Assign categories:

Calculate portfolio metrics:

3D. Client Recommendations

For each underperforming and at-risk client, provide:

Sequence: scope conversation first, then fee adjustment, then disengagement. Never recommend disengagement as a first step.

Step 4: Target Variance Analysis

Compare this month's performance against the annual plan.

4A. Monthly Variance

MetricActualTargetVariance
Monthly revenue[\$X][\$X][+/- \$X] ([%])

4B. Year-to-Date Trajectory

MetricValue
YTD revenue collected[\$X]
YTD target (cumulative milestones)[\$X]
YTD variance[+/- \$X] ([%])
Annual target[\$X]
Remaining to hit annual target[\$X]
Months remaining[X]
Required monthly average (remaining months)[\$X]

If behind target, calculate what the remaining months need to average to close the gap. If the required monthly average exceeds the highest month this year, flag it as a trajectory risk.

If the user provided Revenue Goal Reverse Engineer output, compare actual activity (client wins, pipeline conversations) against the planned weekly cadence. Note where activity is ahead or behind plan.

4C. Month-over-Month Trend

MetricThis MonthLast MonthChange
Revenue collected[\$X][\$X][+/-%]
Weighted avg effective rate[\$X][\$X][+/-%]

Write one paragraph interpreting the trajectory: on track, accelerating, decelerating, or off-track — and what's driving it.

Step 5: Revenue Mix Review

Calculate the split between recurring revenue and project revenue:

TypeRevenue% of Total
Recurring (retainers)[\$X][X]%
Project[\$X][X]%

Compare against the user's target mix (if provided). If the recurring portion is below target, flag it as a pipeline priority for the coming month.

Write one sentence on whether the mix is moving toward or away from the target.

Step 6: Assemble the Monthly Financial Review

Combine all outputs into a single document:

# Monthly Financial Review: [Month Year]
**Period:** [Month] | **Prepared:** [Date] | **Target hourly rate:** [\$X]

## Revenue Summary

| Item | Amount |
|------|--------|
| Revenue collected | [\$X] |
| Outstanding invoices | [\$X] |
| Monthly target | [\$X] |
| Variance to target | [+/- \$X] ([%]) |

**Status:** [Ahead / On track / Behind] — [one sentence explanation]

## Client Profitability

### Profitability Summary

| Client | Monthly Fee | Contracted Hrs | Actual Hrs | Effective Rate | Variance | Category |
|--------|-----------|---------------|-----------|---------------|----------|----------|
| [Client A] | [\$X] | [X] | [X] | [\$X] | [+/- X] | [Healthy/At Risk/Underperforming] |

### Portfolio Metrics

| Metric | Value |
|--------|-------|
| Weighted avg effective rate | [\$X] |
| Revenue at risk (monthly) | [\$X] |
| Healthy | [X]% of clients |
| At risk | [X]% of clients |
| Underperforming | [X]% of clients |

### Scope Creep Detail: [Client Name]

| Activity | Frequency | Hours/Month | Root Cause | Difficulty |
|----------|-----------|-------------|------------|------------|
| [Activity] | [Weekly/Ad hoc] | [X] | [Cause] | [Easy/Moderate/Hard] |
| **Total creep** | | **[X] hrs** | **Revenue equivalent: [\$X]** | |

### Recommendations

**1. [Client Name] — [Action type]**
- **Signal:** [Specific data point from analysis]
- **Do This:** [Specific action with exact language where applicable]
- **Timeline:** [When to act]

## Year-to-Date Trajectory

| Metric | Value |
|--------|-------|
| YTD revenue collected | [\$X] |
| YTD target | [\$X] |
| YTD variance | [+/- \$X] ([%]) |
| Remaining to hit annual target | [\$X] |
| Required monthly average (remaining) | [\$X] |

**Trajectory:** [On track / Accelerating / Decelerating / Off-track] — [one paragraph interpretation]

## Month-over-Month Trend

| Metric | This Month | Last Month | Change |
|--------|-----------|-----------|--------|
| Revenue collected | [\$X] | [\$X] | [+/-%] |
| Weighted avg effective rate | [\$X] | [\$X] | [+/-%] |

## Revenue Mix

| Type | Revenue | % of Total | Target Mix |
|------|---------|-----------|-----------|
| Recurring | [\$X] | [X]% | [X]% |
| Project | [\$X] | [X]% | [X]% |

**Mix assessment:** [One sentence on direction relative to target]

## Action Items

| # | Action | Category | Client/Area | Due |
|---|--------|----------|------------|-----|
| 1 | [Specific action] | [Scope / Billing / Pipeline / Other] | [Client or area] | [Date or "Before next review"] |

## Flags for Next Month
- [Any client whose realization rate dropped significantly]
- [Any pipeline priorities from revenue mix review]
- [Any billing corrections needed]

SOPs to Trigger

Based on the review, check whether any of the following SOPs should be triggered:

Quality Check (Internal — never shown to the user)

Before presenting the output, verify:

CheckRequirement
Revenue confirmedIs the month's total revenue populated with actual data, not estimates where actuals were available?
Invoices flaggedAre outstanding invoices listed with amounts and due dates?
Effective rate calculatedIs the effective hourly rate calculated from actual hours, not SOW hours?
Scope creep quantifiedIs every identified scope creep activity converted to hours and a revenue equivalent?
Ranking completeAre all clients ranked by effective hourly rate with a health category assigned?
Recommendations specificDoes every recommendation include exact conversation language or a specific action, not just "address scope creep"?
Portfolio viewIf multiple clients were analyzed, is there a portfolio-level summary (weighted avg rate, revenue at risk)?
Target variance calculatedIs the variance against the monthly milestone shown in both dollars and percentage?
YTD trajectory includedIs the year-to-date position calculated with the required monthly average for remaining months?
Revenue mix assessedIs the recurring vs. project split compared against the target mix?
Action items documentedIs there a specific, dated action list — not vague observations?
Prior month comparedAre month-over-month comparisons included where prior data was available?

Identify the weakest section. Rewrite it. Verify the rewrite is present and improved before presenting.

Rules

From the SOP:

  1. Run this review on the last business day of every month. If you wait until next month, you've lost the window to act on what the review surfaces.
  2. Confirm all issued invoices are recorded and any outstanding payments are flagged with due dates before starting the analysis.
  3. Compare revenue against the monthly milestone from the Revenue Goal Reverse Engineer output. Note whether you're ahead, on track, or behind — and by how much.
  4. Flag any client whose realization rate dropped significantly month-over-month. Determine the cause: scope creep, underpricing, or a one-time event. Scope creep gets addressed before next month's SOW cycle.
  5. Review the recurring vs. project revenue split. If recurring is below target, note it as a pipeline priority for the coming month.
  6. Record the month's summary in your financial log. This becomes the comparison point for next month's review and feeds your Quarterly Business Review Prep.

From the Client Profitability Analyzer skill:

  1. Always calculate from actual hours, not contracted or SOW hours. The gap between the two is where profitability disappears.
  2. Include all time: meetings, email, prep, admin, travel, and revision cycles. If you spent time thinking about a client, that's time.
  3. Scope creep must be quantified in hours and revenue, not just identified. "Client X has scope creep" is an observation. "Client X's scope creep consumes Y hours per month at \$Z revenue equivalent" is actionable.
  4. Never recommend disengagement as a first step. Sequence is: scope conversation, then fee adjustment, then disengagement.
  5. Include opportunity cost in the analysis. Underperforming clients don't just pay less per hour — they prevent you from spending those hours on higher-value work.
  6. Round effective hourly rates to the nearest whole number. Precision to the cent implies accuracy that estimates don't support.
  7. If only one client is analyzed, still benchmark against the target rate and provide context on where this engagement fits in a healthy practice portfolio.

From the Revenue Goal Reverse Engineer skill:

  1. When comparing actuals to target milestones, work backward from the annual target — not forward from current pace. The target drives the math.
  2. When the trajectory is off-track, quantify the gap in required monthly average for remaining months. Show whether the recovery math is feasible.
  3. Never assume a close rate above 40% when projecting forward pipeline needs unless the user provides data supporting it.

Output format:

  1. This is a monthly operating document. Keep it scannable — short paragraphs, tables for structured data, bold for emphasis.
  2. Escape dollar signs as \$ for Notion compatibility.
  3. Present as a single unified document, not separate skill outputs.
  4. If data is incomplete, work with what's available and note assumptions. Never fabricate data.

Copyright (c) 2026 Kathryn Brown, Practice Builders Licensed under the Practice Builders Skill License v1.0 See https://practicebuilders.ai/license for terms.

This skill is part of the Consulting Practice SOP Manual, a Practice Builders product. Redistribution, resale, or derivative use without written permission is prohibited.