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

name: quarterly-business-review-prep-runner description: > Runs the full quarterly business review prep — client profitability analysis, revenue performance, practice mix, pipeline metrics, pattern identification, and next-quarter priorities. Third week before quarter end. 60 minutes. metadata: author: "Kathryn Brown, Practice Builders" version: "1.0.0" date: "2026-04-28" sop: "Quarterly Business Review Prep" category: "Operations & Admin" frequency: "Quarterly" estimated-time: "60 min" trigger: "Third week before quarter end"


Quarterly Business Review Prep — Runner

You are executing the Quarterly Business Review Prep SOP for an independent consultant. Most solo practitioners end each quarter without a structured look at what the practice actually produced versus what was planned. This runner builds a complete QBR document three weeks before quarter close — enough runway to act on what you find before the new quarter starts.

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


What you'll have when this is done: A complete QBR document with revenue performance, client profitability rankings, practice mix analysis, pipeline metrics, and 2-3 named priorities for next quarter — ready to act on before the new quarter starts.

Step 1: Collect Your Inputs

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

Revenue Data:

Client Engagement Data — for each active engagement this quarter:

Client Movement:

Capacity Data:

Pipeline Data:

Key Decisions:

Practice Parameters:

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

Step 2: Client Profitability Analysis

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

2A. Per-Client Profitability Table

For each client, calculate:

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

2B. Scope Creep Audit

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

Calculate per client:

2C. Profitability Ranking

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

Calculate portfolio metrics:

2D. 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 3: Financial Summary

Using the revenue data from Step 1 and the profitability output from Step 2, build the quarter's financial picture.

MetricThis QuarterLast QuarterChange
Revenue collected[\$X][\$X][+/-%]
Revenue target[\$X][Over/Under %]
Effective hourly rate[\$X][\$X][+/-%]
Largest client % of revenue[Client: X%][Flag if >30%]

Calculate:

If no revenue target was set, note this as a gap.

Write one paragraph of interpretation: what the numbers say about the quarter's financial health.

Step 4: Practice Mix and Client Concentration

4A. Practice Mix

Calculate the revenue split between engagement types:

TypeRevenue% of Total
Retainer[\$X][X]%
Project[\$X][X]%
Advisory[\$X][X]%

Assess: Were shifts in mix strategic (intentional rebalancing) or reactive (taking whatever showed up)? A practice that drifts toward 100% project work without intending to has a pipeline sustainability problem.

4B. Client Concentration Risk

If any single client represented more than 30% of quarterly revenue, flag it explicitly:

4C. Client Movement Summary

EventClientTypeMonthly ValueSource/Reason
Won[Client][Type][\$X][Source]
Lost[Client][Type][\$X][Reason]
Expanded[Client][Type][+\$X][What changed]
Renewed[Client][Type][\$X][Terms]

Net change: [Start count] to [End count] ([+/- X]) Acquisition cost: ~[X] hours per new client (BD hours this quarter / new clients won) Churn analysis: Were losses anticipated (project completions) or unexpected (cancellations)? Anticipated churn is healthy. Unexpected churn is a signal.

Step 5: Capacity and Utilization Review

MetricValue
Total hours worked[X]
Billable hours[X]
Billable utilization[X]%
Avg weekly hours[X]

Calculate billable utilization: (billable hours / total hours) x 100

Interpret using these zones:

Compare to prior quarter if data available. Identify:

Write one paragraph interpreting capacity health and sustainability.

Step 6: Pipeline Metrics

Assess the quarter's pipeline performance and the pipeline entering the new quarter:

MetricThis QuarterLast QuarterChange
Deals entered[X][X][+/-]
Deals closed[X][X][+/-]
Deals lost[X][X][+/-]
Avg time to close[X days][X days][+/-]
Conversion rate (proposals to wins)[X]%[X]%[+/-]

If close rate shifted significantly from prior quarter, identify whether the cause is:

Calculate pipeline coverage ratio if next quarter's target is known:

Write one paragraph assessing pipeline health entering the new quarter.

Step 7: Decision Audit

Review each key decision made this quarter. If "no major decisions were made," that itself is a finding — a quarter of pure execution with no strategic decisions might mean you're on autopilot.

DecisionRationaleOutcomeVerdictNext Step
[Decision][Why at the time][What happened][Right/Wrong/TBD][Continue/Reverse/Modify]

Step 8: Pattern Identification

Look across all sections and name 2-4 patterns. Each pattern must include:

Common patterns to check for:

Every identified pattern must cite specific data points from the analysis sections. Do not generate abstract patterns disconnected from the numbers.

Step 9: Next-Quarter Priorities

Based on what the review surfaced, identify 2-3 priorities for next quarter. Maximum 5.

Each priority must:

"Grow revenue" is not a priority. "Replace the client concentration risk by adding two retainer engagements" is a priority with a measurable outcome.

Step 10: Assemble the QBR Document

Combine all outputs into a single document:

# Quarterly Business Review: [Q# Year]
**Period:** [Start date] — [End date] | **Prepared:** [Date]

## 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]
[Table per affected client]

### Recommendations
[Numbered recommendations with Signal, Do This, Timeline]

## Financial Summary

| Metric | This Quarter | Last Quarter | Change |
|--------|-------------|-------------|--------|
| Revenue collected | [$X] | [$X] | [+/-%] |
| Revenue target | [$X] | | [Over/Under %] |
| Effective hourly rate | [$X] | [$X] | [+/-%] |
| Largest client % of revenue | [Client: %] | | [Flag if >30%] |

**Assessment:** [One paragraph.]

## Practice Mix

| Type | Revenue | % of Total |
|------|---------|-----------|
| Retainer | [$X] | [X]% |
| Project | [$X] | [X]% |
| Advisory | [$X] | [X]% |

**Assessment:** [Strategic or reactive shifts.]

## Client Movement

| Event | Client | Type | Monthly Value | Source/Reason |
|-------|--------|------|--------------|---------------|
| Won | [Client] | [Type] | [$X] | [Source] |
| Lost | [Client] | [Type] | [$X] | [Reason] |
| Expanded | [Client] | [Type] | [+$X] | [What changed] |
| Renewed | [Client] | [Type] | [$X] | [Terms] |

**Net change:** [Start count] → [End count] ([+/- X])
**Acquisition cost:** ~[X] hours per new client

## Capacity & Utilization

| Metric | Value |
|--------|-------|
| Total hours worked | [X] |
| Billable hours | [X] |
| Billable utilization | [X]% |
| Avg weekly hours | [X] |

**Assessment:** [One paragraph with sustainability interpretation.]

## Pipeline Entering [Next Quarter]

| Metric | This Quarter | Last Quarter | Change |
|--------|-------------|-------------|--------|
| Deals entered | [X] | [X] | [+/-] |
| Deals closed | [X] | [X] | [+/-] |
| Deals lost | [X] | [X] | [+/-] |
| Conversion rate | [X]% | [X]% | [+/-] |
| Pipeline coverage ratio | [X]x | | |

**Assessment:** [One paragraph.]

## Decision Audit

| Decision | Rationale | Outcome | Verdict | Next Step |
|----------|-----------|---------|---------|-----------|
| [Decision] | [Why] | [What happened] | [Right/Wrong/TBD] | [Continue/Reverse/Modify] |

## Patterns

**1. [Pattern name]**
- Signal: [Data points from specific sections]
- Meaning: [Plain language]
- Implication: [What happens if unchanged]

**2. [Pattern name]**
- Signal: [Data points from specific sections]
- Meaning: [Plain language]
- Implication: [What happens if unchanged]

## Next Quarter Priorities

**1. [Priority]**
- Signal: [What in this QBR triggered it]
- Success criterion: [How you'll measure it in the next QBR]

**2. [Priority]**
- Signal: [What in this QBR triggered it]
- Success criterion: [How you'll measure it in the next QBR]

**3. [Priority]**
- Signal: [What in this QBR triggered it]
- Success criterion: [How you'll measure it in the next QBR]

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
Numbers completeAre revenue, hours, client count, and pipeline all populated with actual data?
Effective rate calculatedIs the effective hourly rate included (total revenue / total hours, not just billable hours)?
Concentration flaggedIs any client above 30% of revenue explicitly called out as a concentration risk?
Profitability rankedAre all clients ranked by effective hourly rate with a health category assigned?
Scope creep quantifiedIs every identified scope creep activity converted to hours and a revenue equivalent?
Recommendations specificDoes every recommendation include exact conversation language or a specific action, not just "address scope creep"?
Portfolio viewIs there a portfolio-level summary (weighted avg rate, revenue at risk)?
Patterns tracedDoes every identified pattern cite specific data points from the analysis sections?
Priorities actionableAre next-quarter priorities specific enough to evaluate in the next QBR (not "do more BD")?
Priorities cappedAre priorities limited to 3-5 with specific success criteria?
Decision audit presentIs the decision audit included even if no major decisions were made?
Prior quarter comparedAre comparisons to prior quarter included where data was available?

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

Rules

From the SOP:

  1. Run the review three weeks before quarter close. If you wait until the new quarter, you've lost the window to act on what the review surfaces.
  2. Set next-quarter priorities as constraint fixes with measurable outcomes, not aspirations. "Grow revenue" is not a priority. "Replace the client concentration risk by adding two retainer engagements" is.
  3. Never skip the client profitability analysis. Revenue by client is vanity. Effective hourly rate by client is truth.

From the QBR Prep skill:

  1. Use actual revenue collected, not invoiced. Invoiced revenue that hasn't been paid is a receivable, not income.
  2. Always calculate the effective hourly rate — total revenue divided by total hours worked (all hours, not just billable). This tells you whether you're running a profitable practice or a busy one.
  3. Flag client concentration above 30%. Losing a client that represents a third of your revenue is not a setback — it's a crisis.
  4. Limit next-quarter priorities to 3-5. Each must have a specific success criterion.
  5. Include the decision audit even if "no major decisions were made." That itself is a finding.
  6. Compare to prior quarter when data is available. Single-quarter numbers are snapshots. Trends are signals.
  7. Never skip the pattern identification section. The individual metrics are inputs; the patterns are the insight.

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.

Output format:

  1. This is a quarterly 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.