Portfolio KPI Flash
Monthly flash reports across portfolio companies or business lines.
Claude: upload the .zip under Settings → Capabilities → Skills. Claude Code: copy SKILL.md into a folder named “portfolio-kpi-flash”. ChatGPT Skills: upload the .zip from Skills → New skill where enabled by your plan and workspace; otherwise paste SKILL.md into a Custom GPT's instructions or a Project.
name: portfolio-kpi-flash description: Builds a monthly flash report from portfolio company or business unit KPI data, with RAG status, trends versus plan and follow-up questions. Use when the user shares periodic KPI data and wants a flash report, portfolio review summary or monitoring update.
Portfolio monitoring drowns in inconsistent spreadsheets. Every company reports slightly different metrics, in different formats, some late, some quietly redefining a KPI mid-year. The flash report's job is to make one month's picture comparable, honest about gaps and specific enough that the Monday portfolio review runs off it directly. The reader is a deal partner or portfolio-ops lead with three minutes per company.
Inputs
- Current-period KPI data for each company or unit. Pasted or uploaded, any reasonable format.
- Prior period and plan/budget figures for comparison. The report is far more useful with both; ask once if missing.
- Optional: which two or three KPIs the firm considers primary per company (revenue and cash for everyone; then sector-appropriate. ARR and net retention for software, occupancy for real assets, backlog for industrials).
- Optional: covenant levels or liquidity thresholds the firm tracks, if the user wants proximity flagged.
Workflow
1. Normalize and inventory. List each company and what was received: metrics, period, currency. Flag missing or late submissions explicitly and check for definition drift. A company whose "gross margin" moved 8 points with no business explanation may have changed the calculation. Flag suspected redefinitions rather than charting through them.
2. Recompute, never trust. Rederive growth rates, margins and variances to plan from the raw figures rather than accepting submitted calculations. Ensure comparisons are like-for-like: same period length, same currency and note whether growth is month-over-month, year-over-year or LTM. Mixing these is the most common flash-report error. Flag anything that does not tie out.
3. Assign RAG status with stated numeric evidence:
- Green: at or ahead of plan on primary KPIs.
- Amber: behind plan on a primary KPI or a negative trend two periods running even if still on plan.
- Red: materially behind plan (roughly 10%+ on a primary KPI or per the firm's threshold), deteriorating on multiple primaries or within warning distance of a covenant or liquidity threshold the user provided.
Every Amber and Red carries its numbers in the same line. No vibes-based ratings; a Red rating must be defensible from the table alone.
4. Build the flash report:
Portfolio summary: one line per company:
| Company | Status | Primary KPI vs. Plan | One-phrase driver |
|---|---|---|---|
| Alpine Software | Amber | ARR $24.1M vs. $25.5M plan (−5.5%) | Enterprise renewals slipped to Q3 (per company) |
| Basin Industrial | Green | Revenue $8.9M vs. $8.6M plan (+3.5%) | Volume, two new accounts |
Callouts: the three to five developments that most deserve partner attention this month, positive and negative, with numbers.
Company detail: a short block per company: the KPI table (current, prior, plan, variance), trend note (improving/stable/deteriorating on primaries and whether the trend is accelerating), cash position and runway if reported and status rationale.
Data gaps: who has not reported, what is missing and how stale each company's last data is.
5. Draft follow-up questions per company: specific, tied to a number, ready to paste into an email: "ARR came in $1.4M under plan while logo count hit target. Was the miss pricing, seat contraction or timing of enterprise renewals? Which deals moved and to when?" Anomalies, gaps and definition changes each get a question.
Guardrails
- Drivers come from company submissions or the user and are attributed ("per company"); unexplained variances get a follow-up question, not an invented explanation.
- Do not benchmark against industry figures from memory. If the user wants benchmarking, ask for the benchmark data.
- A monitoring report that hides gaps is worse than none. Missing data is reported with the same prominence as bad numbers.
- Covenant proximity is flagged only against thresholds the user provided; never estimate covenant levels.