[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-anthropic-variance-analysis":3,"mdc-di7il-key":36,"related-repo-anthropic-variance-analysis":1468,"related-org-anthropic-variance-analysis":1585},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":12,"stars":25,"repoUrl":26,"updatedAt":27,"license":28,"forks":29,"topics":30,"repo":31,"sourceUrl":34,"mdContent":35},"variance-analysis","decompose financial variances into drivers","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.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},"anthropic","Anthropic","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fanthropic.png","anthropics",[13,17,20,22],{"name":14,"slug":15,"type":16},"Finance","finance","tag",{"name":18,"slug":19,"type":16},"Accounting","accounting",{"name":21,"slug":4,"type":16},"Variance Analysis",{"name":23,"slug":24,"type":16},"FP&A","fp-and-a",22885,"https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fknowledge-work-plugins","2026-04-06T17:57:39.218318",null,2736,[],{"repoUrl":26,"stars":25,"forks":29,"topics":32,"description":33},[],"Open source repository of plugins primarily intended for knowledge workers to use in Claude Cowork","https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fknowledge-work-plugins\u002Ftree\u002FHEAD\u002Ffinance\u002Fskills\u002Fvariance-analysis","---\nname: variance-analysis\ndescription: 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.\nargument-hint: \"\u003Cline item> \u003Cperiod> vs \u003Ccomparison>\"\n---\n\n# Variance Analysis\n\n**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.\n\nTechniques for decomposing variances, materiality thresholds, narrative generation, waterfall chart methodology, and budget vs actual vs forecast comparisons.\n\n## Variance Decomposition Techniques\n\n### Price \u002F Volume Decomposition\n\nThe most fundamental variance decomposition. Used for revenue, cost of goods, and any metric that can be expressed as Price x Volume.\n\n**Formula:**\n```\nTotal Variance = Actual - Budget (or Prior)\n\nVolume Effect  = (Actual Volume - Budget Volume) x Budget Price\nPrice Effect   = (Actual Price - Budget Price) x Actual Volume\nMix Effect     = Residual (interaction term), or allocated proportionally\n\nVerification:  Volume Effect + Price Effect = Total Variance\n               (when mix is embedded in the price\u002Fvolume terms)\n```\n\n**Three-way decomposition (separating mix):**\n```\nVolume Effect = (Actual Volume - Budget Volume) x Budget Price x Budget Mix\nPrice Effect  = (Actual Price - Budget Price) x Budget Volume x Actual Mix\nMix Effect    = Budget Price x Budget Volume x (Actual Mix - Budget Mix)\n```\n\n**Example — Revenue variance:**\n- Budget: 10,000 units at $50 = $500,000\n- Actual: 11,000 units at $48 = $528,000\n- Total variance: +$28,000 favorable\n  - Volume effect: +1,000 units x $50 = +$50,000 (favorable — sold more units)\n  - Price effect: -$2 x 11,000 units = -$22,000 (unfavorable — lower ASP)\n  - Net: +$28,000\n\n### Rate \u002F Mix Decomposition\n\nUsed when analyzing blended rates across segments with different unit economics.\n\n**Formula:**\n```\nRate Effect = Sum of (Actual Volume_i x (Actual Rate_i - Budget Rate_i))\nMix Effect  = Sum of (Budget Rate_i x (Actual Volume_i - Expected Volume_i at Budget Mix))\n```\n\n**Example — Gross margin variance:**\n- Product A: 60% margin, Product B: 40% margin\n- Budget mix: 50% A, 50% B → Blended margin 50%\n- Actual mix: 40% A, 60% B → Blended margin 48%\n- Mix effect explains 2pp of margin compression\n\n### Headcount \u002F Compensation Decomposition\n\nUsed for analyzing payroll and people-cost variances.\n\n```\nTotal Comp Variance = Actual Compensation - Budget Compensation\n\nDecompose into:\n1. Headcount variance    = (Actual HC - Budget HC) x Budget Avg Comp\n2. Rate variance         = (Actual Avg Comp - Budget Avg Comp) x Budget HC\n3. Mix variance          = Difference due to level\u002Fdepartment mix shift\n4. Timing variance       = Hiring earlier\u002Flater than planned (partial-period effect)\n5. Attrition impact      = Savings from unplanned departures (partially offset by backfill costs)\n```\n\n### Spend Category Decomposition\n\nUsed for operating expense analysis when price\u002Fvolume is not applicable.\n\n```\nTotal OpEx Variance = Actual OpEx - Budget OpEx\n\nDecompose by:\n1. Headcount-driven costs    (salaries, benefits, payroll taxes, recruiting)\n2. Volume-driven costs       (hosting, transaction fees, commissions, shipping)\n3. Discretionary spend       (travel, events, professional services, marketing programs)\n4. Contractual\u002Ffixed costs   (rent, insurance, software licenses, subscriptions)\n5. One-time \u002F non-recurring  (severance, legal settlements, write-offs, project costs)\n6. Timing \u002F phasing          (spend shifted between periods vs plan)\n```\n\n## Materiality Thresholds and Investigation Triggers\n\n### Setting Thresholds\n\nMateriality thresholds determine which variances require investigation and narrative explanation. Set thresholds based on:\n\n1. **Financial statement materiality:** Typically 1-5% of a key benchmark (revenue, total assets, net income)\n2. **Line item size:** Larger line items warrant lower percentage thresholds\n3. **Volatility:** More volatile line items may need higher thresholds to avoid noise\n4. **Management attention:** What level of variance would change a decision?\n\n### Recommended Threshold Framework\n\n| Comparison Type | Dollar Threshold | Percentage Threshold | Trigger |\n|----------------|-----------------|---------------------|---------|\n| Actual vs Budget | Organization-specific | 10% | Either exceeded |\n| Actual vs Prior Period | Organization-specific | 15% | Either exceeded |\n| Actual vs Forecast | Organization-specific | 5% | Either exceeded |\n| Sequential (MoM) | Organization-specific | 20% | Either exceeded |\n\n*Set dollar thresholds based on your organization's size. Common practice: 0.5%-1% of revenue for income statement items.*\n\n### Investigation Priority\n\nWhen multiple variances exceed thresholds, prioritize investigation by:\n\n1. **Largest absolute dollar variance** — biggest P&L impact\n2. **Largest percentage variance** — may indicate process issue or error\n3. **Unexpected direction** — variance opposite to trend or expectation\n4. **New variance** — item that was on track and is now off\n5. **Cumulative\u002Ftrending variance** — growing each period\n\n## Narrative Generation for Variance Explanations\n\n### Structure for Each Variance Narrative\n\n```\n[Line Item]: [Favorable\u002FUnfavorable] variance of $[amount] ([percentage]%)\nvs [comparison basis] for [period]\n\nDriver: [Primary driver description]\n[2-3 sentences explaining the business reason for the variance, with specific\nquantification of contributing factors]\n\nOutlook: [One-time \u002F Expected to continue \u002F Improving \u002F Deteriorating]\nAction: [None required \u002F Monitor \u002F Investigate further \u002F Update forecast]\n```\n\n### Narrative Quality Checklist\n\nGood variance narratives should be:\n\n- [ ] **Specific:** Names the actual driver, not just \"higher than expected\"\n- [ ] **Quantified:** Includes dollar and percentage impact of each driver\n- [ ] **Causal:** Explains WHY it happened, not just WHAT happened\n- [ ] **Forward-looking:** States whether the variance is expected to continue\n- [ ] **Actionable:** Identifies any required follow-up or decision\n- [ ] **Concise:** 2-4 sentences, not a paragraph of filler\n\n### Common Narrative Anti-Patterns to Avoid\n\n- \"Revenue was higher than budget due to higher revenue\" (circular — no actual explanation)\n- \"Expenses were elevated this period\" (vague — which expenses? why?)\n- \"Timing\" without specifying what was early\u002Flate and when it will normalize\n- \"One-time\" without explaining what the item was\n- \"Various small items\" for a material variance (must decompose further)\n- Focusing only on the largest driver and ignoring offsetting items\n\n## Waterfall Chart Methodology\n\n### Concept\n\nA 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.\n\n### Data Structure\n\n```\nStarting value:  [Base\u002FBudget\u002FPrior period amount]\nDrivers:         [List of contributing factors with signed amounts]\nEnding value:    [Actual\u002FCurrent period amount]\n\nVerification:    Starting value + Sum of all drivers = Ending value\n```\n\n### Text-Based Waterfall Format\n\nWhen a charting tool is not available, present as a text waterfall:\n\n```\nWATERFALL: Revenue — Q4 Actual vs Q4 Budget\n\nQ4 Budget Revenue                                    $10,000K\n  |\n  |--[+] Volume growth (new customers)               +$800K\n  |--[+] Expansion revenue (existing customers)      +$400K\n  |--[-] Price reductions \u002F discounting               -$200K\n  |--[-] Churn \u002F contraction                          -$350K\n  |--[+] FX tailwind                                  +$50K\n  |--[-] Timing (deals slipped to Q1)                 -$150K\n  |\nQ4 Actual Revenue                                    $10,550K\n\nNet Variance: +$550K (+5.5% favorable)\n```\n\n### Bridge Reconciliation Table\n\nComplement the waterfall with a reconciliation table:\n\n| Driver | Amount | % of Variance | Cumulative |\n|--------|--------|---------------|------------|\n| Volume growth | +$800K | 145% | +$800K |\n| Expansion revenue | +$400K | 73% | +$1,200K |\n| Price reductions | -$200K | -36% | +$1,000K |\n| Churn \u002F contraction | -$350K | -64% | +$650K |\n| FX tailwind | +$50K | 9% | +$700K |\n| Timing (deal slippage) | -$150K | -27% | +$550K |\n| **Total variance** | **+$550K** | **100%** | |\n\n*Note: Percentages can exceed 100% for individual drivers when there are offsetting items.*\n\n### Waterfall Best Practices\n\n1. Order drivers from largest positive to largest negative (or in logical business sequence)\n2. Keep to 5-8 drivers maximum — aggregate smaller items into \"Other\"\n3. Verify the waterfall reconciles (start + drivers = end)\n4. Color-code: green for favorable, red for unfavorable (in visual charts)\n5. Label each bar with both the amount and a brief description\n6. Include a \"Total Variance\" summary bar\n\n## Budget vs Actual vs Forecast Comparisons\n\n### Three-Way Comparison Framework\n\n| Metric | Budget | Forecast | Actual | Bud Var ($) | Bud Var (%) | Fcast Var ($) | Fcast Var (%) |\n|--------|--------|----------|--------|-------------|-------------|---------------|---------------|\n| Revenue | $X | $X | $X | $X | X% | $X | X% |\n| COGS | $X | $X | $X | $X | X% | $X | X% |\n| Gross Profit | $X | $X | $X | $X | X% | $X | X% |\n\n### When to Use Each Comparison\n\n- **Actual vs Budget:** Annual performance measurement, compensation decisions, board reporting. Budget is set at the beginning of the year and typically not changed.\n- **Actual vs Forecast:** Operational management, identifying emerging issues. Forecast is updated periodically (monthly or quarterly) to reflect current expectations.\n- **Forecast vs Budget:** Understanding how expectations have changed since planning. Useful for identifying planning accuracy issues.\n- **Actual vs Prior Period:** Trend analysis, sequential performance. Useful when budget is not meaningful (new business lines, post-acquisition).\n- **Actual vs Prior Year:** Year-over-year growth analysis, seasonality-adjusted comparison.\n\n### Forecast Accuracy Analysis\n\nTrack how accurate forecasts are over time to improve planning:\n\n```\nForecast Accuracy = 1 - |Actual - Forecast| \u002F |Actual|\n\nMAPE (Mean Absolute Percentage Error) = Average of |Actual - Forecast| \u002F |Actual| across periods\n```\n\n| Period | Forecast | Actual | Variance | Accuracy |\n|--------|----------|--------|----------|----------|\n| Jan    | $X       | $X     | $X (X%)  | XX%      |\n| Feb    | $X       | $X     | $X (X%)  | XX%      |\n| ...    | ...      | ...    | ...      | ...      |\n| **Avg**|          |        | **MAPE** | **XX%**  |\n\n### Variance Trending\n\nTrack how variances evolve over the year to identify systematic bias:\n\n- **Consistently favorable:** Budget may be too conservative (sandbagging)\n- **Consistently unfavorable:** Budget may be too aggressive or execution issues\n- **Growing unfavorable:** Deteriorating performance or unrealistic targets\n- **Shrinking variance:** Forecast accuracy improving through the year (normal pattern)\n- **Volatile:** Unpredictable business or poor forecasting methodology\n",{"data":37,"body":39},{"name":4,"description":6,"argument-hint":38},"\u003Cline item> \u003Cperiod> vs \u003Ccomparison>",{"type":40,"children":41},"root",[42,49,61,66,73,80,85,93,106,114,123,131,169,175,180,187,196,204,227,233,238,247,253,258,267,273,279,284,328,334,458,467,473,478,531,537,543,552,558,563,663,669,702,708,714,719,725,734,740,745,754,760,765,963,971,977,1010,1016,1022,1184,1190,1243,1249,1254,1263,1404,1410,1415],{"type":43,"tag":44,"props":45,"children":46},"element","h1",{"id":4},[47],{"type":48,"value":21},"text",{"type":43,"tag":50,"props":51,"children":52},"p",{},[53,59],{"type":43,"tag":54,"props":55,"children":56},"strong",{},[57],{"type":48,"value":58},"Important",{"type":48,"value":60},": 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.",{"type":43,"tag":50,"props":62,"children":63},{},[64],{"type":48,"value":65},"Techniques for decomposing variances, materiality thresholds, narrative generation, waterfall chart methodology, and budget vs actual vs forecast comparisons.",{"type":43,"tag":67,"props":68,"children":70},"h2",{"id":69},"variance-decomposition-techniques",[71],{"type":48,"value":72},"Variance Decomposition Techniques",{"type":43,"tag":74,"props":75,"children":77},"h3",{"id":76},"price-volume-decomposition",[78],{"type":48,"value":79},"Price \u002F Volume Decomposition",{"type":43,"tag":50,"props":81,"children":82},{},[83],{"type":48,"value":84},"The most fundamental variance decomposition. Used for revenue, cost of goods, and any metric that can be expressed as Price x Volume.",{"type":43,"tag":50,"props":86,"children":87},{},[88],{"type":43,"tag":54,"props":89,"children":90},{},[91],{"type":48,"value":92},"Formula:",{"type":43,"tag":94,"props":95,"children":99},"pre",{"className":96,"code":98,"language":48},[97],"language-text","Total Variance = Actual - Budget (or Prior)\n\nVolume Effect  = (Actual Volume - Budget Volume) x Budget Price\nPrice Effect   = (Actual Price - Budget Price) x Actual Volume\nMix Effect     = Residual (interaction term), or allocated proportionally\n\nVerification:  Volume Effect + Price Effect = Total Variance\n               (when mix is embedded in the price\u002Fvolume terms)\n",[100],{"type":43,"tag":101,"props":102,"children":104},"code",{"__ignoreMap":103},"",[105],{"type":48,"value":98},{"type":43,"tag":50,"props":107,"children":108},{},[109],{"type":43,"tag":54,"props":110,"children":111},{},[112],{"type":48,"value":113},"Three-way decomposition (separating mix):",{"type":43,"tag":94,"props":115,"children":118},{"className":116,"code":117,"language":48},[97],"Volume Effect = (Actual Volume - Budget Volume) x Budget Price x Budget Mix\nPrice Effect  = (Actual Price - Budget Price) x Budget Volume x Actual Mix\nMix Effect    = Budget Price x Budget Volume x (Actual Mix - Budget Mix)\n",[119],{"type":43,"tag":101,"props":120,"children":121},{"__ignoreMap":103},[122],{"type":48,"value":117},{"type":43,"tag":50,"props":124,"children":125},{},[126],{"type":43,"tag":54,"props":127,"children":128},{},[129],{"type":48,"value":130},"Example — Revenue variance:",{"type":43,"tag":132,"props":133,"children":134},"ul",{},[135,141,146],{"type":43,"tag":136,"props":137,"children":138},"li",{},[139],{"type":48,"value":140},"Budget: 10,000 units at $50 = $500,000",{"type":43,"tag":136,"props":142,"children":143},{},[144],{"type":48,"value":145},"Actual: 11,000 units at $48 = $528,000",{"type":43,"tag":136,"props":147,"children":148},{},[149,151],{"type":48,"value":150},"Total variance: +$28,000 favorable\n",{"type":43,"tag":132,"props":152,"children":153},{},[154,159,164],{"type":43,"tag":136,"props":155,"children":156},{},[157],{"type":48,"value":158},"Volume effect: +1,000 units x $50 = +$50,000 (favorable — sold more units)",{"type":43,"tag":136,"props":160,"children":161},{},[162],{"type":48,"value":163},"Price effect: -$2 x 11,000 units = -$22,000 (unfavorable — lower ASP)",{"type":43,"tag":136,"props":165,"children":166},{},[167],{"type":48,"value":168},"Net: +$28,000",{"type":43,"tag":74,"props":170,"children":172},{"id":171},"rate-mix-decomposition",[173],{"type":48,"value":174},"Rate \u002F Mix Decomposition",{"type":43,"tag":50,"props":176,"children":177},{},[178],{"type":48,"value":179},"Used when analyzing blended rates across segments with different unit economics.",{"type":43,"tag":50,"props":181,"children":182},{},[183],{"type":43,"tag":54,"props":184,"children":185},{},[186],{"type":48,"value":92},{"type":43,"tag":94,"props":188,"children":191},{"className":189,"code":190,"language":48},[97],"Rate Effect = Sum of (Actual Volume_i x (Actual Rate_i - Budget Rate_i))\nMix Effect  = Sum of (Budget Rate_i x (Actual Volume_i - Expected Volume_i at Budget Mix))\n",[192],{"type":43,"tag":101,"props":193,"children":194},{"__ignoreMap":103},[195],{"type":48,"value":190},{"type":43,"tag":50,"props":197,"children":198},{},[199],{"type":43,"tag":54,"props":200,"children":201},{},[202],{"type":48,"value":203},"Example — Gross margin variance:",{"type":43,"tag":132,"props":205,"children":206},{},[207,212,217,222],{"type":43,"tag":136,"props":208,"children":209},{},[210],{"type":48,"value":211},"Product A: 60% margin, Product B: 40% margin",{"type":43,"tag":136,"props":213,"children":214},{},[215],{"type":48,"value":216},"Budget mix: 50% A, 50% B → Blended margin 50%",{"type":43,"tag":136,"props":218,"children":219},{},[220],{"type":48,"value":221},"Actual mix: 40% A, 60% B → Blended margin 48%",{"type":43,"tag":136,"props":223,"children":224},{},[225],{"type":48,"value":226},"Mix effect explains 2pp of margin compression",{"type":43,"tag":74,"props":228,"children":230},{"id":229},"headcount-compensation-decomposition",[231],{"type":48,"value":232},"Headcount \u002F Compensation Decomposition",{"type":43,"tag":50,"props":234,"children":235},{},[236],{"type":48,"value":237},"Used for analyzing payroll and people-cost variances.",{"type":43,"tag":94,"props":239,"children":242},{"className":240,"code":241,"language":48},[97],"Total Comp Variance = Actual Compensation - Budget Compensation\n\nDecompose into:\n1. Headcount variance    = (Actual HC - Budget HC) x Budget Avg Comp\n2. Rate variance         = (Actual Avg Comp - Budget Avg Comp) x Budget HC\n3. Mix variance          = Difference due to level\u002Fdepartment mix shift\n4. Timing variance       = Hiring earlier\u002Flater than planned (partial-period effect)\n5. Attrition impact      = Savings from unplanned departures (partially offset by backfill costs)\n",[243],{"type":43,"tag":101,"props":244,"children":245},{"__ignoreMap":103},[246],{"type":48,"value":241},{"type":43,"tag":74,"props":248,"children":250},{"id":249},"spend-category-decomposition",[251],{"type":48,"value":252},"Spend Category Decomposition",{"type":43,"tag":50,"props":254,"children":255},{},[256],{"type":48,"value":257},"Used for operating expense analysis when price\u002Fvolume is not applicable.",{"type":43,"tag":94,"props":259,"children":262},{"className":260,"code":261,"language":48},[97],"Total OpEx Variance = Actual OpEx - Budget OpEx\n\nDecompose by:\n1. Headcount-driven costs    (salaries, benefits, payroll taxes, recruiting)\n2. Volume-driven costs       (hosting, transaction fees, commissions, shipping)\n3. Discretionary spend       (travel, events, professional services, marketing programs)\n4. Contractual\u002Ffixed costs   (rent, insurance, software licenses, subscriptions)\n5. One-time \u002F non-recurring  (severance, legal settlements, write-offs, project costs)\n6. Timing \u002F phasing          (spend shifted between periods vs plan)\n",[263],{"type":43,"tag":101,"props":264,"children":265},{"__ignoreMap":103},[266],{"type":48,"value":261},{"type":43,"tag":67,"props":268,"children":270},{"id":269},"materiality-thresholds-and-investigation-triggers",[271],{"type":48,"value":272},"Materiality Thresholds and Investigation Triggers",{"type":43,"tag":74,"props":274,"children":276},{"id":275},"setting-thresholds",[277],{"type":48,"value":278},"Setting Thresholds",{"type":43,"tag":50,"props":280,"children":281},{},[282],{"type":48,"value":283},"Materiality thresholds determine which variances require investigation and narrative explanation. Set thresholds based on:",{"type":43,"tag":285,"props":286,"children":287},"ol",{},[288,298,308,318],{"type":43,"tag":136,"props":289,"children":290},{},[291,296],{"type":43,"tag":54,"props":292,"children":293},{},[294],{"type":48,"value":295},"Financial statement materiality:",{"type":48,"value":297}," Typically 1-5% of a key benchmark (revenue, total assets, net income)",{"type":43,"tag":136,"props":299,"children":300},{},[301,306],{"type":43,"tag":54,"props":302,"children":303},{},[304],{"type":48,"value":305},"Line item size:",{"type":48,"value":307}," Larger line items warrant lower percentage thresholds",{"type":43,"tag":136,"props":309,"children":310},{},[311,316],{"type":43,"tag":54,"props":312,"children":313},{},[314],{"type":48,"value":315},"Volatility:",{"type":48,"value":317}," More volatile line items may need higher thresholds to avoid noise",{"type":43,"tag":136,"props":319,"children":320},{},[321,326],{"type":43,"tag":54,"props":322,"children":323},{},[324],{"type":48,"value":325},"Management attention:",{"type":48,"value":327}," What level of variance would change a decision?",{"type":43,"tag":74,"props":329,"children":331},{"id":330},"recommended-threshold-framework",[332],{"type":48,"value":333},"Recommended Threshold Framework",{"type":43,"tag":335,"props":336,"children":337},"table",{},[338,367],{"type":43,"tag":339,"props":340,"children":341},"thead",{},[342],{"type":43,"tag":343,"props":344,"children":345},"tr",{},[346,352,357,362],{"type":43,"tag":347,"props":348,"children":349},"th",{},[350],{"type":48,"value":351},"Comparison Type",{"type":43,"tag":347,"props":353,"children":354},{},[355],{"type":48,"value":356},"Dollar Threshold",{"type":43,"tag":347,"props":358,"children":359},{},[360],{"type":48,"value":361},"Percentage Threshold",{"type":43,"tag":347,"props":363,"children":364},{},[365],{"type":48,"value":366},"Trigger",{"type":43,"tag":368,"props":369,"children":370},"tbody",{},[371,395,416,437],{"type":43,"tag":343,"props":372,"children":373},{},[374,380,385,390],{"type":43,"tag":375,"props":376,"children":377},"td",{},[378],{"type":48,"value":379},"Actual vs Budget",{"type":43,"tag":375,"props":381,"children":382},{},[383],{"type":48,"value":384},"Organization-specific",{"type":43,"tag":375,"props":386,"children":387},{},[388],{"type":48,"value":389},"10%",{"type":43,"tag":375,"props":391,"children":392},{},[393],{"type":48,"value":394},"Either exceeded",{"type":43,"tag":343,"props":396,"children":397},{},[398,403,407,412],{"type":43,"tag":375,"props":399,"children":400},{},[401],{"type":48,"value":402},"Actual vs Prior Period",{"type":43,"tag":375,"props":404,"children":405},{},[406],{"type":48,"value":384},{"type":43,"tag":375,"props":408,"children":409},{},[410],{"type":48,"value":411},"15%",{"type":43,"tag":375,"props":413,"children":414},{},[415],{"type":48,"value":394},{"type":43,"tag":343,"props":417,"children":418},{},[419,424,428,433],{"type":43,"tag":375,"props":420,"children":421},{},[422],{"type":48,"value":423},"Actual vs Forecast",{"type":43,"tag":375,"props":425,"children":426},{},[427],{"type":48,"value":384},{"type":43,"tag":375,"props":429,"children":430},{},[431],{"type":48,"value":432},"5%",{"type":43,"tag":375,"props":434,"children":435},{},[436],{"type":48,"value":394},{"type":43,"tag":343,"props":438,"children":439},{},[440,445,449,454],{"type":43,"tag":375,"props":441,"children":442},{},[443],{"type":48,"value":444},"Sequential (MoM)",{"type":43,"tag":375,"props":446,"children":447},{},[448],{"type":48,"value":384},{"type":43,"tag":375,"props":450,"children":451},{},[452],{"type":48,"value":453},"20%",{"type":43,"tag":375,"props":455,"children":456},{},[457],{"type":48,"value":394},{"type":43,"tag":50,"props":459,"children":460},{},[461],{"type":43,"tag":462,"props":463,"children":464},"em",{},[465],{"type":48,"value":466},"Set dollar thresholds based on your organization's size. Common practice: 0.5%-1% of revenue for income statement items.",{"type":43,"tag":74,"props":468,"children":470},{"id":469},"investigation-priority",[471],{"type":48,"value":472},"Investigation Priority",{"type":43,"tag":50,"props":474,"children":475},{},[476],{"type":48,"value":477},"When multiple variances exceed thresholds, prioritize investigation by:",{"type":43,"tag":285,"props":479,"children":480},{},[481,491,501,511,521],{"type":43,"tag":136,"props":482,"children":483},{},[484,489],{"type":43,"tag":54,"props":485,"children":486},{},[487],{"type":48,"value":488},"Largest absolute dollar variance",{"type":48,"value":490}," — biggest P&L impact",{"type":43,"tag":136,"props":492,"children":493},{},[494,499],{"type":43,"tag":54,"props":495,"children":496},{},[497],{"type":48,"value":498},"Largest percentage variance",{"type":48,"value":500}," — may indicate process issue or error",{"type":43,"tag":136,"props":502,"children":503},{},[504,509],{"type":43,"tag":54,"props":505,"children":506},{},[507],{"type":48,"value":508},"Unexpected direction",{"type":48,"value":510}," — variance opposite to trend or expectation",{"type":43,"tag":136,"props":512,"children":513},{},[514,519],{"type":43,"tag":54,"props":515,"children":516},{},[517],{"type":48,"value":518},"New variance",{"type":48,"value":520}," — item that was on track and is now off",{"type":43,"tag":136,"props":522,"children":523},{},[524,529],{"type":43,"tag":54,"props":525,"children":526},{},[527],{"type":48,"value":528},"Cumulative\u002Ftrending variance",{"type":48,"value":530}," — growing each period",{"type":43,"tag":67,"props":532,"children":534},{"id":533},"narrative-generation-for-variance-explanations",[535],{"type":48,"value":536},"Narrative Generation for Variance Explanations",{"type":43,"tag":74,"props":538,"children":540},{"id":539},"structure-for-each-variance-narrative",[541],{"type":48,"value":542},"Structure for Each Variance Narrative",{"type":43,"tag":94,"props":544,"children":547},{"className":545,"code":546,"language":48},[97],"[Line Item]: [Favorable\u002FUnfavorable] variance of $[amount] ([percentage]%)\nvs [comparison basis] for [period]\n\nDriver: [Primary driver description]\n[2-3 sentences explaining the business reason for the variance, with specific\nquantification of contributing factors]\n\nOutlook: [One-time \u002F Expected to continue \u002F Improving \u002F Deteriorating]\nAction: [None required \u002F Monitor \u002F Investigate further \u002F Update forecast]\n",[548],{"type":43,"tag":101,"props":549,"children":550},{"__ignoreMap":103},[551],{"type":48,"value":546},{"type":43,"tag":74,"props":553,"children":555},{"id":554},"narrative-quality-checklist",[556],{"type":48,"value":557},"Narrative Quality Checklist",{"type":43,"tag":50,"props":559,"children":560},{},[561],{"type":48,"value":562},"Good variance narratives should be:",{"type":43,"tag":132,"props":564,"children":567},{"className":565},[566],"contains-task-list",[568,588,603,618,633,648],{"type":43,"tag":136,"props":569,"children":572},{"className":570},[571],"task-list-item",[573,579,581,586],{"type":43,"tag":574,"props":575,"children":578},"input",{"disabled":576,"type":577},true,"checkbox",[],{"type":48,"value":580}," ",{"type":43,"tag":54,"props":582,"children":583},{},[584],{"type":48,"value":585},"Specific:",{"type":48,"value":587}," Names the actual driver, not just \"higher than expected\"",{"type":43,"tag":136,"props":589,"children":591},{"className":590},[571],[592,595,596,601],{"type":43,"tag":574,"props":593,"children":594},{"disabled":576,"type":577},[],{"type":48,"value":580},{"type":43,"tag":54,"props":597,"children":598},{},[599],{"type":48,"value":600},"Quantified:",{"type":48,"value":602}," Includes dollar and percentage impact of each driver",{"type":43,"tag":136,"props":604,"children":606},{"className":605},[571],[607,610,611,616],{"type":43,"tag":574,"props":608,"children":609},{"disabled":576,"type":577},[],{"type":48,"value":580},{"type":43,"tag":54,"props":612,"children":613},{},[614],{"type":48,"value":615},"Causal:",{"type":48,"value":617}," Explains WHY it happened, not just WHAT happened",{"type":43,"tag":136,"props":619,"children":621},{"className":620},[571],[622,625,626,631],{"type":43,"tag":574,"props":623,"children":624},{"disabled":576,"type":577},[],{"type":48,"value":580},{"type":43,"tag":54,"props":627,"children":628},{},[629],{"type":48,"value":630},"Forward-looking:",{"type":48,"value":632}," States whether the variance is expected to continue",{"type":43,"tag":136,"props":634,"children":636},{"className":635},[571],[637,640,641,646],{"type":43,"tag":574,"props":638,"children":639},{"disabled":576,"type":577},[],{"type":48,"value":580},{"type":43,"tag":54,"props":642,"children":643},{},[644],{"type":48,"value":645},"Actionable:",{"type":48,"value":647}," Identifies any required follow-up or decision",{"type":43,"tag":136,"props":649,"children":651},{"className":650},[571],[652,655,656,661],{"type":43,"tag":574,"props":653,"children":654},{"disabled":576,"type":577},[],{"type":48,"value":580},{"type":43,"tag":54,"props":657,"children":658},{},[659],{"type":48,"value":660},"Concise:",{"type":48,"value":662}," 2-4 sentences, not a paragraph of filler",{"type":43,"tag":74,"props":664,"children":666},{"id":665},"common-narrative-anti-patterns-to-avoid",[667],{"type":48,"value":668},"Common Narrative Anti-Patterns to Avoid",{"type":43,"tag":132,"props":670,"children":671},{},[672,677,682,687,692,697],{"type":43,"tag":136,"props":673,"children":674},{},[675],{"type":48,"value":676},"\"Revenue was higher than budget due to higher revenue\" (circular — no actual explanation)",{"type":43,"tag":136,"props":678,"children":679},{},[680],{"type":48,"value":681},"\"Expenses were elevated this period\" (vague — which expenses? why?)",{"type":43,"tag":136,"props":683,"children":684},{},[685],{"type":48,"value":686},"\"Timing\" without specifying what was early\u002Flate and when it will normalize",{"type":43,"tag":136,"props":688,"children":689},{},[690],{"type":48,"value":691},"\"One-time\" without explaining what the item was",{"type":43,"tag":136,"props":693,"children":694},{},[695],{"type":48,"value":696},"\"Various small items\" for a material variance (must decompose further)",{"type":43,"tag":136,"props":698,"children":699},{},[700],{"type":48,"value":701},"Focusing only on the largest driver and ignoring offsetting items",{"type":43,"tag":67,"props":703,"children":705},{"id":704},"waterfall-chart-methodology",[706],{"type":48,"value":707},"Waterfall Chart Methodology",{"type":43,"tag":74,"props":709,"children":711},{"id":710},"concept",[712],{"type":48,"value":713},"Concept",{"type":43,"tag":50,"props":715,"children":716},{},[717],{"type":48,"value":718},"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.",{"type":43,"tag":74,"props":720,"children":722},{"id":721},"data-structure",[723],{"type":48,"value":724},"Data Structure",{"type":43,"tag":94,"props":726,"children":729},{"className":727,"code":728,"language":48},[97],"Starting value:  [Base\u002FBudget\u002FPrior period amount]\nDrivers:         [List of contributing factors with signed amounts]\nEnding value:    [Actual\u002FCurrent period amount]\n\nVerification:    Starting value + Sum of all drivers = Ending value\n",[730],{"type":43,"tag":101,"props":731,"children":732},{"__ignoreMap":103},[733],{"type":48,"value":728},{"type":43,"tag":74,"props":735,"children":737},{"id":736},"text-based-waterfall-format",[738],{"type":48,"value":739},"Text-Based Waterfall Format",{"type":43,"tag":50,"props":741,"children":742},{},[743],{"type":48,"value":744},"When a charting tool is not available, present as a text waterfall:",{"type":43,"tag":94,"props":746,"children":749},{"className":747,"code":748,"language":48},[97],"WATERFALL: Revenue — Q4 Actual vs Q4 Budget\n\nQ4 Budget Revenue                                    $10,000K\n  |\n  |--[+] Volume growth (new customers)               +$800K\n  |--[+] Expansion revenue (existing customers)      +$400K\n  |--[-] Price reductions \u002F discounting               -$200K\n  |--[-] Churn \u002F contraction                          -$350K\n  |--[+] FX tailwind                                  +$50K\n  |--[-] Timing (deals slipped to Q1)                 -$150K\n  |\nQ4 Actual Revenue                                    $10,550K\n\nNet Variance: +$550K (+5.5% favorable)\n",[750],{"type":43,"tag":101,"props":751,"children":752},{"__ignoreMap":103},[753],{"type":48,"value":748},{"type":43,"tag":74,"props":755,"children":757},{"id":756},"bridge-reconciliation-table",[758],{"type":48,"value":759},"Bridge Reconciliation Table",{"type":43,"tag":50,"props":761,"children":762},{},[763],{"type":48,"value":764},"Complement the waterfall with a reconciliation table:",{"type":43,"tag":335,"props":766,"children":767},{},[768,794],{"type":43,"tag":339,"props":769,"children":770},{},[771],{"type":43,"tag":343,"props":772,"children":773},{},[774,779,784,789],{"type":43,"tag":347,"props":775,"children":776},{},[777],{"type":48,"value":778},"Driver",{"type":43,"tag":347,"props":780,"children":781},{},[782],{"type":48,"value":783},"Amount",{"type":43,"tag":347,"props":785,"children":786},{},[787],{"type":48,"value":788},"% of Variance",{"type":43,"tag":347,"props":790,"children":791},{},[792],{"type":48,"value":793},"Cumulative",{"type":43,"tag":368,"props":795,"children":796},{},[797,819,842,865,888,911,934],{"type":43,"tag":343,"props":798,"children":799},{},[800,805,810,815],{"type":43,"tag":375,"props":801,"children":802},{},[803],{"type":48,"value":804},"Volume growth",{"type":43,"tag":375,"props":806,"children":807},{},[808],{"type":48,"value":809},"+$800K",{"type":43,"tag":375,"props":811,"children":812},{},[813],{"type":48,"value":814},"145%",{"type":43,"tag":375,"props":816,"children":817},{},[818],{"type":48,"value":809},{"type":43,"tag":343,"props":820,"children":821},{},[822,827,832,837],{"type":43,"tag":375,"props":823,"children":824},{},[825],{"type":48,"value":826},"Expansion revenue",{"type":43,"tag":375,"props":828,"children":829},{},[830],{"type":48,"value":831},"+$400K",{"type":43,"tag":375,"props":833,"children":834},{},[835],{"type":48,"value":836},"73%",{"type":43,"tag":375,"props":838,"children":839},{},[840],{"type":48,"value":841},"+$1,200K",{"type":43,"tag":343,"props":843,"children":844},{},[845,850,855,860],{"type":43,"tag":375,"props":846,"children":847},{},[848],{"type":48,"value":849},"Price reductions",{"type":43,"tag":375,"props":851,"children":852},{},[853],{"type":48,"value":854},"-$200K",{"type":43,"tag":375,"props":856,"children":857},{},[858],{"type":48,"value":859},"-36%",{"type":43,"tag":375,"props":861,"children":862},{},[863],{"type":48,"value":864},"+$1,000K",{"type":43,"tag":343,"props":866,"children":867},{},[868,873,878,883],{"type":43,"tag":375,"props":869,"children":870},{},[871],{"type":48,"value":872},"Churn \u002F contraction",{"type":43,"tag":375,"props":874,"children":875},{},[876],{"type":48,"value":877},"-$350K",{"type":43,"tag":375,"props":879,"children":880},{},[881],{"type":48,"value":882},"-64%",{"type":43,"tag":375,"props":884,"children":885},{},[886],{"type":48,"value":887},"+$650K",{"type":43,"tag":343,"props":889,"children":890},{},[891,896,901,906],{"type":43,"tag":375,"props":892,"children":893},{},[894],{"type":48,"value":895},"FX tailwind",{"type":43,"tag":375,"props":897,"children":898},{},[899],{"type":48,"value":900},"+$50K",{"type":43,"tag":375,"props":902,"children":903},{},[904],{"type":48,"value":905},"9%",{"type":43,"tag":375,"props":907,"children":908},{},[909],{"type":48,"value":910},"+$700K",{"type":43,"tag":343,"props":912,"children":913},{},[914,919,924,929],{"type":43,"tag":375,"props":915,"children":916},{},[917],{"type":48,"value":918},"Timing (deal slippage)",{"type":43,"tag":375,"props":920,"children":921},{},[922],{"type":48,"value":923},"-$150K",{"type":43,"tag":375,"props":925,"children":926},{},[927],{"type":48,"value":928},"-27%",{"type":43,"tag":375,"props":930,"children":931},{},[932],{"type":48,"value":933},"+$550K",{"type":43,"tag":343,"props":935,"children":936},{},[937,945,952,960],{"type":43,"tag":375,"props":938,"children":939},{},[940],{"type":43,"tag":54,"props":941,"children":942},{},[943],{"type":48,"value":944},"Total variance",{"type":43,"tag":375,"props":946,"children":947},{},[948],{"type":43,"tag":54,"props":949,"children":950},{},[951],{"type":48,"value":933},{"type":43,"tag":375,"props":953,"children":954},{},[955],{"type":43,"tag":54,"props":956,"children":957},{},[958],{"type":48,"value":959},"100%",{"type":43,"tag":375,"props":961,"children":962},{},[],{"type":43,"tag":50,"props":964,"children":965},{},[966],{"type":43,"tag":462,"props":967,"children":968},{},[969],{"type":48,"value":970},"Note: Percentages can exceed 100% for individual drivers when there are offsetting items.",{"type":43,"tag":74,"props":972,"children":974},{"id":973},"waterfall-best-practices",[975],{"type":48,"value":976},"Waterfall Best Practices",{"type":43,"tag":285,"props":978,"children":979},{},[980,985,990,995,1000,1005],{"type":43,"tag":136,"props":981,"children":982},{},[983],{"type":48,"value":984},"Order drivers from largest positive to largest negative (or in logical business sequence)",{"type":43,"tag":136,"props":986,"children":987},{},[988],{"type":48,"value":989},"Keep to 5-8 drivers maximum — aggregate smaller items into \"Other\"",{"type":43,"tag":136,"props":991,"children":992},{},[993],{"type":48,"value":994},"Verify the waterfall reconciles (start + drivers = end)",{"type":43,"tag":136,"props":996,"children":997},{},[998],{"type":48,"value":999},"Color-code: green for favorable, red for unfavorable (in visual charts)",{"type":43,"tag":136,"props":1001,"children":1002},{},[1003],{"type":48,"value":1004},"Label each bar with both the amount and a brief description",{"type":43,"tag":136,"props":1006,"children":1007},{},[1008],{"type":48,"value":1009},"Include a \"Total Variance\" summary bar",{"type":43,"tag":67,"props":1011,"children":1013},{"id":1012},"budget-vs-actual-vs-forecast-comparisons",[1014],{"type":48,"value":1015},"Budget vs Actual vs Forecast Comparisons",{"type":43,"tag":74,"props":1017,"children":1019},{"id":1018},"three-way-comparison-framework",[1020],{"type":48,"value":1021},"Three-Way Comparison Framework",{"type":43,"tag":335,"props":1023,"children":1024},{},[1025,1071],{"type":43,"tag":339,"props":1026,"children":1027},{},[1028],{"type":43,"tag":343,"props":1029,"children":1030},{},[1031,1036,1041,1046,1051,1056,1061,1066],{"type":43,"tag":347,"props":1032,"children":1033},{},[1034],{"type":48,"value":1035},"Metric",{"type":43,"tag":347,"props":1037,"children":1038},{},[1039],{"type":48,"value":1040},"Budget",{"type":43,"tag":347,"props":1042,"children":1043},{},[1044],{"type":48,"value":1045},"Forecast",{"type":43,"tag":347,"props":1047,"children":1048},{},[1049],{"type":48,"value":1050},"Actual",{"type":43,"tag":347,"props":1052,"children":1053},{},[1054],{"type":48,"value":1055},"Bud Var ($)",{"type":43,"tag":347,"props":1057,"children":1058},{},[1059],{"type":48,"value":1060},"Bud Var (%)",{"type":43,"tag":347,"props":1062,"children":1063},{},[1064],{"type":48,"value":1065},"Fcast Var ($)",{"type":43,"tag":347,"props":1067,"children":1068},{},[1069],{"type":48,"value":1070},"Fcast Var (%)",{"type":43,"tag":368,"props":1072,"children":1073},{},[1074,1112,1148],{"type":43,"tag":343,"props":1075,"children":1076},{},[1077,1082,1087,1091,1095,1099,1104,1108],{"type":43,"tag":375,"props":1078,"children":1079},{},[1080],{"type":48,"value":1081},"Revenue",{"type":43,"tag":375,"props":1083,"children":1084},{},[1085],{"type":48,"value":1086},"$X",{"type":43,"tag":375,"props":1088,"children":1089},{},[1090],{"type":48,"value":1086},{"type":43,"tag":375,"props":1092,"children":1093},{},[1094],{"type":48,"value":1086},{"type":43,"tag":375,"props":1096,"children":1097},{},[1098],{"type":48,"value":1086},{"type":43,"tag":375,"props":1100,"children":1101},{},[1102],{"type":48,"value":1103},"X%",{"type":43,"tag":375,"props":1105,"children":1106},{},[1107],{"type":48,"value":1086},{"type":43,"tag":375,"props":1109,"children":1110},{},[1111],{"type":48,"value":1103},{"type":43,"tag":343,"props":1113,"children":1114},{},[1115,1120,1124,1128,1132,1136,1140,1144],{"type":43,"tag":375,"props":1116,"children":1117},{},[1118],{"type":48,"value":1119},"COGS",{"type":43,"tag":375,"props":1121,"children":1122},{},[1123],{"type":48,"value":1086},{"type":43,"tag":375,"props":1125,"children":1126},{},[1127],{"type":48,"value":1086},{"type":43,"tag":375,"props":1129,"children":1130},{},[1131],{"type":48,"value":1086},{"type":43,"tag":375,"props":1133,"children":1134},{},[1135],{"type":48,"value":1086},{"type":43,"tag":375,"props":1137,"children":1138},{},[1139],{"type":48,"value":1103},{"type":43,"tag":375,"props":1141,"children":1142},{},[1143],{"type":48,"value":1086},{"type":43,"tag":375,"props":1145,"children":1146},{},[1147],{"type":48,"value":1103},{"type":43,"tag":343,"props":1149,"children":1150},{},[1151,1156,1160,1164,1168,1172,1176,1180],{"type":43,"tag":375,"props":1152,"children":1153},{},[1154],{"type":48,"value":1155},"Gross Profit",{"type":43,"tag":375,"props":1157,"children":1158},{},[1159],{"type":48,"value":1086},{"type":43,"tag":375,"props":1161,"children":1162},{},[1163],{"type":48,"value":1086},{"type":43,"tag":375,"props":1165,"children":1166},{},[1167],{"type":48,"value":1086},{"type":43,"tag":375,"props":1169,"children":1170},{},[1171],{"type":48,"value":1086},{"type":43,"tag":375,"props":1173,"children":1174},{},[1175],{"type":48,"value":1103},{"type":43,"tag":375,"props":1177,"children":1178},{},[1179],{"type":48,"value":1086},{"type":43,"tag":375,"props":1181,"children":1182},{},[1183],{"type":48,"value":1103},{"type":43,"tag":74,"props":1185,"children":1187},{"id":1186},"when-to-use-each-comparison",[1188],{"type":48,"value":1189},"When to Use Each Comparison",{"type":43,"tag":132,"props":1191,"children":1192},{},[1193,1203,1213,1223,1233],{"type":43,"tag":136,"props":1194,"children":1195},{},[1196,1201],{"type":43,"tag":54,"props":1197,"children":1198},{},[1199],{"type":48,"value":1200},"Actual vs Budget:",{"type":48,"value":1202}," Annual performance measurement, compensation decisions, board reporting. Budget is set at the beginning of the year and typically not changed.",{"type":43,"tag":136,"props":1204,"children":1205},{},[1206,1211],{"type":43,"tag":54,"props":1207,"children":1208},{},[1209],{"type":48,"value":1210},"Actual vs Forecast:",{"type":48,"value":1212}," Operational management, identifying emerging issues. Forecast is updated periodically (monthly or quarterly) to reflect current expectations.",{"type":43,"tag":136,"props":1214,"children":1215},{},[1216,1221],{"type":43,"tag":54,"props":1217,"children":1218},{},[1219],{"type":48,"value":1220},"Forecast vs Budget:",{"type":48,"value":1222}," Understanding how expectations have changed since planning. Useful for identifying planning accuracy issues.",{"type":43,"tag":136,"props":1224,"children":1225},{},[1226,1231],{"type":43,"tag":54,"props":1227,"children":1228},{},[1229],{"type":48,"value":1230},"Actual vs Prior Period:",{"type":48,"value":1232}," Trend analysis, sequential performance. Useful when budget is not meaningful (new business lines, post-acquisition).",{"type":43,"tag":136,"props":1234,"children":1235},{},[1236,1241],{"type":43,"tag":54,"props":1237,"children":1238},{},[1239],{"type":48,"value":1240},"Actual vs Prior Year:",{"type":48,"value":1242}," Year-over-year growth analysis, seasonality-adjusted comparison.",{"type":43,"tag":74,"props":1244,"children":1246},{"id":1245},"forecast-accuracy-analysis",[1247],{"type":48,"value":1248},"Forecast Accuracy Analysis",{"type":43,"tag":50,"props":1250,"children":1251},{},[1252],{"type":48,"value":1253},"Track how accurate forecasts are over time to improve planning:",{"type":43,"tag":94,"props":1255,"children":1258},{"className":1256,"code":1257,"language":48},[97],"Forecast Accuracy = 1 - |Actual - Forecast| \u002F |Actual|\n\nMAPE (Mean Absolute Percentage Error) = Average of |Actual - Forecast| \u002F |Actual| across periods\n",[1259],{"type":43,"tag":101,"props":1260,"children":1261},{"__ignoreMap":103},[1262],{"type":48,"value":1257},{"type":43,"tag":335,"props":1264,"children":1265},{},[1266,1295],{"type":43,"tag":339,"props":1267,"children":1268},{},[1269],{"type":43,"tag":343,"props":1270,"children":1271},{},[1272,1277,1281,1285,1290],{"type":43,"tag":347,"props":1273,"children":1274},{},[1275],{"type":48,"value":1276},"Period",{"type":43,"tag":347,"props":1278,"children":1279},{},[1280],{"type":48,"value":1045},{"type":43,"tag":347,"props":1282,"children":1283},{},[1284],{"type":48,"value":1050},{"type":43,"tag":347,"props":1286,"children":1287},{},[1288],{"type":48,"value":1289},"Variance",{"type":43,"tag":347,"props":1291,"children":1292},{},[1293],{"type":48,"value":1294},"Accuracy",{"type":43,"tag":368,"props":1296,"children":1297},{},[1298,1324,1348,1372],{"type":43,"tag":343,"props":1299,"children":1300},{},[1301,1306,1310,1314,1319],{"type":43,"tag":375,"props":1302,"children":1303},{},[1304],{"type":48,"value":1305},"Jan",{"type":43,"tag":375,"props":1307,"children":1308},{},[1309],{"type":48,"value":1086},{"type":43,"tag":375,"props":1311,"children":1312},{},[1313],{"type":48,"value":1086},{"type":43,"tag":375,"props":1315,"children":1316},{},[1317],{"type":48,"value":1318},"$X (X%)",{"type":43,"tag":375,"props":1320,"children":1321},{},[1322],{"type":48,"value":1323},"XX%",{"type":43,"tag":343,"props":1325,"children":1326},{},[1327,1332,1336,1340,1344],{"type":43,"tag":375,"props":1328,"children":1329},{},[1330],{"type":48,"value":1331},"Feb",{"type":43,"tag":375,"props":1333,"children":1334},{},[1335],{"type":48,"value":1086},{"type":43,"tag":375,"props":1337,"children":1338},{},[1339],{"type":48,"value":1086},{"type":43,"tag":375,"props":1341,"children":1342},{},[1343],{"type":48,"value":1318},{"type":43,"tag":375,"props":1345,"children":1346},{},[1347],{"type":48,"value":1323},{"type":43,"tag":343,"props":1349,"children":1350},{},[1351,1356,1360,1364,1368],{"type":43,"tag":375,"props":1352,"children":1353},{},[1354],{"type":48,"value":1355},"...",{"type":43,"tag":375,"props":1357,"children":1358},{},[1359],{"type":48,"value":1355},{"type":43,"tag":375,"props":1361,"children":1362},{},[1363],{"type":48,"value":1355},{"type":43,"tag":375,"props":1365,"children":1366},{},[1367],{"type":48,"value":1355},{"type":43,"tag":375,"props":1369,"children":1370},{},[1371],{"type":48,"value":1355},{"type":43,"tag":343,"props":1373,"children":1374},{},[1375,1383,1386,1389,1397],{"type":43,"tag":375,"props":1376,"children":1377},{},[1378],{"type":43,"tag":54,"props":1379,"children":1380},{},[1381],{"type":48,"value":1382},"Avg",{"type":43,"tag":375,"props":1384,"children":1385},{},[],{"type":43,"tag":375,"props":1387,"children":1388},{},[],{"type":43,"tag":375,"props":1390,"children":1391},{},[1392],{"type":43,"tag":54,"props":1393,"children":1394},{},[1395],{"type":48,"value":1396},"MAPE",{"type":43,"tag":375,"props":1398,"children":1399},{},[1400],{"type":43,"tag":54,"props":1401,"children":1402},{},[1403],{"type":48,"value":1323},{"type":43,"tag":74,"props":1405,"children":1407},{"id":1406},"variance-trending",[1408],{"type":48,"value":1409},"Variance Trending",{"type":43,"tag":50,"props":1411,"children":1412},{},[1413],{"type":48,"value":1414},"Track how variances evolve over the year to identify systematic bias:",{"type":43,"tag":132,"props":1416,"children":1417},{},[1418,1428,1438,1448,1458],{"type":43,"tag":136,"props":1419,"children":1420},{},[1421,1426],{"type":43,"tag":54,"props":1422,"children":1423},{},[1424],{"type":48,"value":1425},"Consistently favorable:",{"type":48,"value":1427}," Budget may be too conservative (sandbagging)",{"type":43,"tag":136,"props":1429,"children":1430},{},[1431,1436],{"type":43,"tag":54,"props":1432,"children":1433},{},[1434],{"type":48,"value":1435},"Consistently unfavorable:",{"type":48,"value":1437}," Budget may be too aggressive or execution issues",{"type":43,"tag":136,"props":1439,"children":1440},{},[1441,1446],{"type":43,"tag":54,"props":1442,"children":1443},{},[1444],{"type":48,"value":1445},"Growing unfavorable:",{"type":48,"value":1447}," Deteriorating performance or unrealistic targets",{"type":43,"tag":136,"props":1449,"children":1450},{},[1451,1456],{"type":43,"tag":54,"props":1452,"children":1453},{},[1454],{"type":48,"value":1455},"Shrinking variance:",{"type":48,"value":1457}," Forecast accuracy improving through the year (normal pattern)",{"type":43,"tag":136,"props":1459,"children":1460},{},[1461,1466],{"type":43,"tag":54,"props":1462,"children":1463},{},[1464],{"type":48,"value":1465},"Volatile:",{"type":48,"value":1467}," Unpredictable business or poor forecasting methodology",{"items":1469,"total":1584},[1470,1486,1502,1518,1536,1553,1569],{"slug":1471,"name":1471,"fn":1472,"description":1473,"org":1474,"tags":1475,"stars":25,"repoUrl":26,"updatedAt":1485},"accessibility-review","run WCAG accessibility audits","Run a WCAG 2.1 AA accessibility audit on a design or page. Trigger with \"audit accessibility\", \"check a11y\", \"is this accessible?\", or when reviewing a design for color contrast, keyboard navigation, touch target size, or screen reader behavior before handoff.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1476,1479,1482],{"name":1477,"slug":1478,"type":16},"Accessibility","accessibility",{"name":1480,"slug":1481,"type":16},"Design","design",{"name":1483,"slug":1484,"type":16},"WCAG","wcag","2026-04-06T17:58:05.682394",{"slug":1487,"name":1487,"fn":1488,"description":1489,"org":1490,"tags":1491,"stars":25,"repoUrl":26,"updatedAt":1501},"account-research","research accounts for sales intel","Research a company or person and get actionable sales intel. Works standalone with web search, supercharged when you connect enrichment tools or your CRM. Trigger with \"research [company]\", \"look up [person]\", \"intel on [prospect]\", \"who is [name] at [company]\", or \"tell me about [company]\".",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1492,1495,1498],{"name":1493,"slug":1494,"type":16},"CRM","crm",{"name":1496,"slug":1497,"type":16},"Research","research",{"name":1499,"slug":1500,"type":16},"Sales","sales","2026-04-06T17:56:41.410418",{"slug":1503,"name":1503,"fn":1504,"description":1505,"org":1506,"tags":1507,"stars":25,"repoUrl":26,"updatedAt":1517},"analyze","answer data questions and run analyses","Answer data questions -- from quick lookups to full analyses. Use when looking up a single metric, investigating what's driving a trend or drop, comparing segments over time, or preparing a formal data report for stakeholders.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1508,1511,1514],{"name":1509,"slug":1510,"type":16},"Analytics","analytics",{"name":1512,"slug":1513,"type":16},"Data Analysis","data-analysis",{"name":1515,"slug":1516,"type":16},"SQL","sql","2026-04-06T17:57:21.593647",{"slug":1519,"name":1519,"fn":1520,"description":1521,"org":1522,"tags":1523,"stars":25,"repoUrl":26,"updatedAt":1535},"architecture","create and evaluate architecture decision records","Create or evaluate an architecture decision record (ADR). Use when choosing between technologies (e.g., Kafka vs SQS), documenting a design decision with trade-offs and consequences, reviewing a system design proposal, or designing a new component from requirements and constraints.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1524,1527,1529,1532],{"name":1525,"slug":1526,"type":16},"ADR","adr",{"name":1528,"slug":1519,"type":16},"Architecture",{"name":1530,"slug":1531,"type":16},"Documentation","documentation",{"name":1533,"slug":1534,"type":16},"Engineering","engineering","2026-04-06T17:57:49.26444",{"slug":1537,"name":1537,"fn":1538,"description":1539,"org":1540,"tags":1541,"stars":25,"repoUrl":26,"updatedAt":1552},"audit-support","support SOX 404 control testing","Support SOX 404 compliance with control testing methodology, sample selection, and documentation standards. Use when generating testing workpapers, selecting audit samples, classifying control deficiencies, or preparing for internal or external audits.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1542,1545,1546,1549],{"name":1543,"slug":1544,"type":16},"Audit","audit",{"name":14,"slug":15,"type":16},{"name":1547,"slug":1548,"type":16},"Regulatory Compliance","regulatory-compliance",{"name":1550,"slug":1551,"type":16},"SOX","sox","2026-04-06T17:57:36.714815",{"slug":1554,"name":1554,"fn":1555,"description":1556,"org":1557,"tags":1558,"stars":25,"repoUrl":26,"updatedAt":1568},"brand-review","review content against brand voice","Review content against your brand voice, style guide, and messaging pillars, flagging deviations by severity with specific before\u002Fafter fixes. Use when checking a draft before it ships, when auditing copy for voice consistency and terminology, or when screening for unsubstantiated claims, missing disclaimers, and other legal flags.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1559,1562,1565],{"name":1560,"slug":1561,"type":16},"Branding","branding",{"name":1563,"slug":1564,"type":16},"Marketing","marketing",{"name":1566,"slug":1567,"type":16},"Writing","writing","2026-04-06T17:58:19.548331",{"slug":1570,"name":1570,"fn":1571,"description":1572,"org":1573,"tags":1574,"stars":25,"repoUrl":26,"updatedAt":1583},"brand-voice-enforcement","enforce brand voice in content","This skill applies brand guidelines to content creation. It should be used when the user asks to \"write an email\", \"draft a proposal\", \"create a pitch deck\", \"write a LinkedIn post\", \"draft a presentation\", \"write a Slack message\", \"draft sales content\", or any content creation request where brand voice should be applied. Also triggers on \"on-brand\", \"brand voice\", \"enforce voice\", \"apply brand guidelines\", \"brand-aligned content\", \"write in our voice\", \"use our brand tone\", \"make this sound like us\", \"rewrite this in our tone\", or \"this doesn't sound on-brand\". Not for generating guidelines from scratch (use guideline-generation) or discovering brand materials (use discover-brand).\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1575,1576,1579,1582],{"name":1560,"slug":1561,"type":16},{"name":1577,"slug":1578,"type":16},"Communications","communications",{"name":1580,"slug":1581,"type":16},"Content Creation","content-creation",{"name":1566,"slug":1567,"type":16},"2026-04-06T18:00:23.528956",200,{"items":1586,"total":1763},[1587,1606,1618,1630,1649,1660,1681,1701,1711,1726,1734,1747],{"slug":1588,"name":1588,"fn":1589,"description":1590,"org":1591,"tags":1592,"stars":1603,"repoUrl":1604,"updatedAt":1605},"algorithmic-art","create algorithmic art with p5.js","Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1593,1596,1597,1600],{"name":1594,"slug":1595,"type":16},"Creative","creative",{"name":1480,"slug":1481,"type":16},{"name":1598,"slug":1599,"type":16},"Generative Art","generative-art",{"name":1601,"slug":1602,"type":16},"JavaScript","javascript",161831,"https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fskills","2026-04-06T17:56:15.455818",{"slug":1607,"name":1607,"fn":1608,"description":1609,"org":1610,"tags":1611,"stars":1603,"repoUrl":1604,"updatedAt":1617},"brand-guidelines","apply Anthropic brand colors and typography","Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1612,1613,1614],{"name":1560,"slug":1561,"type":16},{"name":1480,"slug":1481,"type":16},{"name":1615,"slug":1616,"type":16},"Typography","typography","2026-04-06T17:56:05.042852",{"slug":1619,"name":1619,"fn":1620,"description":1621,"org":1622,"tags":1623,"stars":1603,"repoUrl":1604,"updatedAt":1629},"canvas-design","create posters and visual art as PNG or PDF","Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1624,1625,1626],{"name":1594,"slug":1595,"type":16},{"name":1480,"slug":1481,"type":16},{"name":1627,"slug":1628,"type":16},"PDF","pdf","2026-04-06T17:56:03.794732",{"slug":1631,"name":1631,"fn":1632,"description":1633,"org":1634,"tags":1635,"stars":1603,"repoUrl":1604,"updatedAt":1648},"claude-api","build apps with the Claude API","Reference for the Claude API \u002F Anthropic SDK — model ids, pricing, params, streaming, tool use, MCP, agents, caching, token counting, model migration.\nTRIGGER — read BEFORE opening the target file; don't skip because it \"looks like a one-liner\" — whenever: the prompt names Claude\u002FAnthropic in any form (Claude, Anthropic, Fable, Opus, Sonnet, Haiku, `anthropic`, `@anthropic-ai`, `claude-*`, `us.anthropic.*`, `[1m]`); the user asks about an LLM (pricing\u002Fmodel choice\u002Flimits\u002Fcaching) — never answer from memory; OR the task is LLM-shaped with provider unstated (agent\u002FMCP\u002Ftool-definition\u002Fmulti-agent\u002FRAG\u002FLLM-judge\u002Fcomputer-use; generate\u002Fsummarize\u002Fextract\u002Fclassify\u002Frewrite\u002Fconverse over NL; debugging refusals\u002Fcutoffs\u002Fstreaming\u002Ftool-calls\u002Ftokens).\nSKIP only when another provider is being worked on (overrides all triggers): OpenAI\u002FGPT\u002FGemini\u002FLlama\u002FMistral\u002FCohere\u002FOllama named in the query; OR `grep -rE 'openai|langchain_openai|google.generativeai|genai|mistralai|cohere|ollama'` over the project hits (run this grep FIRST if no provider named — don't Read the file).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1636,1639,1640,1643,1645],{"name":1637,"slug":1638,"type":16},"Agents","agents",{"name":9,"slug":8,"type":16},{"name":1641,"slug":1642,"type":16},"Anthropic SDK","anthropic-sdk",{"name":1644,"slug":1631,"type":16},"Claude API",{"name":1646,"slug":1647,"type":16},"LLM","llm","2026-07-28T05:36:08.213335",{"slug":1650,"name":1650,"fn":1651,"description":1652,"org":1653,"tags":1654,"stars":1603,"repoUrl":1604,"updatedAt":1659},"doc-coauthoring","co-author documentation and technical specs","Guide users through a structured workflow for co-authoring documentation. Use when user wants to write documentation, proposals, technical specs, decision docs, or similar structured content. This workflow helps users efficiently transfer context, refine content through iteration, and verify the doc works for readers. Trigger when user mentions writing docs, creating proposals, drafting specs, or similar documentation tasks.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1655,1656],{"name":1530,"slug":1531,"type":16},{"name":1657,"slug":1658,"type":16},"Technical Writing","technical-writing","2026-04-06T17:56:14.18897",{"slug":1661,"name":1661,"fn":1662,"description":1663,"org":1664,"tags":1665,"stars":1603,"repoUrl":1604,"updatedAt":1680},"docx","create and edit Word documents","Use this skill whenever the user wants to create, read, edit, or manipulate Word documents (.docx files) or Word templates (.dotx files). Triggers include: any mention of 'Word doc', 'word document', '.docx', '.dotx', or requests to produce professional documents with formatting like tables of contents, headings, page numbers, or letterheads. Also use when extracting or reorganizing content from .docx or .dotx files, inserting or replacing images in documents, performing find-and-replace in Word files, working with tracked changes or comments, or converting content into a polished Word document. If the user asks for a 'report', 'memo', 'letter', 'template', or similar deliverable as a Word or .docx file, use this skill. Do NOT use for PDFs, spreadsheets, Google Docs, or general coding tasks unrelated to document generation.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1666,1669,1671,1674,1677],{"name":1667,"slug":1668,"type":16},"Documents","documents",{"name":1670,"slug":1661,"type":16},"DOCX",{"name":1672,"slug":1673,"type":16},"Office","office",{"name":1675,"slug":1676,"type":16},"Templates","templates",{"name":1678,"slug":1679,"type":16},"Word","word","2026-07-18T05:16:23.136271",{"slug":1682,"name":1682,"fn":1683,"description":1684,"org":1685,"tags":1686,"stars":1603,"repoUrl":1604,"updatedAt":1700},"frontend-design","design production-grade frontend interfaces","Guidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Helps with aesthetic direction, typography, and making choices that don't read as templated defaults.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1687,1688,1691,1694,1697],{"name":1480,"slug":1481,"type":16},{"name":1689,"slug":1690,"type":16},"Frontend","frontend",{"name":1692,"slug":1693,"type":16},"React","react",{"name":1695,"slug":1696,"type":16},"Tailwind CSS","tailwind-css",{"name":1698,"slug":1699,"type":16},"UI Components","ui-components","2026-04-06T17:56:16.723469",{"slug":1702,"name":1702,"fn":1703,"description":1704,"org":1705,"tags":1706,"stars":1603,"repoUrl":1604,"updatedAt":1710},"internal-comms","write internal company communications","A set of resources to help me write all kinds of internal communications, using the formats that my company likes to use. Claude should use this skill whenever asked to write some sort of internal communications (status reports, leadership updates, 3P updates, company newsletters, FAQs, incident reports, project updates, etc.).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1707,1708,1709],{"name":1577,"slug":1578,"type":16},{"name":1675,"slug":1676,"type":16},{"name":1566,"slug":1567,"type":16},"2026-04-06T17:56:20.695522",{"slug":1712,"name":1712,"fn":1713,"description":1714,"org":1715,"tags":1716,"stars":1603,"repoUrl":1604,"updatedAt":1725},"mcp-builder","build MCP servers","Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node\u002FTypeScript (MCP SDK).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1717,1718,1721,1722],{"name":1637,"slug":1638,"type":16},{"name":1719,"slug":1720,"type":16},"API Development","api-development",{"name":1646,"slug":1647,"type":16},{"name":1723,"slug":1724,"type":16},"MCP","mcp","2026-04-06T17:56:10.357665",{"slug":1628,"name":1628,"fn":1727,"description":1728,"org":1729,"tags":1730,"stars":1603,"repoUrl":1604,"updatedAt":1733},"read edit and manipulate PDF files","Use this skill whenever the user wants to do anything with PDF files. This includes reading or extracting text\u002Ftables from PDFs, combining or merging multiple PDFs into one, splitting PDFs apart, rotating pages, adding watermarks, creating new PDFs, filling PDF forms, encrypting\u002Fdecrypting PDFs, extracting images, and OCR on scanned PDFs to make them searchable. If the user mentions a .pdf file or asks to produce one, use this skill.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1731,1732],{"name":1667,"slug":1668,"type":16},{"name":1627,"slug":1628,"type":16},"2026-04-06T17:56:02.483316",{"slug":1735,"name":1735,"fn":1736,"description":1737,"org":1738,"tags":1739,"stars":1603,"repoUrl":1604,"updatedAt":1746},"pptx","create and edit PowerPoint presentations","Use this skill any time a .pptx or .potx file is involved in any way — as input, output, or both. This includes: creating slide decks, pitch decks, or presentations; reading, parsing, or extracting text from any .pptx or .potx file (even if the extracted content will be used elsewhere, like in an email or summary); editing, modifying, or updating existing presentations; combining or splitting slide files; working with templates (.potx), layouts, speaker notes, or comments. Trigger whenever the user mentions \"deck,\" \"slides,\" \"presentation,\" or references a .pptx or .potx filename, regardless of what they plan to do with the content afterward. If a .pptx or .potx file needs to be opened, created, or touched, use this skill.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1740,1743],{"name":1741,"slug":1742,"type":16},"PowerPoint","powerpoint",{"name":1744,"slug":1745,"type":16},"Presentations","presentations","2026-07-18T05:16:24.1471",{"slug":1748,"name":1748,"fn":1749,"description":1750,"org":1751,"tags":1752,"stars":1603,"repoUrl":1604,"updatedAt":1762},"skill-creator","create and optimize agent skills","Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[1753,1754,1755,1758,1761],{"name":1637,"slug":1638,"type":16},{"name":1530,"slug":1531,"type":16},{"name":1756,"slug":1757,"type":16},"Evals","evals",{"name":1759,"slug":1760,"type":16},"Performance","performance",{"name":1657,"slug":1658,"type":16},"2026-04-19T06:45:40.804",490]