Data Engineering

BCG Matrix in Excel: Why Consultants Still Reach for It

· 14 min read

The BCG matrix was published in 1970. By 2023 it has outlived the typewriter, the fax machine, the original Star Wars trilogy, and every consulting framework that came after it except the SWOT analysis. There is something to learn from that survival rate, and it is not that the framework is exceptionally clever. It is that the matrix does a specific job, and nothing simpler has come along to replace it.

In This Article

  1. What the BCG matrix actually communicates
  2. Why Excel is still the right tool, with caveats
  3. The implementation that earns its place
  4. Variations that change the question
  5. The failure modes worth flagging
  6. When the matrix is the wrong answer

I built one in November 2011 for a telecom client (a major operator with a million-plus customer base) to support a strategy review. The stack was unromantic: one Excel file, seventy-five VBA macros, an ODBC connection to the source database, and a lot of patience for the bubble chart format. The deliverable landed and the framework stuck. Twelve years later, I still see analysts pull the same chart together for similar exercises, often in Excel, occasionally in Tableau or Power BI, almost never with a more modern visualization tool, and there is a reason for that.

This is a guide to building a BCG matrix in Excel that earns its place in the deck, with notes on when to use it, when to skip it, and what most analysts get wrong.

What the BCG matrix actually communicates

The BCG matrix is a 2×2 with two axes and a sized bubble per business unit (or customer segment, or product line, depending on what you are analyzing). The traditional axes are market growth rate on the vertical and relative market share on the horizontal, but the framework generalizes cleanly: any two metrics that together capture the strategic profile of a unit will do the job.

b26-quadrants
b26-quadrants
The four quadrants get the famous animal vocabulary. Stars are high-growth, high-share units. Cash Cows are low-growth, high-share. Question Marks are high-growth, low-share. Dogs are low-growth, low-share. The vocabulary survived for fifty years because each label maps to a real strategic decision: invest in Stars, milk Cash Cows, decide about Question Marks, divest Dogs. The chart is a decision tool dressed up as a visualization.

For our telecom client, the axes were customer-level rather than business-unit-level. ARPU (average revenue per user, above or below the company median) on one axis, primary service consumption (data usage, above or below median) on the other. The bubbles represented customer segments, sized by total customer count. We added a second smaller bubble per quadrant to represent churn within that segment, an editorial choice that turned the chart from a snapshot into a diagnostic.

The takeaway from one glance at the finished chart was this: the company had a healthy “Star” quadrant of high-revenue, heavy-usage customers, but the churn bubble in that quadrant was disproportionately large. The Cash Cow quadrant was stable. The Question Mark quadrant was growing but profitless. The Dog quadrant was the obvious cut. That entire strategic conversation came out of one chart, which is why the format survives.

Why Excel is still the right tool, with caveats

Excel is the right tool for a BCG matrix more often than I would prefer to admit, and the reason is unglamorous. The chart is built once, modified extensively, reviewed across at least four stakeholders, and shipped inside a PowerPoint deck. Excel is the format that all four stakeholders can edit, copy-paste into PowerPoint, and republish without an engineering ticket.

Tableau and Power BI produce prettier bubble charts. They are also harder to embed in a static deck, harder to hand off to a non-analyst, and surprisingly harder to tune for the specific aesthetic that strategy decks demand. For a one-off strategic deliverable, the round-trip cost of moving the chart between tools usually erases the visualization advantage.

Excel is the wrong tool if the chart needs to update live. If you are building a recurring dashboard rather than a one-off deck, Excel is a maintenance trap. The bubble positions get recalculated by hand every refresh, the labels drift, the colors degrade. Build it in Tableau or Power BI with proper data bindings, even if the first version is uglier.

Excel is also the wrong tool if you have more than about a dozen bubbles. The chart gets unreadable past that point, regardless of tool, but Excel makes it visibly painful. If you need to plot fifty customer segments, you are looking for a scatter plot with quadrant gridlines, not a BCG matrix.

The implementation that earns its place

The Excel approach is straightforward in shape and detailed in execution. I will describe the pattern; the spreadsheet itself is two evenings of work plus another evening of fine-tuning labels.

Step 1: Define the two metrics that matter. This is the step everyone wants to skip and the step that determines whether the chart is useful. The two metrics need to be strategically meaningful together (knowing both tells you something neither tells you alone), measurable from your data sources without heroic effort, and comparable across all the bubbles you want to plot. For our telecom client, ARPU and data usage. For a SaaS company, revenue per account and product engagement. For a retail business, basket size and visit frequency. The pair makes or breaks the chart.

Step 2: Set the quadrant thresholds. The classical approach uses the median (or mean) of each metric across all segments. That gives you a clean 2×2 split with roughly equal numbers of bubbles per quadrant. The alternative is an absolute threshold based on business meaning (e.g., “above $80 ARPU is high-value regardless of population distribution”). Choose the median for an exploratory chart, choose absolute thresholds for a presentation that needs to communicate a specific point.

b26-pipeline
b26-pipeline
Step 3: Build the data table. One row per bubble, with columns for the segment name, the X coordinate (the first metric), the Y coordinate (the second metric), the bubble size (typically a count or total revenue), and optional columns for color or annotation. For the Yota chart we had eight rows: four primary bubbles for the customer segments, plus four churn bubbles offset slightly to avoid overlap. The churn bubbles sat at coordinates like (0.65, 0.35) when the primary bubble was at (0.5, 0.5), close enough to read as “this churn belongs to that segment” without obscuring it.

Step 4: Insert a bubble chart and configure. Excel’s built-in bubble chart is the right starting point. Use “Select Data” to point at the three columns (X, Y, Size). Add a second series for churn if you are using that overlay. Then comes the formatting work: remove the default axes, add gridlines at the quadrant thresholds, label each bubble manually (Excel’s auto-labels for bubble charts are notoriously bad), pick colors that distinguish the four quadrants without overwhelming the chart.

Step 5: Add the annotations that do the work. This is the difference between a chart that gets a glance and a chart that gets cited. Quadrant labels in the corners (“Stars,” “Cash Cows,” “Question Marks,” “Dogs,” or whatever your domain-specific equivalents are). A single sentence under each quadrant explaining the strategic implication. Bubble labels with the segment name and the metric value, not just the name. A caption that states the time period and the data source. The chart on its own is twenty percent of the communication; the annotations are the other eighty.

Variations that change the question

b26-variations
b26-variations
Three editorial variants on the BCG matrix that change what the chart can answer.

Bubbles only. The classical version. Each segment is one bubble, sized by population or value. Answers the question “what is the strategic shape of our customer base right now?” This is the right variant for a board deck or a strategy review.

Bubbles plus churn overlay. The pattern we shipped for the telecom client. A primary bubble per segment, plus a secondary bubble per segment representing churn (or attrition, or whatever the loss metric is). Answers “what is the shape, and where is value bleeding out?” This is the right variant when the chart is diagnostic, not just descriptive.

Time-series version. Each segment is plotted twice (or more), with an arrow connecting the previous-period position to the current-period position. Bubble size still represents population at the current period. Answers “how is the strategic shape moving over time?” This is the right variant for a quarterly review or a year-over-year strategy update. It is also the variant most likely to produce a chart that takes a full slide to explain, which is sometimes the right tradeoff.

There is a fourth variant worth knowing about, even though I have only built it once. The 3×3 variant (sometimes called the GE-McKinsey matrix) replaces the 2×2 with a finer grid and richer quadrant labels. It is more expressive and considerably harder to read. If you are tempted to reach for it, ask whether the audience genuinely needs the granularity, or whether you are over-engineering the framework. Eighty percent of the time the 2×2 wins.

The failure modes worth flagging

A few patterns I have seen go wrong with BCG matrices, in order of frequency.

Wrong axis pair. The two metrics are not strategically connected, or one of them is a vanity metric that does not differentiate segments. The result is bubbles bunched along one axis with empty quadrants, which signals that the framework does not fit. Either pick a better pair or use a different chart.

Thresholds that hide the story. The median split produces clean quadrants but can hide the actual concentration. If 60 percent of your bubbles cluster near the threshold, the quadrants are an artifact of the threshold choice, not a real strategic pattern. Try absolute thresholds, or supplement with a histogram of each metric to show the underlying distribution.

Too many bubbles. Anything past about a dozen segments becomes unreadable. If you have fifty customer segments, the chart you want is a scatter plot with quadrant gridlines, not a labeled BCG matrix. Or roll up the segments to a coarser cut before charting.

Quadrant labels treated as conclusions. “These customers are Dogs, divest them.” A BCG matrix tells you where to look, not what to do. A customer segment in the Dog quadrant might be a strategic loss leader for some other reason, or might be a feeder cohort for the Star segment. The matrix is the start of a conversation. Anyone who treats the labels as decisions has not actually used the framework.

When the matrix is the wrong answer

The BCG matrix is the wrong call if your strategic question has more than two dimensions, your segments are not stable enough to plot (early-stage companies often fall here), or your audience is going to over-index on the quadrant labels rather than the underlying data. In those cases, a more flexible chart (heatmap, parallel coordinates, table with conditional formatting) does the same job with fewer rhetorical commitments.

The matrix is the right call if the conversation is genuinely strategic, the segments are stable enough to compare, two metrics genuinely capture the relevant decision space, and the audience is comfortable with a framework that has been in active use for fifty years. That covers most real strategy reviews I have done, which is why I keep building the chart, and why most analysts in my orbit keep building it too.

The framework is not exciting. The visualization is not modern. The tool is often Excel. None of that changes the fact that the right two-axis chart can compress an hour of strategic conversation into a single legible slide, and that compression is the entire job.

Keep reading

Enjoyed this article?

Get weekly data strategy insights delivered to your inbox.

Get in Touch

Let's Discuss Your Project

Book a 30-minute discovery call. We'll assess your data maturity and recommend the right approach — no strings attached.

Book a Discovery Call →
Need help with your data strategy? Book a Discovery Call →