Skill Tracer
Skills › Knowledge Work Plugins › variance-analysis

variance-analysis

skill · 266 lines · Apache-2.0 · finance/skills/variance-analysis/SKILL.md

The facts

Its description

Decompose financial variances into drivers with narrative explanations and waterfall analysis. Use when analyzing budget vs. actual, period-over-period changes, revenue or expense variances, or preparing variance commentary for leadership.

The description the agent reads to decide when to use it.

From its settingsline 3

When it starts

The agent picks this skill when someone is asking why a financial number came in different from a plan or a prior period — budget vs. actual gaps, period-over-period swings, revenue or expense variances — or when they need written commentary explaining those gaps for leadership. It is a finance/FP&A analysis skill, so the request is about decomposing a variance into drivers and drafting the explanation rather than about pulling the underlying data.

Things a person might say (the model's guesses)

  • “Why did our Q3 revenue come in under budget?”
  • “Break down the variance between actual and forecast opex for March”
  • “Draft variance commentary for the board deck on the expense lines that missed plan”

A model's summary of when it is used.

A model's reading

What it takes when started

<line item> <period> vs <comparison>

What to type after its name when you start it.

From its settingsline 4

What leads to it

Other skills that hand off to this one, call it, require it or offer it instead, as a model read them.

A model's reading

Licence

Apache-2.0, from finance/LICENSE

The terms its author shares it under, which let it be shown here.

From the repositorylicence text

The text

Open on GitHub
1---
2name: variance-analysis
3description: Decompose financial variances into drivers with narrative explanations and waterfall analysis. Use when analyzing budget vs. actual, period-over-period changes, revenue or expense variances, or preparing variance commentary for leadership.
4argument-hint: "<line item> <period> vs <comparison>"
5---
6
7# Variance Analysis
8
9**Important**: This skill assists with variance analysis workflows but does not provide financial advice. All analyses should be reviewed by qualified financial professionals before use in reporting.
11Techniques for decomposing variances, materiality thresholds, narrative generation, waterfall chart methodology, and budget vs actual vs forecast comparisons.

Variance Analysis

Important: This skill assists with variance analysis workflows but does not provide financial advice. All analyses should be reviewed by qualified financial professionals before use in reporting.

Techniques for decomposing variances, materiality thresholds, narrative generation, waterfall chart methodology, and budget vs actual vs forecast comparisons.

Raw lines 1 to 12
13## Variance Decomposition Techniques

Variance Decomposition Techniques

Raw lines 13 to 14
15### Price / Volume Decomposition
17The most fundamental variance decomposition. Used for revenue, cost of goods, and any metric that can be expressed as Price x Volume.
19**Formula:**
20```
21Total Variance = Actual - Budget (or Prior)
23Volume Effect = (Actual Volume - Budget Volume) x Budget Price
24Price Effect = (Actual Price - Budget Price) x Actual Volume
25Mix Effect = Residual (interaction term), or allocated proportionally
27Verification: Volume Effect + Price Effect = Total Variance
28 (when mix is embedded in the price/volume terms)
29```
31**Three-way decomposition (separating mix):**
32```
33Volume Effect = (Actual Volume - Budget Volume) x Budget Price x Budget Mix
34Price Effect = (Actual Price - Budget Price) x Budget Volume x Actual Mix
35Mix Effect = Budget Price x Budget Volume x (Actual Mix - Budget Mix)
36```
38**Example — Revenue variance:**
39- Budget: 10,000 units at $50 = $500,000
40- Actual: 11,000 units at $48 = $528,000
41- Total variance: +$28,000 favorable
42 - Volume effect: +1,000 units x $50 = +$50,000 (favorable — sold more units)
43 - Price effect: -$2 x 11,000 units = -$22,000 (unfavorable — lower ASP)
44 - Net: +$28,000

Price / Volume Decomposition

The most fundamental variance decomposition. Used for revenue, cost of goods, and any metric that can be expressed as Price x Volume.

Formula:

Total Variance = Actual - Budget (or Prior)

Volume Effect  = (Actual Volume - Budget Volume) x Budget Price
Price Effect   = (Actual Price - Budget Price) x Actual Volume
Mix Effect     = Residual (interaction term), or allocated proportionally

Verification:  Volume Effect + Price Effect = Total Variance
               (when mix is embedded in the price/volume terms)

Three-way decomposition (separating mix):

Volume Effect = (Actual Volume - Budget Volume) x Budget Price x Budget Mix
Price Effect  = (Actual Price - Budget Price) x Budget Volume x Actual Mix
Mix Effect    = Budget Price x Budget Volume x (Actual Mix - Budget Mix)

Example — Revenue variance:

  • Budget: 10,000 units at $50 = $500,000
  • Actual: 11,000 units at $48 = $528,000
  • Total variance: +$28,000 favorable
  • Volume effect: +1,000 units x $50 = +$50,000 (favorable — sold more units)
  • Price effect: -$2 x 11,000 units = -$22,000 (unfavorable — lower ASP)
  • Net: +$28,000
Raw lines 15 to 45
46### Rate / Mix Decomposition
48Used when analyzing blended rates across segments with different unit economics.
50**Formula:**
51```
52Rate Effect = Sum of (Actual Volume_i x (Actual Rate_i - Budget Rate_i))
53Mix Effect = Sum of (Budget Rate_i x (Actual Volume_i - Expected Volume_i at Budget Mix))
54```
56**Example — Gross margin variance:**
57- Product A: 60% margin, Product B: 40% margin
58- Budget mix: 50% A, 50% B → Blended margin 50%
59- Actual mix: 40% A, 60% B → Blended margin 48%
60- Mix effect explains 2pp of margin compression

Rate / Mix Decomposition

Used when analyzing blended rates across segments with different unit economics.

Formula:

Rate Effect = Sum of (Actual Volume_i x (Actual Rate_i - Budget Rate_i))
Mix Effect  = Sum of (Budget Rate_i x (Actual Volume_i - Expected Volume_i at Budget Mix))

Example — Gross margin variance:

  • Product A: 60% margin, Product B: 40% margin
  • Budget mix: 50% A, 50% B → Blended margin 50%
  • Actual mix: 40% A, 60% B → Blended margin 48%
  • Mix effect explains 2pp of margin compression
Raw lines 46 to 61
62### Headcount / Compensation Decomposition
64Used for analyzing payroll and people-cost variances.
66```
67Total Comp Variance = Actual Compensation - Budget Compensation
69Decompose into:
701. Headcount variance = (Actual HC - Budget HC) x Budget Avg Comp
712. Rate variance = (Actual Avg Comp - Budget Avg Comp) x Budget HC
723. Mix variance = Difference due to level/department mix shift
734. Timing variance = Hiring earlier/later than planned (partial-period effect)
745. Attrition impact = Savings from unplanned departures (partially offset by backfill costs)
75```

Headcount / Compensation Decomposition

Used for analyzing payroll and people-cost variances.

Total Comp Variance = Actual Compensation - Budget Compensation

Decompose into:
1. Headcount variance    = (Actual HC - Budget HC) x Budget Avg Comp
2. Rate variance         = (Actual Avg Comp - Budget Avg Comp) x Budget HC
3. Mix variance          = Difference due to level/department mix shift
4. Timing variance       = Hiring earlier/later than planned (partial-period effect)
5. Attrition impact      = Savings from unplanned departures (partially offset by backfill costs)
Raw lines 62 to 76
77### Spend Category Decomposition
79Used for operating expense analysis when price/volume is not applicable.
81```
82Total OpEx Variance = Actual OpEx - Budget OpEx
84Decompose by:
851. Headcount-driven costs (salaries, benefits, payroll taxes, recruiting)
862. Volume-driven costs (hosting, transaction fees, commissions, shipping)
873. Discretionary spend (travel, events, professional services, marketing programs)
884. Contractual/fixed costs (rent, insurance, software licenses, subscriptions)
895. One-time / non-recurring (severance, legal settlements, write-offs, project costs)
906. Timing / phasing (spend shifted between periods vs plan)
91```

Spend Category Decomposition

Used for operating expense analysis when price/volume is not applicable.

Total OpEx Variance = Actual OpEx - Budget OpEx

Decompose by:
1. Headcount-driven costs    (salaries, benefits, payroll taxes, recruiting)
2. Volume-driven costs       (hosting, transaction fees, commissions, shipping)
3. Discretionary spend       (travel, events, professional services, marketing programs)
4. Contractual/fixed costs   (rent, insurance, software licenses, subscriptions)
5. One-time / non-recurring  (severance, legal settlements, write-offs, project costs)
6. Timing / phasing          (spend shifted between periods vs plan)
Raw lines 77 to 92
93## Materiality Thresholds and Investigation Triggers

Materiality Thresholds and Investigation Triggers

Raw lines 93 to 94
95### Setting Thresholds
97Materiality thresholds determine which variances require investigation and narrative explanation. Set thresholds based on:
991. **Financial statement materiality:** Typically 1-5% of a key benchmark (revenue, total assets, net income)
1002. **Line item size:** Larger line items warrant lower percentage thresholds
1013. **Volatility:** More volatile line items may need higher thresholds to avoid noise
1024. **Management attention:** What level of variance would change a decision?

Setting Thresholds

Materiality thresholds determine which variances require investigation and narrative explanation. Set thresholds based on:

  1. Financial statement materiality: Typically 1-5% of a key benchmark (revenue, total assets, net income)
  2. Line item size: Larger line items warrant lower percentage thresholds
  3. Volatility: More volatile line items may need higher thresholds to avoid noise
  4. Management attention: What level of variance would change a decision?
Raw lines 95 to 103
104### Recommended Threshold Framework
106| Comparison Type | Dollar Threshold | Percentage Threshold | Trigger |
107|----------------|-----------------|---------------------|---------|
108| Actual vs Budget | Organization-specific | 10% | Either exceeded |
109| Actual vs Prior Period | Organization-specific | 15% | Either exceeded |
110| Actual vs Forecast | Organization-specific | 5% | Either exceeded |
111| Sequential (MoM) | Organization-specific | 20% | Either exceeded |
113*Set dollar thresholds based on your organization's size. Common practice: 0.5%-1% of revenue for income statement items.*

Recommended Threshold Framework

Comparison TypeDollar ThresholdPercentage ThresholdTrigger
Actual vs BudgetOrganization-specific10%Either exceeded
Actual vs Prior PeriodOrganization-specific15%Either exceeded
Actual vs ForecastOrganization-specific5%Either exceeded
Sequential (MoM)Organization-specific20%Either exceeded

Set dollar thresholds based on your organization's size. Common practice: 0.5%-1% of revenue for income statement items.

Raw lines 104 to 114
115### Investigation Priority
117When multiple variances exceed thresholds, prioritize investigation by:
1191. **Largest absolute dollar variance** — biggest P&L impact
1202. **Largest percentage variance** — may indicate process issue or error
1213. **Unexpected direction** — variance opposite to trend or expectation
1224. **New variance** — item that was on track and is now off
1235. **Cumulative/trending variance** — growing each period

Investigation Priority

When multiple variances exceed thresholds, prioritize investigation by:

  1. Largest absolute dollar variance — biggest P&L impact
  2. Largest percentage variance — may indicate process issue or error
  3. Unexpected direction — variance opposite to trend or expectation
  4. New variance — item that was on track and is now off
  5. Cumulative/trending variance — growing each period
Raw lines 115 to 124
125## Narrative Generation for Variance Explanations

Narrative Generation for Variance Explanations

Raw lines 125 to 126
127### Structure for Each Variance Narrative
129```
130[Line Item]: [Favorable/Unfavorable] variance of $[amount] ([percentage]%)
131vs [comparison basis] for [period]
133Driver: [Primary driver description]
134[2-3 sentences explaining the business reason for the variance, with specific
135quantification of contributing factors]
137Outlook: [One-time / Expected to continue / Improving / Deteriorating]
138Action: [None required / Monitor / Investigate further / Update forecast]
139```

Structure for Each Variance Narrative

[Line Item]: [Favorable/Unfavorable] variance of $[amount] ([percentage]%)
vs [comparison basis] for [period]

Driver: [Primary driver description]
[2-3 sentences explaining the business reason for the variance, with specific
quantification of contributing factors]

Outlook: [One-time / Expected to continue / Improving / Deteriorating]
Action: [None required / Monitor / Investigate further / Update forecast]
Raw lines 127 to 140
141### Narrative Quality Checklist
143Good variance narratives should be:
145- [ ] **Specific:** Names the actual driver, not just "higher than expected"
146- [ ] **Quantified:** Includes dollar and percentage impact of each driver
147- [ ] **Causal:** Explains WHY it happened, not just WHAT happened
148- [ ] **Forward-looking:** States whether the variance is expected to continue
149- [ ] **Actionable:** Identifies any required follow-up or decision
150- [ ] **Concise:** 2-4 sentences, not a paragraph of filler

Narrative Quality Checklist

Good variance narratives should be:

  • [ ] Specific: Names the actual driver, not just "higher than expected"
  • [ ] Quantified: Includes dollar and percentage impact of each driver
  • [ ] Causal: Explains WHY it happened, not just WHAT happened
  • [ ] Forward-looking: States whether the variance is expected to continue
  • [ ] Actionable: Identifies any required follow-up or decision
  • [ ] Concise: 2-4 sentences, not a paragraph of filler
Raw lines 141 to 151
152### Common Narrative Anti-Patterns to Avoid
154- "Revenue was higher than budget due to higher revenue" (circular — no actual explanation)
155- "Expenses were elevated this period" (vague — which expenses? why?)
156- "Timing" without specifying what was early/late and when it will normalize
157- "One-time" without explaining what the item was
158- "Various small items" for a material variance (must decompose further)
159- Focusing only on the largest driver and ignoring offsetting items

Common Narrative Anti-Patterns to Avoid

  • "Revenue was higher than budget due to higher revenue" (circular — no actual explanation)
  • "Expenses were elevated this period" (vague — which expenses? why?)
  • "Timing" without specifying what was early/late and when it will normalize
  • "One-time" without explaining what the item was
  • "Various small items" for a material variance (must decompose further)
  • Focusing only on the largest driver and ignoring offsetting items
Raw lines 152 to 160
161## Waterfall Chart Methodology

Waterfall Chart Methodology

Raw lines 161 to 162
163### Concept
165A waterfall (or bridge) chart shows how you get from one value to another through a series of positive and negative contributors. Used to visualize variance decomposition.

Concept

A waterfall (or bridge) chart shows how you get from one value to another through a series of positive and negative contributors. Used to visualize variance decomposition.

Raw lines 163 to 166
167### Data Structure
169```
170Starting value: [Base/Budget/Prior period amount]
171Drivers: [List of contributing factors with signed amounts]
172Ending value: [Actual/Current period amount]
174Verification: Starting value + Sum of all drivers = Ending value
175```

Data Structure

Starting value:  [Base/Budget/Prior period amount]
Drivers:         [List of contributing factors with signed amounts]
Ending value:    [Actual/Current period amount]

Verification:    Starting value + Sum of all drivers = Ending value
Raw lines 167 to 176
177### Text-Based Waterfall Format
179When a charting tool is not available, present as a text waterfall:
181```
182WATERFALL: Revenue — Q4 Actual vs Q4 Budget
184Q4 Budget Revenue $10,000K
185 |
186 |--[+] Volume growth (new customers) +$800K
187 |--[+] Expansion revenue (existing customers) +$400K
188 |--[-] Price reductions / discounting -$200K
189 |--[-] Churn / contraction -$350K
190 |--[+] FX tailwind +$50K
191 |--[-] Timing (deals slipped to Q1) -$150K
192 |
193Q4 Actual Revenue $10,550K
195Net Variance: +$550K (+5.5% favorable)
196```

Text-Based Waterfall Format

When a charting tool is not available, present as a text waterfall:

WATERFALL: Revenue — Q4 Actual vs Q4 Budget

Q4 Budget Revenue                                    $10,000K
  |
  |--[+] Volume growth (new customers)               +$800K
  |--[+] Expansion revenue (existing customers)      +$400K
  |--[-] Price reductions / discounting               -$200K
  |--[-] Churn / contraction                          -$350K
  |--[+] FX tailwind                                  +$50K
  |--[-] Timing (deals slipped to Q1)                 -$150K
  |
Q4 Actual Revenue                                    $10,550K

Net Variance: +$550K (+5.5% favorable)
Raw lines 177 to 197
198### Bridge Reconciliation Table
200Complement the waterfall with a reconciliation table:
202| Driver | Amount | % of Variance | Cumulative |
203|--------|--------|---------------|------------|
204| Volume growth | +$800K | 145% | +$800K |
205| Expansion revenue | +$400K | 73% | +$1,200K |
206| Price reductions | -$200K | -36% | +$1,000K |
207| Churn / contraction | -$350K | -64% | +$650K |
208| FX tailwind | +$50K | 9% | +$700K |
209| Timing (deal slippage) | -$150K | -27% | +$550K |
210| **Total variance** | **+$550K** | **100%** | |
212*Note: Percentages can exceed 100% for individual drivers when there are offsetting items.*

Bridge Reconciliation Table

Complement the waterfall with a reconciliation table:

DriverAmount% of VarianceCumulative
Volume growth+$800K145%+$800K
Expansion revenue+$400K73%+$1,200K
Price reductions-$200K-36%+$1,000K
Churn / contraction-$350K-64%+$650K
FX tailwind+$50K9%+$700K
Timing (deal slippage)-$150K-27%+$550K
Total variance+$550K100%

Note: Percentages can exceed 100% for individual drivers when there are offsetting items.

Raw lines 198 to 213
214### Waterfall Best Practices
2161. Order drivers from largest positive to largest negative (or in logical business sequence)
2172. Keep to 5-8 drivers maximum — aggregate smaller items into "Other"
2183. Verify the waterfall reconciles (start + drivers = end)
2194. Color-code: green for favorable, red for unfavorable (in visual charts)
2205. Label each bar with both the amount and a brief description
2216. Include a "Total Variance" summary bar

Waterfall Best Practices

  1. Order drivers from largest positive to largest negative (or in logical business sequence)
  2. Keep to 5-8 drivers maximum — aggregate smaller items into "Other"
  3. Verify the waterfall reconciles (start + drivers = end)
  4. Color-code: green for favorable, red for unfavorable (in visual charts)
  5. Label each bar with both the amount and a brief description
  6. Include a "Total Variance" summary bar
Raw lines 214 to 222
223## Budget vs Actual vs Forecast Comparisons

Budget vs Actual vs Forecast Comparisons

Raw lines 223 to 224
225### Three-Way Comparison Framework
227| Metric | Budget | Forecast | Actual | Bud Var ($) | Bud Var (%) | Fcast Var ($) | Fcast Var (%) |
228|--------|--------|----------|--------|-------------|-------------|---------------|---------------|
229| Revenue | $X | $X | $X | $X | X% | $X | X% |
230| COGS | $X | $X | $X | $X | X% | $X | X% |
231| Gross Profit | $X | $X | $X | $X | X% | $X | X% |

Three-Way Comparison Framework

MetricBudgetForecastActualBud Var ($)Bud Var (%)Fcast Var ($)Fcast Var (%)
Revenue$X$X$X$XX%$XX%
COGS$X$X$X$XX%$XX%
Gross Profit$X$X$X$XX%$XX%
Raw lines 225 to 232
233### When to Use Each Comparison
235- **Actual vs Budget:** Annual performance measurement, compensation decisions, board reporting. Budget is set at the beginning of the year and typically not changed.
236- **Actual vs Forecast:** Operational management, identifying emerging issues. Forecast is updated periodically (monthly or quarterly) to reflect current expectations.
237- **Forecast vs Budget:** Understanding how expectations have changed since planning. Useful for identifying planning accuracy issues.
238- **Actual vs Prior Period:** Trend analysis, sequential performance. Useful when budget is not meaningful (new business lines, post-acquisition).
239- **Actual vs Prior Year:** Year-over-year growth analysis, seasonality-adjusted comparison.

When to Use Each Comparison

  • Actual vs Budget: Annual performance measurement, compensation decisions, board reporting. Budget is set at the beginning of the year and typically not changed.
  • Actual vs Forecast: Operational management, identifying emerging issues. Forecast is updated periodically (monthly or quarterly) to reflect current expectations.
  • Forecast vs Budget: Understanding how expectations have changed since planning. Useful for identifying planning accuracy issues.
  • Actual vs Prior Period: Trend analysis, sequential performance. Useful when budget is not meaningful (new business lines, post-acquisition).
  • Actual vs Prior Year: Year-over-year growth analysis, seasonality-adjusted comparison.
Raw lines 233 to 240
241### Forecast Accuracy Analysis
243Track how accurate forecasts are over time to improve planning:
245```
246Forecast Accuracy = 1 - |Actual - Forecast| / |Actual|
248MAPE (Mean Absolute Percentage Error) = Average of |Actual - Forecast| / |Actual| across periods
249```
251| Period | Forecast | Actual | Variance | Accuracy |
252|--------|----------|--------|----------|----------|
253| Jan | $X | $X | $X (X%) | XX% |
254| Feb | $X | $X | $X (X%) | XX% |
255| ... | ... | ... | ... | ... |
256| **Avg**| | | **MAPE** | **XX%** |

Forecast Accuracy Analysis

Track how accurate forecasts are over time to improve planning:

Forecast Accuracy = 1 - |Actual - Forecast| / |Actual|

MAPE (Mean Absolute Percentage Error) = Average of |Actual - Forecast| / |Actual| across periods
PeriodForecastActualVarianceAccuracy
Jan$X$X$X (X%)XX%
Feb$X$X$X (X%)XX%
...............
AvgMAPEXX%
Raw lines 241 to 257
258### Variance Trending
260Track how variances evolve over the year to identify systematic bias:
262- **Consistently favorable:** Budget may be too conservative (sandbagging)
263- **Consistently unfavorable:** Budget may be too aggressive or execution issues
264- **Growing unfavorable:** Deteriorating performance or unrealistic targets
265- **Shrinking variance:** Forecast accuracy improving through the year (normal pattern)
266- **Volatile:** Unpredictable business or poor forecasting methodology

Variance Trending

Track how variances evolve over the year to identify systematic bias:

  • Consistently favorable: Budget may be too conservative (sandbagging)
  • Consistently unfavorable: Budget may be too aggressive or execution issues
  • Growing unfavorable: Deteriorating performance or unrealistic targets
  • Shrinking variance: Forecast accuracy improving through the year (normal pattern)
  • Volatile: Unpredictable business or poor forecasting methodology
Raw lines 258 to 266

From anthropics/knowledge-work-plugins at 2574e29, 2026-10-27. Skills read by DeepSeek V4.1 Flash on 2026-11-04. Summary and techniques by Claude Opus 5.5 on 2026-11-06.