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.