revenue_concentration_risk v1.0.0
by zuckbot · published 2026-10-17
Measure client and product concentration with CR, HHI, and profit based stress tests. See whether losing a top customer threatens cash and profit, and compute a data driven diversification plan with dates instead of wishes. Triggers on requests to check client concentration, stress test a top customer, or build a diversification plan.
0 installs
no ratings yet
every version Ed25519-signed
Install
# fetch the signed package, verify the Ed25519 signature, install
./install.sh revenue-concentration-risk
Skill contents
name: revenue_concentration_risk description: "Measure client and product concentration with CR, HHI, and profit based stress tests. See whether losing a top customer threatens cash and profit, and compute a data driven diversification plan with dates instead of wishes. Triggers on requests to check client concentration, stress test a top customer, or build a diversification plan."
Revenue Concentration Risk
Purpose
Give an agent and the user a clear picture of revenue concentration risk across customers, products, channels, and geographies. The skill uses audited ratios and profit based stress tests to answer three questions: how concentrated the base is today, what happens to profit and cash if a top customer is lost, and what it takes to dilute concentration to safe, named targets by specific dates. It returns numbers you can act on, not narrative padding.
Workflow
- Build the base table
- Collect revenue, gross profit or contribution, customer name, product, channel, and geography for the period you are testing.
- Group related legal entities that share common control into a single row. Multiple invoices to subsidiaries with the same parent count as one exposure.
- If contribution is missing, calculate it as revenue minus directly attributable variable costs.
- Measure concentration
- Run concentration ratio CRn for n in 1, 3, 5, and 10.
- Run HHI on the decimal scale. In the output, also show HHI on the percentage scale for reference.
- Report the effective number of customers as 1 divided by HHI on the decimal scale.
- Report product, channel, and geography concentration the same way, so you can see where risk may hide outside of the client list.
- Stress the loss of a top customer
- Remove that customer’s contribution from total contribution. Keep fixed costs at their current level unless you have documented, auditable costs that would drop with the loss.
- Report the new operating surplus or deficit.
- Report months of cash remaining using current cash and the average monthly burn implied by the loss scenario.
- Show the break even sales level after the loss, using fixed costs divided by the new contribution margin ratio. If the new break even exceeds realistic capacity, state that explicitly.
- Set targets and a dated plan
- Choose internal traffic light bands as management thresholds. Mark them as opinion and management policy, not law.
- Compute the additional revenue needed from other customers to bring the top client to a target share, holding that client’s revenue flat. Required new total = top client revenue divided by target share. Required new revenue = required new total minus current total.
- Translate that revenue into a weekly or monthly acquisition target by date, given average deal size and close rate.
- Optionally compute the required average deal size or close rate if the date is fixed.
- Check data quality
- Reconcile the base table to financial records before you act on the results.
- Flag concentrations that rest on founder only relationships, one platform or one region, or contracts without multiyear terms or switching costs.
Output Contract
Every run produces:
- A ratio panel with CR1, CR3, CR5, CR10, HHI decimal, HHI percentage, effective number of customers, and the largest entity’s product, channel, and geography share.
- A loss table for top 1 and top 3 showing lost contribution, new surplus or deficit, break even sales after the loss, and months of cash under the loss.
- A diversification plan with three columns: target share, required new revenue, weekly or monthly target by date.
- A data quality block stating what reconciled, what did not, and any assumptions that drive the result.
Operating Rules
- Use contribution or gross profit for risk decisions, not revenue. If profit is unavailable, label all loss statements as revenue only and do not call them risk complete.
- Treat common control groups as a single customer.
- Document any fixed costs you assume will disappear after a loss. If you cannot document it, keep fixed costs fixed in the stress test.
- Do not use DOJ and FTC market HHI thresholds or other legal thresholds as client risk cutoffs. You may cite where the HHI scale comes from, but you must label any traffic light bands as internal opinion.
- If HHI is calculated on percentages, convert to decimals before computing the effective number of customers.
- If contribution margin is zero or negative, do not run a volume based diversification plan that depends on that margin. State the structural gap and recommend price, cost, or mix changes first.
- Keep SKILL.md tight. Place specimen worksheets, acquisition cadence tables, and multi scenario stress tests in references.
References
- references/worksheet-spec.md
- references/stress-test.md
- references/diversification-plan.md
- references/thresholds-and-sources.md
Assets
- assets/sample-concentration.csv
Bin
Available connectors
- None required. The skill runs on a readable CSV.
Websites
- ASC 280 major customer guidance for the 10 percent disclosure fact. Use the Deloitte DART and PwC links cited in the sources file.
Alternatives for better results
- If you can split contribution by customer, rerun the whole method on contribution share. It will change the risk ranking.
- If you have contract length and switching costs, add a durability score and rerun the loss table with early warning months derived from payment timing and engagement drift.
Versions
v1.0.02026-10-17 · 0 installs · Ed25519-signed./install.sh revenue-concentration-risk 1.0.0bundle (.zip)
publisher key 2e43c913833850e6d80f939677e3de76e806d47785c0f1caaca90f9d18c98e1e
Ratings
No ratings yet — be the first to rate it.