Signal · Service-mix
Invest / harvest / fix / kill
BCG-style matrix over your service lines — growth rate × revenue share plots each service onto invest, harvest, fix or kill quadrants.
Service-mix
What the signal measures
BCG-style matrix over your service lines — growth rate × revenue share plots each service onto invest, harvest, fix or kill quadrants.
Why it matters
BCG built a matrix in the 1970s for product portfolios; the same shape works for service-line portfolios. Growth rate on one axis, revenue share on the other, gives you four quadrants: invest (growing, small — feed it), harvest (growing, big — protect it), fix (shrinking, big — save it), kill (shrinking, small — retire it). Applied to your service lines, it makes the portfolio decisions explicit rather than reactive.
How to act on it
This signal is intentionally advisory. The drafted action for a "kill" quadrant is a graceful sunset checklist — how to wind down the service line without leaving customers in the lurch. For "invest", the draft is a marketing prompt for the specific line. The engine will not draft blunt "cut this" wording — same guardrail as keep-renegotiate-fire.
Worked example — fixture consultancy
On the fixture, "Consulting day rate" is the dominant service line (invest / harvest depending on month-over-month growth in-window). "Subcontractor pass-through" would sit in a different quadrant. The matrix visual makes the shape of the portfolio conversation much more concrete than a revenue bar chart ever could.
Deterministic maths, AI writes the words.
Every number in this signal is computed by unit-tested TypeScript in
src/signals/investHarvestFixKill.ts.
The AI drafts only the wording of the suggested action, never a figure.