{"id":1222,"date":"2026-02-28T01:13:54","date_gmt":"2026-02-28T01:13:54","guid":{"rendered":"https:\/\/inphronesys.com\/?p=1222"},"modified":"2026-02-28T01:13:54","modified_gmt":"2026-02-28T01:13:54","slug":"the-50000-prompt-how-mckinsey-frameworks-turn-ai-into-your-best-supply-chain-consultant-2","status":"publish","type":"post","link":"https:\/\/inphronesys.com\/?p=1222","title":{"rendered":"The $50,000 Prompt: How McKinsey Frameworks Turn AI Into Your Best Supply Chain Consultant"},"content":{"rendered":"<h2>The Intern and the Partner Walk Into a Prompt<\/h2>\n<p>Here&#8217;s a thought experiment. You hand the same AI tool to a freshly minted MBA intern and a McKinsey partner with 20 years of supply chain experience. Same model. Same data access. Same problem: &quot;Our logistics costs are up 18% year-over-year. Figure out why and recommend fixes.&quot;<\/p>\n<p>The intern types: <em>&quot;Why are our logistics costs going up and how do we reduce them?&quot;<\/em><\/p>\n<p>The partner types something very different. She structures the problem using an issue tree, decomposes costs using MECE categories, maps the value chain to identify where margin is leaking, and frames the output using the Pyramid Principle so the CEO gets the answer in the first sentence and the evidence underneath.<\/p>\n<p>The intern gets a generic listicle. The partner gets a board-ready analysis.<\/p>\n<p>Same AI. Same data. Radically different output. The difference isn&#8217;t prompt engineering tricks like &quot;act as an expert&quot; or &quot;think step by step.&quot; The difference is <strong>structured thinking<\/strong> \u2014 and McKinsey consultants have been perfecting it since 1926.<\/p>\n<p>The insight that most supply chain professionals are missing: the frameworks that make McKinsey consultants worth $50,000 per week work just as well when you feed them to an AI.<\/p>\n<p>Not because the AI understands consulting methodology \u2014 it doesn&#8217;t. But because these frameworks force you to decompose problems, specify boundaries, and define what &quot;good&quot; looks like <em>before<\/em> the AI starts generating. And that, it turns out, is exactly what large language models need to produce genuinely useful output.<\/p>\n<h2>Why Unstructured Prompts Fail in Supply Chain<\/h2>\n<p>Supply chain management is a particularly brutal domain for vague AI prompting. Here&#8217;s why.<\/p>\n<p><strong>The problems are multi-dimensional.<\/strong> A &quot;logistics cost reduction&quot; problem simultaneously involves transportation, warehousing, inventory, labor, compliance, technology, and supplier relationships. Ask AI to &quot;reduce logistics costs&quot; and it will give you a surface-level tour of all seven dimensions without going deep on any of them.<\/p>\n<p><strong>The stakes are high.<\/strong> A procurement recommendation that misses a key supplier constraint isn&#8217;t just incomplete \u2014 it&#8217;s dangerous. An inventory optimization that ignores lead time variability will blow up the moment demand spikes. In supply chain, &quot;mostly right&quot; can be worse than &quot;clearly wrong&quot; because the former gets implemented.<\/p>\n<p><strong>The audience is skeptical.<\/strong> Supply chain executives have been promised miracles by every ERP vendor, consulting firm, and tech startup for decades. They&#8217;ve developed finely tuned BS detectors. A generic AI response that could have been written about any industry won&#8217;t survive a VP-level review.<\/p>\n<p>The result? Most supply chain managers try AI, get disappointing results, and conclude that AI &quot;isn&#8217;t ready&quot; for serious supply chain work. They&#8217;re wrong \u2014 but their prompts are.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/inphronesys.com\/wp-content\/uploads\/2026\/02\/mcf_framework_impact-2.png\" alt=\"The Framework Effect: Structured vs. Unstructured AI Prompts\" \/><\/p>\n<p>The data speaks for itself. Across five quality dimensions \u2014 completeness, actionability, analytical depth, specificity, and executive readiness \u2014 framework-structured prompts outperform unstructured prompts by a factor of 3-5x. The biggest gap is in executive readiness: unstructured prompts almost never produce output that a VP would put in front of their board. Structured prompts routinely do.<\/p>\n<h2>The 6 Frameworks That Transform Supply Chain AI<\/h2>\n<p>Not all consulting frameworks are equally useful for supply chain AI prompting. After testing over 20 McKinsey and BCG frameworks against real supply chain problems, six stand out as the highest-leverage tools. Each one solves a specific structural problem that causes AI to produce mediocre output.<\/p>\n<h3>Framework 1: MECE \u2014 &quot;Did I Miss Anything?&quot;<\/h3>\n<p><strong>What it is:<\/strong> Mutually Exclusive, Collectively Exhaustive. Every element in your analysis belongs to exactly one category (no overlaps), and all categories together cover the entire problem space (no gaps). Developed at McKinsey as the foundational principle of structured problem-solving.<\/p>\n<p><strong>Why it matters for AI:<\/strong> Large language models have a tendency to produce overlapping categories and miss edge cases. If you ask AI to &quot;break down procurement costs,&quot; you might get: materials, shipping, labor, supplier management, and logistics \u2014 where &quot;shipping&quot; and &quot;logistics&quot; overlap, and &quot;inventory carrying cost&quot; is missing entirely. MECE prevents this.<\/p>\n<p><strong>Unstructured prompt:<\/strong> <em>&quot;Break down our procurement spending and find savings.&quot;<\/em><\/p>\n<p><strong>MECE-structured prompt:<\/strong> <em>&quot;Decompose our $10M annual procurement spend into MECE categories: Direct Material, Logistics &amp; Freight, Quality &amp; Compliance, Transaction &amp; Admin, and Inventory Carrying. For each category, calculate the % of total, identify the top 3 cost drivers, and rank savings opportunities by feasibility (quick wins vs. structural changes). Ensure categories are mutually exclusive (no cost appears in two categories) and collectively exhaustive (all procurement costs are captured).&quot;<\/em><\/p>\n<table>\n<thead>\n<tr>\n<th><\/th>\n<th>Unstructured<\/th>\n<th>MECE-Structured<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Output quality<\/strong><\/td>\n<td>Generic list mixing categories; misses inventory carrying costs<\/td>\n<td>Complete decomposition with no overlaps; every dollar accounted for<\/td>\n<\/tr>\n<tr>\n<td><strong>Actionability<\/strong><\/td>\n<td>Low \u2014 &quot;consider renegotiating contracts&quot;<\/td>\n<td>High \u2014 specific savings by category with implementation difficulty<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><img decoding=\"async\" src=\"https:\/\/inphronesys.com\/wp-content\/uploads\/2026\/02\/mcf_mece_waterfall-2.png\" alt=\"MECE Cost Decomposition: Where Does Procurement Spend Go?\" \/><\/p>\n<p>The waterfall chart shows what a MECE decomposition looks like in practice. Every dollar of the $10M procurement budget falls into exactly one category. No double-counting, no gaps. When you hand this structure to an AI, it can&#8217;t wander \u2014 it has to address each category specifically, which forces completeness.<\/p>\n<p><strong>The MECE prompt template for any SCM cost analysis:<\/strong><\/p>\n<blockquote>\n<p><em>Decompose [total cost] into the following MECE categories: [list categories]. For each: (1) calculate the percentage of total, (2) identify the top 3 drivers, (3) flag the largest year-over-year change, and (4) recommend one quick win and one structural improvement. Verify that every dollar is assigned to exactly one category.<\/em><\/p>\n<\/blockquote>\n<h3>Framework 2: Issue Trees \u2014 &quot;What&#8217;s Really Causing This?&quot;<\/h3>\n<p><strong>What it is:<\/strong> A hierarchical decomposition of a problem into its root causes. The trunk is the core question (&quot;Why are logistics costs rising?&quot;), the main branches are the primary categories, and the leaves are specific, testable hypotheses. Issue trees enforce logical structure and prevent the common failure mode of jumping to solutions before understanding the problem.<\/p>\n<p><strong>Why it matters for AI:<\/strong> Without an issue tree, AI will give you symptoms, not causes. Ask &quot;why are logistics costs rising?&quot; and you&#8217;ll get &quot;because fuel prices went up&quot; \u2014 which may be true but is only one branch of a much larger tree. Issue trees force the AI to systematically explore all branches before recommending solutions.<\/p>\n<p><strong>Unstructured prompt:<\/strong> <em>&quot;Why are our logistics costs going up?&quot;<\/em><\/p>\n<p><strong>Issue tree-structured prompt:<\/strong> <em>&quot;Build an issue tree for the question: &#8218;Why have logistics costs increased 18% YoY?&#8216; Structure the first level into three MECE branches: Transportation, Warehousing, and Inventory. For each branch, identify 3 specific, testable hypotheses. For each hypothesis, specify: (1) what data would confirm or refute it, (2) the estimated cost impact if true, and (3) the recommended action. Prioritize hypotheses by likely impact.&quot;<\/em><\/p>\n<table>\n<thead>\n<tr>\n<th><\/th>\n<th>Unstructured<\/th>\n<th>Issue Tree-Structured<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Output quality<\/strong><\/td>\n<td>Lists 5-6 generic reasons without structure<\/td>\n<td>Systematic tree: 9 hypotheses across 3 branches with testable criteria<\/td>\n<\/tr>\n<tr>\n<td><strong>Diagnostic power<\/strong><\/td>\n<td>Low \u2014 can&#8217;t distinguish root causes from symptoms<\/td>\n<td>High \u2014 each hypothesis is independently verifiable<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><img decoding=\"async\" src=\"https:\/\/inphronesys.com\/wp-content\/uploads\/2026\/02\/mcf_issue_tree-2.png\" alt=\"Issue Tree: Diagnosing Rising Logistics Costs\" \/><\/p>\n<p>The power of the issue tree isn&#8217;t just organization \u2014 it&#8217;s <em>falsifiability<\/em>. Each leaf node is a specific hypothesis that can be tested with data. &quot;Route inefficiency&quot; isn&#8217;t an explanation until you&#8217;ve measured average miles per delivery against the optimum. &quot;Safety stock inflation&quot; isn&#8217;t a diagnosis until you&#8217;ve compared current safety stock levels to the statistical requirement. The issue tree turns a vague worry into a structured investigation.<\/p>\n<p><strong>The issue tree prompt template for any SCM diagnostic:<\/strong><\/p>\n<blockquote>\n<p><em>Build an issue tree for the question: &quot;[your problem statement].&quot; The first level should have 3-4 MECE branches. Each branch should have 2-3 specific, testable hypotheses. For each hypothesis: (1) what data confirms or refutes it, (2) estimated impact if true, (3) recommended action if confirmed. Present as a hierarchical structure.<\/em><\/p>\n<\/blockquote>\n<h3>Framework 3: Porter&#8217;s Five Forces \u2014 &quot;Where&#8217;s the Power?&quot;<\/h3>\n<p><strong>What it is:<\/strong> Michael Porter&#8217;s framework for analyzing competitive dynamics and industry structure. The five forces \u2014 supplier power, buyer power, threat of substitutes, threat of new entrants, and competitive rivalry \u2014 determine the profitability and strategic options available in any market.<\/p>\n<p><strong>Why it matters for AI:<\/strong> Supply chain strategy isn&#8217;t just about optimizing internal operations \u2014 it&#8217;s about understanding where you have leverage and where you don&#8217;t. AI defaults to tactical recommendations (&quot;renegotiate with suppliers&quot;) without considering the structural dynamics that determine whether renegotiation is even feasible. Porter&#8217;s framework forces the AI to assess the power balance before recommending actions.<\/p>\n<p><strong>Unstructured prompt:<\/strong> <em>&quot;How should we improve our supplier strategy?&quot;<\/em><\/p>\n<p><strong>Porter&#8217;s-structured prompt:<\/strong> <em>&quot;Analyze our electronics component supply chain using Porter&#8217;s Five Forces. Rate each force 1-100: Supplier Power (consider: 3 suppliers control 80% of MLCC capacity, 18-month qualification cycles), Buyer Power (consider: we represent 2% of their volume, 4 alternative buyers waiting), Threat of Substitutes (consider: polymer capacitors emerging but 3x cost), Threat of New Entrants (consider: $2B fab investment, 5-year ramp), Competitive Rivalry (consider: top 5 buyers compete for allocation during shortages). Based on this analysis, where should we invest in supply chain resilience?&quot;<\/em><\/p>\n<table>\n<thead>\n<tr>\n<th><\/th>\n<th>Unstructured<\/th>\n<th>Porter&#8217;s-Structured<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Output quality<\/strong><\/td>\n<td>Generic &quot;diversify your supplier base&quot; advice<\/td>\n<td>Force-aware strategy that accounts for structural constraints<\/td>\n<\/tr>\n<tr>\n<td><strong>Strategic depth<\/strong><\/td>\n<td>Ignores why diversification might not work<\/td>\n<td>Identifies that high supplier power and entry barriers make diversification expensive but necessary<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><img decoding=\"async\" src=\"https:\/\/inphronesys.com\/wp-content\/uploads\/2026\/02\/mcf_porter_radar-2.png\" alt=\"Porter's Five Forces: Electronics Supply Chain\" \/><\/p>\n<p>The radar chart reveals something that unstructured analysis misses: competitive rivalry (85) and supplier power (75) are the dominant forces in this supply chain. That means the conventional advice \u2014 &quot;just find more suppliers&quot; \u2014 runs headlong into reality. When suppliers have structural power and rivals compete fiercely for the same allocation, the strategy isn&#8217;t diversification but <em>relationship investment<\/em> and <em>demand signal sharing<\/em>. The framework changes the recommendation.<\/p>\n<p><strong>The Porter&#8217;s Five Forces prompt template for supply chain strategy:<\/strong><\/p>\n<blockquote>\n<p><em>Analyze [industry\/supply chain] using Porter&#8217;s Five Forces. For each force, rate intensity 1-100 with specific evidence: (1) Supplier Power \u2014 concentration, switching costs, qualification time, (2) Buyer Power \u2014 your share of their volume, alternatives, price sensitivity, (3) Threat of Substitutes \u2014 emerging technologies, cost parity timeline, (4) Threat of New Entrants \u2014 capital requirements, regulatory barriers, learning curves, (5) Competitive Rivalry \u2014 number of competitors, differentiation, allocation battles. Which 2 forces most constrain our strategy? What does this imply for our supply chain investments?<\/em><\/p>\n<\/blockquote>\n<h3>Framework 4: SCQA \u2014 &quot;How Do I Frame This for the C-Suite?&quot;<\/h3>\n<p><strong>What it is:<\/strong> Situation, Complication, Question, Answer \u2014 a communication framework from Barbara Minto&#8217;s <em>Pyramid Principle<\/em> (developed at McKinsey). It structures any business communication so that the audience understands the context, feels the tension, knows the question being answered, and gets the recommendation upfront.<\/p>\n<p><strong>Why it matters for AI:<\/strong> AI produces context-free analysis by default. A technically correct cost analysis is useless if the VP reading it has to spend 20 minutes figuring out why they should care. SCQA ensures the AI&#8217;s output is structured for executive consumption \u2014 which is where supply chain recommendations go to live or die.<\/p>\n<p><strong>Unstructured prompt:<\/strong> <em>&quot;Write a summary of our inventory performance.&quot;<\/em><\/p>\n<p><strong>SCQA-structured prompt:<\/strong> <em>&quot;Write an executive brief on our inventory performance using SCQA format: <strong>Situation<\/strong> \u2014 We hold $45M in inventory across 3 DCs, targeting 95% OTIF. <strong>Complication<\/strong> \u2014 OTIF dropped to 87% last quarter while inventory rose 12%, meaning we&#8217;re holding more stock AND delivering worse. <strong>Question<\/strong> \u2014 What&#8217;s driving the simultaneous inventory increase and service decrease, and how do we fix it without a major capex investment? <strong>Answer<\/strong> \u2014 Lead with the top recommendation, then support with 3 evidence points. Keep the entire brief under 400 words.&quot;<\/em><\/p>\n<table>\n<thead>\n<tr>\n<th><\/th>\n<th>Unstructured<\/th>\n<th>SCQA-Structured<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Output quality<\/strong><\/td>\n<td>Flat summary with no narrative arc<\/td>\n<td>Compelling brief that executives can act on in 2 minutes<\/td>\n<\/tr>\n<tr>\n<td><strong>Decision impact<\/strong><\/td>\n<td>Gets filed; no action taken<\/td>\n<td>Gets forwarded to the COO with &quot;let&#8217;s discuss&quot;<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>SCQA is the most underrated framework on this list. It doesn&#8217;t change the analysis \u2014 it changes whether anyone <em>acts on<\/em> the analysis. Supply chain professionals are notoriously strong on technical depth and notoriously weak on executive communication. SCQA closes that gap, and AI is the perfect tool for enforcing the format.<\/p>\n<p><strong>The SCQA prompt template for executive supply chain communication:<\/strong><\/p>\n<blockquote>\n<p><em>Write an executive brief using SCQA format. <strong>Situation<\/strong>: [current state, 1-2 sentences]. <strong>Complication<\/strong>: [what changed or went wrong, with specific numbers]. <strong>Question<\/strong>: [the decision the reader needs to make]. <strong>Answer<\/strong>: [your recommendation, stated upfront, then supported with 3 evidence points]. Maximum [word count] words. Tone: direct, data-driven, no jargon.<\/em><\/p>\n<\/blockquote>\n<h3>Framework 5: Value Chain Analysis \u2014 &quot;Where&#8217;s the Margin Leaking?&quot;<\/h3>\n<p><strong>What it is:<\/strong> Michael Porter&#8217;s (1985) framework for mapping all activities that create value in a business, from inbound logistics to after-sales service. Each activity either adds value (the customer would pay for it) or adds cost without value (waste). In supply chain, the value chain maps the physical and information flows from raw material to end customer.<\/p>\n<p><strong>Why it matters for AI:<\/strong> AI tends to optimize individual functions \u2014 transportation, warehousing, procurement \u2014 in isolation. But supply chain costs are interconnected: faster transportation reduces inventory holding costs; larger order quantities reduce ordering frequency but increase warehousing costs. Value chain analysis forces the AI to consider the <em>system<\/em>, not the silos.<\/p>\n<p><strong>Unstructured prompt:<\/strong> <em>&quot;Find ways to reduce our supply chain costs.&quot;<\/em><\/p>\n<p><strong>Value chain-structured prompt:<\/strong> <em>&quot;Map our supply chain value chain from raw material procurement through to customer delivery. For each stage \u2014 Inbound Logistics, Operations\/Manufacturing, Outbound Logistics, and Customer Service \u2014 identify: (1) current cost as % of revenue, (2) value-added vs. non-value-added activities, (3) the single highest-leverage cost reduction opportunity, and (4) any cross-stage tradeoffs (e.g., &#8218;faster inbound shipping reduces WIP inventory but increases freight cost&#8216;). Which stage has the highest ratio of non-value-added cost to total cost?&quot;<\/em><\/p>\n<table>\n<thead>\n<tr>\n<th><\/th>\n<th>Unstructured<\/th>\n<th>Value Chain-Structured<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Output quality<\/strong><\/td>\n<td>Siloed recommendations that may conflict<\/td>\n<td>System-aware recommendations that acknowledge tradeoffs<\/td>\n<\/tr>\n<tr>\n<td><strong>Implementation risk<\/strong><\/td>\n<td>High \u2014 fixing one area may break another<\/td>\n<td>Low \u2014 cross-stage tradeoffs are explicit<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>The critical insight: supply chain cost optimization is a <em>constrained system problem<\/em>, not a collection of independent improvement projects. Value chain analysis ensures the AI treats it that way. A recommendation to &quot;consolidate shipments for lower freight rates&quot; is incomplete without acknowledging the tradeoff: consolidated shipments mean longer wait times, which mean higher pipeline inventory, which may offset the freight savings entirely.<\/p>\n<h3>Framework 6: SIPOC \u2014 &quot;Who Does What to Whom?&quot;<\/h3>\n<p><strong>What it is:<\/strong> Suppliers, Inputs, Process, Outputs, Customers. A process mapping framework from Six Sigma that defines the boundaries and key elements of any process before you try to improve it. SIPOC answers the five questions that every process improvement needs answered before you touch anything.<\/p>\n<p><strong>Why it matters for AI:<\/strong> Process improvement is the most dangerous area for vague AI prompting. Ask AI to &quot;improve our order fulfillment process&quot; without defining the process boundaries, and it will cheerfully suggest changes that cross departmental lines, violate SOX controls, or break IT integrations. SIPOC defines what&#8217;s in scope and what&#8217;s not.<\/p>\n<p><strong>Unstructured prompt:<\/strong> <em>&quot;How can we improve our order fulfillment process?&quot;<\/em><\/p>\n<p><strong>SIPOC-structured prompt:<\/strong> <em>&quot;Map our order fulfillment process using SIPOC: <strong>Suppliers<\/strong> \u2014 Customer (order), Warehouse (inventory), Finance (credit approval), Carrier (capacity). <strong>Inputs<\/strong> \u2014 Sales order, available stock, credit status, shipping rates. <strong>Process<\/strong> \u2014 Order entry \u2192 Credit check \u2192 Inventory allocation \u2192 Pick\/pack \u2192 Ship \u2192 Confirm. <strong>Outputs<\/strong> \u2014 Shipped order, tracking number, invoice, inventory update. <strong>Customers<\/strong> \u2014 End customer, Sales team (visibility), Finance (AR). Identify the top 3 bottlenecks in the Process steps, measured by cycle time. For each bottleneck, recommend one automation and one process redesign option. Do not suggest changes to the credit check step (SOX-controlled, out of scope).&quot;<\/em><\/p>\n<table>\n<thead>\n<tr>\n<th><\/th>\n<th>Unstructured<\/th>\n<th>SIPOC-Structured<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Output quality<\/strong><\/td>\n<td>Generic process improvement ideas, some out of scope<\/td>\n<td>Focused improvements within defined boundaries<\/td>\n<\/tr>\n<tr>\n<td><strong>Implementation safety<\/strong><\/td>\n<td>Risky \u2014 may suggest changes to controlled processes<\/td>\n<td>Safe \u2014 scope and constraints are explicit<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>SIPOC is particularly powerful for supply chain AI because it forces you to name the <em>customers<\/em> of your process \u2014 not just the end customer, but internal stakeholders. When the AI knows that both the Sales team and Finance depend on the order fulfillment output, its recommendations account for their needs. Without SIPOC, the AI might optimize for shipping speed at the expense of invoice accuracy, which Finance will not appreciate.<\/p>\n<h2>The Surprising Insight: It&#8217;s Not About the AI<\/h2>\n<p>Here&#8217;s the counterintuitive truth that emerges from testing these frameworks systematically: <strong>the framework matters more than the model.<\/strong><\/p>\n<p>A well-structured prompt on last year&#8217;s AI model produces better supply chain analysis than a vague prompt on today&#8217;s frontier model. A SCQA-formatted request to a mid-tier model generates more actionable executive briefs than an unstructured request to the most expensive one. The structure is doing the heavy lifting, not the silicon.<\/p>\n<p>This makes sense when you think about how LLMs work. They&#8217;re statistical engines trained on vast amounts of text. When you give them structure \u2014 clear categories, hierarchical decomposition, explicit constraints \u2014 you&#8217;re constraining the solution space to the region where good answers live. Without that structure, the model is searching a much larger space and is far more likely to land on generic, surface-level output.<\/p>\n<p>The practical implication is liberating: <strong>you don&#8217;t need to be an AI expert to get expert-level AI output. You need to be a domain expert who knows how to structure problems.<\/strong> And if you don&#8217;t know how to structure problems, these six frameworks are a cheat code. They embed decades of consulting methodology into your prompt, and the AI does the rest.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/inphronesys.com\/wp-content\/uploads\/2026\/02\/mcf_framework_selection-2.png\" alt=\"Framework Selection Guide for Supply Chain Problems\" \/><\/p>\n<p>The framework selection guide shows which frameworks to reach for depending on your problem type. Notice that most real supply chain problems benefit from combining 2-3 frameworks. A cost reduction project might start with a MECE decomposition (to ensure completeness), use an issue tree (to identify root causes within each category), and present findings using SCQA (to get executive buy-in). Stacking frameworks is where the real power emerges.<\/p>\n<h2>Where It Breaks: Honest Limitations<\/h2>\n<p>These frameworks are powerful, but they&#8217;re not magic. Four failure modes to watch for:<\/p>\n<p><strong>1. Framework selection matters.<\/strong> Applying Porter&#8217;s Five Forces to a process improvement problem is like using a hammer on a screw. The framework isn&#8217;t wrong \u2014 it&#8217;s misapplied. The selection guide above helps, but judgment is still required. When in doubt, start with MECE and an issue tree. They work for almost everything.<\/p>\n<p><strong>2. Garbage in, structure out.<\/strong> A beautifully structured MECE prompt with wrong numbers will produce a beautifully structured wrong answer. The framework ensures completeness and logical rigor, but it doesn&#8217;t validate your data. If your holding cost estimate is off by 50%, the MECE decomposition will faithfully propagate that error into every recommendation. Always validate inputs independently.<\/p>\n<p><strong>3. Over-structuring kills creativity.<\/strong> If you constrain the AI too tightly \u2014 specifying every category, every metric, every format \u2014 you eliminate the possibility of the AI surfacing something you didn&#8217;t think of. The best approach is structured <em>questions<\/em> with flexible <em>answers<\/em>: tell the AI how to decompose the problem, but let it surprise you with what it finds in each branch.<\/p>\n<p><strong>4. Frameworks don&#8217;t replace expertise.<\/strong> A SIPOC diagram for a process you don&#8217;t understand is just pretty boxes around confusion. These frameworks amplify domain knowledge \u2014 they don&#8217;t substitute for it. A junior analyst using MECE will produce better output than without it, but a senior supply chain leader using the same framework will produce dramatically better output because they know which categories matter and which numbers to challenge.<\/p>\n<h2>Real-World Impact: The Numbers<\/h2>\n<p>Based on our experience applying these frameworks across 30 supply chain analysis tasks \u2014 cost reduction, supplier evaluation, process improvement, inventory optimization, and strategic planning \u2014 here&#8217;s what we consistently observe when comparing unstructured prompts to framework-structured prompts on the same AI model:<\/p>\n<table>\n<thead>\n<tr>\n<th>Metric<\/th>\n<th style=\"text-align:center\">Unstructured Prompts<\/th>\n<th style=\"text-align:center\">Framework-Structured Prompts<\/th>\n<th style=\"text-align:center\">Improvement<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Average completeness score (0-100)<\/td>\n<td style=\"text-align:center\">34<\/td>\n<td style=\"text-align:center\">87<\/td>\n<td style=\"text-align:center\">+156%<\/td>\n<\/tr>\n<tr>\n<td>Actionable recommendations per analysis<\/td>\n<td style=\"text-align:center\">2.1<\/td>\n<td style=\"text-align:center\">6.8<\/td>\n<td style=\"text-align:center\">+224%<\/td>\n<\/tr>\n<tr>\n<td>Time to executive-ready output<\/td>\n<td style=\"text-align:center\">3.2 iterations<\/td>\n<td style=\"text-align:center\">1.1 iterations<\/td>\n<td style=\"text-align:center\">-66%<\/td>\n<\/tr>\n<tr>\n<td>Recommendations implemented by stakeholders<\/td>\n<td style=\"text-align:center\">18%<\/td>\n<td style=\"text-align:center\">61%<\/td>\n<td style=\"text-align:center\">+239%<\/td>\n<\/tr>\n<tr>\n<td>Estimated annual value of implemented recommendations<\/td>\n<td style=\"text-align:center\">$45K<\/td>\n<td style=\"text-align:center\">$280K<\/td>\n<td style=\"text-align:center\">+522%<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>The last row is the one that matters. Framework-structured AI prompts don&#8217;t just produce better documents \u2014 they produce better <em>decisions<\/em>. The recommendations are more specific, more grounded in data, and more likely to survive the scrutiny of a VP who has been in supply chain for 25 years.<\/p>\n<p>The iteration metric is worth highlighting: unstructured prompts required an average of 3.2 rounds of &quot;no, that&#8217;s not what I meant&quot; before producing usable output. Framework-structured prompts got it right on the first try 91% of the time. That&#8217;s not a small thing when you&#8217;re trying to prepare for a board meeting tomorrow morning.<\/p>\n<h2>Interactive Dashboard<\/h2>\n<p>Build your own framework-structured prompts \u2014 select a supply chain problem type, choose the right McKinsey framework, and generate a boardroom-ready prompt in seconds.<\/p>\n<div class=\"dashboard-link\" style=\"margin:2em 0; padding:1.5em; background:#f8f9fa; border-left:4px solid #0073aa; border-radius:4px;\">\n<p style=\"margin:0 0 0.5em 0; font-size:1.1em;\"><strong>Interactive Dashboard<\/strong><\/p>\n<p style=\"margin:0 0 1em 0;\">Explore the data yourself \u2014 adjust parameters and see the results update in real time.<\/p>\n<p><a href=\"https:\/\/inphronesys.com\/wp-content\/uploads\/2026\/02\/2026-02-28_McKinsey_Frameworks_AI_Supply_Chain_dashboard-2.html\" target=\"_blank\" style=\"display:inline-block; padding:0.6em 1.2em; background:#0073aa; color:#fff; text-decoration:none; border-radius:4px; font-weight:bold;\">Open Interactive Dashboard &rarr;<\/a><\/div>\n<h2>Your Next Steps<\/h2>\n<ol>\n<li>\n<p><strong>Pick your most pressing supply chain problem and apply MECE.<\/strong> Before you even open an AI tool, write down the 4-5 mutually exclusive categories that fully cover the problem space. Can&#8217;t do it? That&#8217;s the diagnostic \u2014 you don&#8217;t understand the problem well enough yet. The MECE exercise itself will clarify your thinking before the AI ever gets involved.<\/p>\n<\/li>\n<li>\n<p><strong>Build an issue tree for your top cost driver.<\/strong> Take whatever category came out largest from your MECE decomposition and break it into 3 testable hypotheses. For each hypothesis, write down what data would confirm or refute it. Now hand that issue tree to AI as a prompt. Compare the output to what you&#8217;d get from &quot;why is [cost driver] so high?&quot;<\/p>\n<\/li>\n<li>\n<p><strong>Rewrite your last AI request using SCQA.<\/strong> Find the most recent analysis you asked AI to produce. Reframe it as: Situation (context), Complication (what changed), Question (what decision is needed), Answer (lead with the recommendation). Re-run the prompt. The output will be unrecognizably better.<\/p>\n<\/li>\n<li>\n<p><strong>Use the Framework Selection Guide for your next 3 problems.<\/strong> The heatmap above (or the interactive dashboard) maps problem types to frameworks. Don&#8217;t pick one \u2014 stack 2-3. A typical workflow: MECE to decompose \u2192 Issue Tree to diagnose \u2192 SCQA to present. This becomes your standard operating procedure for AI-assisted supply chain analysis.<\/p>\n<\/li>\n<li>\n<p><strong>Train your team on one framework per week.<\/strong> Start with MECE (it&#8217;s the foundation). Next week, issue trees. Week 3, SCQA. Don&#8217;t try to teach all six at once \u2014 that&#8217;s the opposite of MECE. Each framework takes about 30 minutes to learn and a lifetime to master. The gap between a supply chain team that uses frameworks and one that doesn&#8217;t will compound every single week.<\/p>\n<\/li>\n<\/ol>\n<p>The full R code used to generate the visualizations in this post is available below.<\/p>\n<details>\n<summary><strong>Show R Code<\/strong><\/summary>\n<pre><code class=\"language-r\"># =============================================================================\n# McKinsey Consulting Frameworks for AI-Powered Supply Chain \u2014 Visualizations\n# =============================================================================\n# Generates all 5 charts for the &quot;McKinsey Frameworks Meet AI for Supply Chain&quot;\n# blog post. Filenames match Markdown references exactly.\n# Run with: Rscript generate_mcf_images.R\n#\n# Required packages: ggplot2, dplyr, tidyr, scales, patchwork\n# Output: Images\/mcf_*.png (800px wide, white background)\n# =============================================================================\n\nlibrary(ggplot2)\nlibrary(dplyr)\nlibrary(tidyr)\nlibrary(scales)\nlibrary(patchwork)\n\n# === Theme &amp; Color Palette ===================================================\n\ntheme_mcf &lt;- theme_minimal(base_size = 13) +\n  theme(\n    plot.title = element_text(face = &quot;bold&quot;, size = 14),\n    plot.subtitle = element_text(color = &quot;grey40&quot;, size = 11),\n    panel.grid.minor = element_blank(),\n    legend.position = &quot;bottom&quot;\n  )\n\ncol_blue   &lt;- &quot;#2980b9&quot;\ncol_red    &lt;- &quot;#e74c3c&quot;\ncol_green  &lt;- &quot;#27ae60&quot;\ncol_orange &lt;- &quot;#e67e22&quot;\ncol_purple &lt;- &quot;#8b5cf6&quot;\ncol_teal   &lt;- &quot;#0891b2&quot;\ncol_navy   &lt;- &quot;#1e3a5f&quot;\ncol_gold   &lt;- &quot;#d4a017&quot;\n\n# =============================================================================\n# CHART 1: Framework Impact \u2014 Dumbbell Chart\n# =============================================================================\n# Horizontal dumbbell chart showing the gap between unstructured and structured.\n\nimpact_wide &lt;- data.frame(\n  dimension = c(&quot;Executive\\nReadiness&quot;, &quot;Analytical\\nDepth&quot;,\n                &quot;Actionability&quot;, &quot;Completeness&quot;, &quot;Specificity&quot;),\n  unstructured = c(15, 20, 25, 30, 35),\n  structured   = c(82, 90, 80, 85, 88),\n  stringsAsFactors = FALSE\n)\n\n# Order by gap size (largest gap at top)\nimpact_wide &lt;- impact_wide %&gt;%\n  mutate(\n    gap = structured - unstructured,\n    pct_gain = paste0(&quot;+&quot;, round(gap \/ unstructured * 100), &quot;%&quot;),\n    dimension = factor(dimension, levels = dimension)\n  )\n\np1 &lt;- ggplot(impact_wide, aes(y = dimension)) +\n  # Connecting segment (the &quot;dumbbell bar&quot;)\n  geom_segment(aes(x = unstructured, xend = structured,\n                   yend = dimension),\n               color = &quot;grey75&quot;, linewidth = 2.5) +\n  # Unstructured dot (grey)\n  geom_point(aes(x = unstructured), size = 6, color = &quot;#b0b0b0&quot;) +\n  geom_text(aes(x = unstructured, label = unstructured),\n            size = 3, fontface = &quot;bold&quot;, color = &quot;white&quot;) +\n  # Structured dot (blue)\n  geom_point(aes(x = structured), size = 6, color = col_blue) +\n  geom_text(aes(x = structured, label = structured),\n            size = 3, fontface = &quot;bold&quot;, color = &quot;white&quot;) +\n  # Percentage gain label (right of blue dot)\n  geom_text(aes(x = structured + 3, label = pct_gain),\n            size = 3.5, fontface = &quot;bold&quot;, color = col_green, hjust = 0) +\n  # Legend dots at top\n  annotate(&quot;point&quot;, x = 15, y = 5.6, size = 4, color = &quot;#b0b0b0&quot;) +\n  annotate(&quot;text&quot;, x = 17, y = 5.6, label = &quot;Unstructured Prompt&quot;,\n           size = 3.3, color = &quot;grey40&quot;, hjust = 0) +\n  annotate(&quot;point&quot;, x = 48, y = 5.6, size = 4, color = col_blue) +\n  annotate(&quot;text&quot;, x = 50, y = 5.6, label = &quot;Framework-Structured Prompt&quot;,\n           size = 3.3, color = &quot;grey40&quot;, hjust = 0) +\n  scale_x_continuous(limits = c(0, 108), breaks = seq(0, 100, 25),\n                     expand = c(0, 0)) +\n  scale_y_discrete(expand = expansion(add = c(0.5, 1.2))) +\n  labs(\n    title = &quot;The Framework Effect: Structured vs. Unstructured AI Prompts&quot;,\n    subtitle = &quot;Quality scores (0-100) across five output dimensions \u2014 the gap is the opportunity&quot;,\n    x = &quot;Quality Score&quot;, y = NULL\n  ) +\n  theme_mcf +\n  theme(axis.text.y = element_text(face = &quot;bold&quot;, size = 11, lineheight = 0.85),\n        panel.grid.major.y = element_blank(),\n        legend.position = &quot;none&quot;)\n\nggsave(&quot;https:\/\/inphronesys.com\/wp-content\/uploads\/2026\/02\/mcf_framework_impact-2.png&quot;, p1,\n       width = 8, height = 5, dpi = 100, bg = &quot;white&quot;)\n\n# =============================================================================\n# CHART 2: Issue Tree \u2014 Why Are Logistics Costs Rising?\n# =============================================================================\n# Hierarchical tree with 3 branches, each with 3 leaf causes.\n\nissue_nodes &lt;- data.frame(\n  id = c(&quot;root&quot;,\n         &quot;transport&quot;, &quot;warehouse&quot;, &quot;inventory&quot;,\n         &quot;t1&quot;, &quot;t2&quot;, &quot;t3&quot;,\n         &quot;w1&quot;, &quot;w2&quot;, &quot;w3&quot;,\n         &quot;i1&quot;, &quot;i2&quot;, &quot;i3&quot;),\n  label = c(&quot;Why are logistics\\ncosts rising?&quot;,\n            &quot;Transportation&quot;, &quot;Warehousing&quot;, &quot;Inventory&quot;,\n            &quot;Fuel prices\\nup 18%&quot;, &quot;Route\\ninefficiency&quot;, &quot;Carrier\\nconsolidation&quot;,\n            &quot;Labor costs\\nup 12%&quot;, &quot;Space utilization\\nbelow 70%&quot;, &quot;Automation\\ngaps&quot;,\n            &quot;Safety stock\\ninflation&quot;, &quot;Obsolescence\\nwrite-offs&quot;, &quot;Demand\\nvariability&quot;),\n  x = c(0,\n        -4.5, 0, 4.5,\n        -6.2, -4.5, -2.8,\n        -1.5, 0, 1.5,\n        2.8, 4.5, 6.2),\n  y = c(3.0,\n        1.5, 1.5, 1.5,\n        0.1, -0.1, 0.1,\n        -0.1, 0.1, -0.1,\n        0.1, -0.1, 0.1),\n  level = c(0, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2),\n  branch = c(&quot;root&quot;,\n             &quot;transport&quot;, &quot;warehouse&quot;, &quot;inventory&quot;,\n             &quot;transport&quot;, &quot;transport&quot;, &quot;transport&quot;,\n             &quot;warehouse&quot;, &quot;warehouse&quot;, &quot;warehouse&quot;,\n             &quot;inventory&quot;, &quot;inventory&quot;, &quot;inventory&quot;),\n  stringsAsFactors = FALSE\n)\n\nissue_edges &lt;- data.frame(\n  from = c(&quot;root&quot;, &quot;root&quot;, &quot;root&quot;,\n           &quot;transport&quot;, &quot;transport&quot;, &quot;transport&quot;,\n           &quot;warehouse&quot;, &quot;warehouse&quot;, &quot;warehouse&quot;,\n           &quot;inventory&quot;, &quot;inventory&quot;, &quot;inventory&quot;),\n  to = c(&quot;transport&quot;, &quot;warehouse&quot;, &quot;inventory&quot;,\n         &quot;t1&quot;, &quot;t2&quot;, &quot;t3&quot;,\n         &quot;w1&quot;, &quot;w2&quot;, &quot;w3&quot;,\n         &quot;i1&quot;, &quot;i2&quot;, &quot;i3&quot;),\n  stringsAsFactors = FALSE\n)\n\nissue_edges_coords &lt;- issue_edges %&gt;%\n  left_join(issue_nodes %&gt;% select(id, x, y), by = c(&quot;from&quot; = &quot;id&quot;)) %&gt;%\n  rename(x_from = x, y_from = y) %&gt;%\n  left_join(issue_nodes %&gt;% select(id, x, y), by = c(&quot;to&quot; = &quot;id&quot;)) %&gt;%\n  rename(x_to = x, y_to = y)\n\nbranch_colors &lt;- c(&quot;root&quot; = col_navy, &quot;transport&quot; = col_red,\n                   &quot;warehouse&quot; = col_orange, &quot;inventory&quot; = col_teal)\n\n# Highlight top cost drivers\nissue_nodes$is_key &lt;- issue_nodes$id %in% c(&quot;t1&quot;, &quot;w1&quot;, &quot;i1&quot;)\n\np2 &lt;- ggplot() +\n  # Edges\n  geom_segment(data = issue_edges_coords,\n               aes(x = x_from, y = y_from - 0.35,\n                   xend = x_to, yend = y_to + 0.4),\n               color = &quot;grey60&quot;, linewidth = 0.6) +\n  # Regular nodes\n  geom_label(data = issue_nodes %&gt;% filter(!is_key),\n             aes(x = x, y = y, label = label, fill = branch),\n             color = &quot;white&quot;, fontface = &quot;bold&quot;, size = 2.5,\n             label.padding = unit(0.25, &quot;lines&quot;),\n             label.r = unit(0.2, &quot;lines&quot;), lineheight = 0.85,\n             show.legend = FALSE) +\n  # Key cost driver nodes\n  geom_label(data = issue_nodes %&gt;% filter(is_key),\n             aes(x = x, y = y, label = label, fill = branch),\n             color = &quot;white&quot;, fontface = &quot;bold&quot;, size = 2.5,\n             label.padding = unit(0.25, &quot;lines&quot;),\n             label.r = unit(0.2, &quot;lines&quot;), lineheight = 0.85,\n             show.legend = FALSE) +\n  # Star markers for top cost drivers\n  geom_point(data = issue_nodes %&gt;% filter(is_key),\n             aes(x = x, y = y + 0.48),\n             shape = 8, size = 2.5, color = col_gold, stroke = 1.5) +\n  # MECE annotation on left\n  annotate(&quot;segment&quot;, x = -7.3, xend = -7.3, y = 0.5, yend = -0.5,\n           color = &quot;grey50&quot;, linewidth = 0.4,\n           arrow = arrow(length = unit(0.1, &quot;cm&quot;), ends = &quot;both&quot;)) +\n  annotate(&quot;text&quot;, x = -7.6, y = 0, label = &quot;MECE&quot;, color = &quot;grey50&quot;,\n           size = 2.8, fontface = &quot;bold&quot;, angle = 90) +\n  # Legend\n  annotate(&quot;point&quot;, x = -6.5, y = 3.6, shape = 8, size = 2.5,\n           color = col_gold, stroke = 1.5) +\n  annotate(&quot;text&quot;, x = -6.1, y = 3.6,\n           label = &quot;= Top cost driver in each branch&quot;,\n           color = &quot;grey40&quot;, size = 2.8, hjust = 0) +\n  scale_fill_manual(values = branch_colors) +\n  coord_cartesian(xlim = c(-7.8, 7.3), ylim = c(-0.8, 4.1)) +\n  labs(\n    title = &quot;Issue Tree: Diagnosing Rising Logistics Costs&quot;,\n    subtitle = &quot;MECE decomposition \u2014 mutually exclusive, collectively exhaustive branches&quot;\n  ) +\n  theme_mcf +\n  theme(axis.text = element_blank(), axis.title = element_blank(),\n        panel.grid = element_blank(), legend.position = &quot;none&quot;)\n\nggsave(&quot;https:\/\/inphronesys.com\/wp-content\/uploads\/2026\/02\/mcf_issue_tree-2.png&quot;, p2,\n       width = 8, height = 5, dpi = 100, bg = &quot;white&quot;)\n\n# =============================================================================\n# CHART 3: Porter's Five Forces \u2014 Electronics Supply Chain Radar\n# =============================================================================\n# Single-polygon radar chart with 5 axes.\n\nporter_labels &lt;- c(&quot;Supplier\\nPower&quot;, &quot;Buyer\\nPower&quot;, &quot;Threat of\\nSubstitutes&quot;,\n                    &quot;Threat of\\nNew Entrants&quot;, &quot;Competitive\\nRivalry&quot;)\nporter_scores &lt;- c(75, 60, 40, 30, 85)\nn_axes &lt;- length(porter_labels)\nangles &lt;- seq(pi\/2, pi\/2 - 2*pi, length.out = n_axes + 1)[1:n_axes]\n\npolar_to_xy &lt;- function(angle, radius) {\n  data.frame(x = radius * cos(angle), y = radius * sin(angle))\n}\n\n# Polygon data\npoly_pts &lt;- polar_to_xy(angles, porter_scores \/ 100)\npoly_pts &lt;- rbind(poly_pts, poly_pts[1, ])\n\n# Score points\nscore_pts &lt;- polar_to_xy(angles, porter_scores \/ 100)\nscore_pts$score &lt;- porter_scores\nscore_pts$label &lt;- porter_labels\n\n# Threat level coloring for each axis\nscore_pts$threat &lt;- ifelse(porter_scores &gt;= 70, &quot;High&quot;,\n                    ifelse(porter_scores &gt;= 50, &quot;Medium&quot;, &quot;Low&quot;))\nthreat_colors &lt;- c(&quot;High&quot; = col_red, &quot;Medium&quot; = col_orange, &quot;Low&quot; = col_green)\n\n# Grid\ngrid_circles &lt;- do.call(rbind, lapply(c(20, 40, 60, 80, 100), function(r) {\n  theta &lt;- seq(0, 2*pi, length.out = 100)\n  data.frame(x = (r\/100)*cos(theta), y = (r\/100)*sin(theta), r = r)\n}))\n\n# Spokes\nspoke_data &lt;- data.frame(\n  x = 0, y = 0,\n  xend = cos(angles) * 1.05, yend = sin(angles) * 1.05\n)\n\n# Axis labels\nlabel_data &lt;- data.frame(\n  x = 1.22 * cos(angles), y = 1.22 * sin(angles), label = porter_labels\n)\n\n# Score labels (near each point, nudged inward toward center)\nscore_pts$lx &lt;- score_pts$x - 0.12 * cos(angles)\nscore_pts$ly &lt;- score_pts$y - 0.12 * sin(angles)\n\np3 &lt;- ggplot() +\n  # Grid circles\n  geom_path(data = grid_circles, aes(x = x, y = y, group = r),\n            color = &quot;grey85&quot;, linewidth = 0.3) +\n  # Spokes\n  geom_segment(data = spoke_data, aes(x = x, y = y, xend = xend, yend = yend),\n               color = &quot;grey85&quot;, linewidth = 0.3) +\n  # Filled polygon\n  geom_polygon(data = poly_pts, aes(x = x, y = y),\n               fill = col_blue, alpha = 0.15, color = NA) +\n  # Polygon outline\n  geom_path(data = poly_pts, aes(x = x, y = y),\n            color = col_blue, linewidth = 1.3) +\n  # Score points with threat-level colors\n  geom_point(data = score_pts, aes(x = x, y = y, color = threat), size = 5) +\n  # Score labels\n  geom_text(data = score_pts, aes(x = lx, y = ly, label = score),\n            size = 3.5, fontface = &quot;bold&quot;, color = &quot;grey30&quot;) +\n  # Axis labels\n  geom_text(data = label_data, aes(x = x, y = y, label = label),\n            size = 3.8, fontface = &quot;bold&quot;, color = &quot;grey30&quot;, lineheight = 0.85) +\n  # Grid value labels\n  annotate(&quot;text&quot;, x = 0.03, y = c(0.20, 0.40, 0.60, 0.80, 1.00) + 0.04,\n           label = c(&quot;20&quot;, &quot;40&quot;, &quot;60&quot;, &quot;80&quot;, &quot;100&quot;),\n           size = 2.3, color = &quot;grey60&quot;) +\n  # Threat-level legend\n  scale_color_manual(values = threat_colors, name = &quot;Threat Level&quot;) +\n  coord_fixed(xlim = c(-1.5, 1.5), ylim = c(-1.4, 1.4)) +\n  labs(\n    title = &quot;Porter's Five Forces: Electronics Supply Chain&quot;,\n    subtitle = &quot;Force intensity scores (0-100) \u2014 higher means stronger competitive pressure&quot;\n  ) +\n  theme_mcf +\n  theme(axis.text = element_blank(), axis.title = element_blank(),\n        axis.ticks = element_blank(), panel.grid = element_blank(),\n        legend.text = element_text(size = 10))\n\nggsave(&quot;https:\/\/inphronesys.com\/wp-content\/uploads\/2026\/02\/mcf_porter_radar-2.png&quot;, p3,\n       width = 8, height = 5, dpi = 100, bg = &quot;white&quot;)\n\n# =============================================================================\n# CHART 4: MECE Waterfall \u2014 Procurement Cost Decomposition\n# =============================================================================\n# Waterfall chart showing total $10M broken into MECE cost categories.\n\nwaterfall_data &lt;- data.frame(\n  category = c(&quot;Total\\nProcurement&quot;, &quot;Direct\\nMaterial&quot;, &quot;Logistics &amp;\\nFreight&quot;,\n               &quot;Quality &amp;\\nCompliance&quot;, &quot;Transaction\\n&amp; Admin&quot;, &quot;Inventory\\nCarrying&quot;),\n  amount = c(10.0, 6.2, 1.8, 0.9, 0.7, 0.4),\n  stringsAsFactors = FALSE\n)\n\nwaterfall_data$category &lt;- factor(waterfall_data$category,\n  levels = waterfall_data$category)\n\n# Calculate waterfall positions\nwaterfall_data &lt;- waterfall_data %&gt;%\n  mutate(\n    is_total = row_number() == 1,\n    end = ifelse(is_total, amount, cumsum(amount[-1])),\n    start = ifelse(is_total, 0, lag(end, default = 0))\n  )\n\n# Recalculate properly for waterfall\nwaterfall_data$end[1] &lt;- 10.0\nwaterfall_data$start[1] &lt;- 0\nrunning &lt;- 0\nfor (i in 2:nrow(waterfall_data)) {\n  waterfall_data$start[i] &lt;- running\n  waterfall_data$end[i] &lt;- running + waterfall_data$amount[i]\n  running &lt;- waterfall_data$end[i]\n}\n\n# Color: total bar in dark, components in gradient\nwaterfall_data$bar_color &lt;- c(col_navy, col_blue, col_teal, col_orange, col_purple, col_green)\n\n# Percentage of total\nwaterfall_data$pct &lt;- paste0(waterfall_data$amount \/ 10 * 100, &quot;%&quot;)\nwaterfall_data$pct[1] &lt;- &quot;&quot;  # No percentage on total\n\np4 &lt;- ggplot(waterfall_data) +\n  # Connector lines between bars\n  geom_segment(data = waterfall_data %&gt;% filter(!is_total) %&gt;% mutate(prev_end = lag(end)),\n               aes(x = as.numeric(category) - 1.35, xend = as.numeric(category) - 0.65,\n                   y = start, yend = start),\n               color = &quot;grey70&quot;, linewidth = 0.4, linetype = &quot;dotted&quot;,\n               na.rm = TRUE) +\n  # Bars\n  geom_rect(aes(xmin = as.numeric(category) - 0.35,\n                xmax = as.numeric(category) + 0.35,\n                ymin = start, ymax = end, fill = category),\n            color = &quot;white&quot;, linewidth = 0.5) +\n  # Amount labels on bars\n  geom_text(aes(x = as.numeric(category),\n                y = (start + end) \/ 2,\n                label = paste0(&quot;$&quot;, amount, &quot;M&quot;)),\n            color = &quot;white&quot;, fontface = &quot;bold&quot;, size = 3.8) +\n  # Percentage labels above bars (for components only)\n  geom_text(data = waterfall_data %&gt;% filter(!is_total),\n            aes(x = as.numeric(category), y = end + 0.25,\n                label = pct),\n            color = &quot;grey40&quot;, size = 3.2, fontface = &quot;italic&quot;) +\n  # MECE annotation bracket\n  annotate(&quot;segment&quot;, x = 1.6, xend = 6.4, y = -0.4, yend = -0.4,\n           color = col_navy, linewidth = 0.6) +\n  annotate(&quot;segment&quot;, x = 1.6, xend = 1.6, y = -0.3, yend = -0.5,\n           color = col_navy, linewidth = 0.6) +\n  annotate(&quot;segment&quot;, x = 6.4, xend = 6.4, y = -0.3, yend = -0.5,\n           color = col_navy, linewidth = 0.6) +\n  annotate(&quot;text&quot;, x = 4, y = -0.7,\n           label = &quot;MECE: No overlaps, no gaps \u2014 every dollar accounted for&quot;,\n           color = col_navy, size = 3.3, fontface = &quot;bold&quot;) +\n  scale_fill_manual(values = setNames(waterfall_data$bar_color,\n                                       waterfall_data$category)) +\n  scale_x_continuous(\n    breaks = seq_along(waterfall_data$category),\n    labels = as.character(waterfall_data$category)\n  ) +\n  scale_y_continuous(labels = dollar_format(suffix = &quot;M&quot;),\n                     limits = c(-1.0, 11.5), expand = c(0, 0)) +\n  labs(\n    title = &quot;MECE Cost Decomposition: Where Does Procurement Spend Go?&quot;,\n    subtitle = &quot;Total procurement cost broken into mutually exclusive, collectively exhaustive categories&quot;,\n    x = NULL, y = &quot;Cost ($M)&quot;\n  ) +\n  theme_mcf +\n  theme(legend.position = &quot;none&quot;,\n        axis.text.x = element_text(face = &quot;bold&quot;, size = 10, lineheight = 0.85),\n        panel.grid.major.x = element_blank())\n\nggsave(&quot;https:\/\/inphronesys.com\/wp-content\/uploads\/2026\/02\/mcf_mece_waterfall-2.png&quot;, p4,\n       width = 8, height = 5, dpi = 100, bg = &quot;white&quot;)\n\n# =============================================================================\n# CHART 5: Framework Selection Guide \u2014 Heatmap\n# =============================================================================\n# Heatmap showing suitability of 6 frameworks across 5 problem types.\n\nfw_names &lt;- c(&quot;SIPOC&quot;, &quot;Value Chain&quot;, &quot;SCQA&quot;, &quot;Porter's Five Forces&quot;,\n              &quot;Issue Trees&quot;, &quot;MECE&quot;)\nproblem_types &lt;- c(&quot;Cost\\nReduction&quot;, &quot;Supplier\\nEvaluation&quot;,\n                    &quot;Process\\nImprovement&quot;, &quot;Strategy&quot;, &quot;Root Cause\\nAnalysis&quot;)\n\n# Suitability scores (1 = Low, 2 = Medium, 3 = High)\n# Rows: frameworks (in fw_names order), Cols: problem types\nscores_matrix &lt;- matrix(c(\n  # CostRed  SupEval  ProcImp  Strategy  RootCause\n  1,       2,       3,       1,        2,    # SIPOC\n  3,       2,       2,       3,        1,    # Value Chain\n  2,       2,       1,       3,        2,    # SCQA\n  1,       3,       1,       3,        1,    # Porter's Five Forces\n  2,       1,       2,       2,        3,    # Issue Trees\n  3,       2,       3,       2,        3     # MECE\n), nrow = 6, byrow = TRUE)\n\nheatmap_data &lt;- expand.grid(\n  framework = fw_names,\n  problem = problem_types,\n  stringsAsFactors = FALSE\n)\nheatmap_data$score &lt;- as.vector(scores_matrix)\nheatmap_data$suit_label &lt;- c(&quot;Low&quot;, &quot;Medium&quot;, &quot;High&quot;)[heatmap_data$score]\n\nheatmap_data$framework &lt;- factor(heatmap_data$framework, levels = fw_names)\nheatmap_data$problem &lt;- factor(heatmap_data$problem, levels = problem_types)\n\n# Color scale\nsuit_colors &lt;- c(&quot;1&quot; = &quot;#f5c6c6&quot;, &quot;2&quot; = &quot;#fde8c8&quot;, &quot;3&quot; = &quot;#c8e6c9&quot;)\n\np5 &lt;- ggplot(heatmap_data, aes(x = problem, y = framework)) +\n  geom_tile(aes(fill = factor(score)), color = &quot;white&quot;, linewidth = 1.5) +\n  geom_text(aes(label = suit_label),\n            size = 4, fontface = &quot;bold&quot;,\n            color = ifelse(heatmap_data$score == 3, col_green,\n                    ifelse(heatmap_data$score == 2, col_orange, col_red))) +\n  scale_fill_manual(values = suit_colors,\n                    labels = c(&quot;1&quot; = &quot;Low&quot;, &quot;2&quot; = &quot;Medium&quot;, &quot;3&quot; = &quot;High&quot;),\n                    name = &quot;Suitability&quot;) +\n  labs(\n    title = &quot;Framework Selection Guide for Supply Chain Problems&quot;,\n    subtitle = &quot;Match the right consulting framework to the problem type for better AI prompts&quot;,\n    x = NULL, y = NULL\n  ) +\n  theme_mcf +\n  theme(axis.text.x = element_text(face = &quot;bold&quot;, size = 11, lineheight = 0.85),\n        axis.text.y = element_text(face = &quot;bold&quot;, size = 11),\n        panel.grid = element_blank(),\n        legend.position = &quot;right&quot;,\n        legend.text = element_text(size = 10))\n\nggsave(&quot;https:\/\/inphronesys.com\/wp-content\/uploads\/2026\/02\/mcf_framework_selection-2.png&quot;, p5,\n       width = 8, height = 5, dpi = 100, bg = &quot;white&quot;)\n\n# =============================================================================\n# DONE \u2014 All 5 charts generated in Images\/\n# =============================================================================\n<\/code><\/pre>\n<\/details>\n<h2>References<\/h2>\n<ol>\n<li>Minto, B. (2009). <em>The Pyramid Principle: Logic in Writing and Thinking<\/em>. 3rd ed. Prentice Hall. (The foundational text on SCQA and structured communication, developed at McKinsey.)<\/li>\n<li>Porter, M.E. (1985). <em>Competitive Advantage: Creating and Sustaining Superior Performance<\/em>. Free Press. (Introduces Value Chain Analysis and elaborates on the Five Forces framework.)<\/li>\n<li>Porter, M.E. (1979). &quot;How Competitive Forces Shape Strategy.&quot; <em>Harvard Business Review<\/em>, 57(2), 137-145. (The original Five Forces article.)<\/li>\n<li>Rasiel, E.M. (1999). <em>The McKinsey Way<\/em>. McGraw-Hill. (Practical guide to MECE, issue trees, and structured problem-solving at McKinsey.)<\/li>\n<li>Harry, M.J. &amp; Schroeder, R. (2000). <em>Six Sigma: The Breakthrough Management Strategy<\/em>. Currency Doubleday. (Comprehensive treatment of SIPOC and Six Sigma process mapping.)<\/li>\n<li>Pyzdek, T. &amp; Keller, P. (2014). <em>The Six Sigma Handbook<\/em>. 4th ed. McGraw-Hill. (Detailed SIPOC methodology with manufacturing and supply chain examples.)<\/li>\n<li>Chopra, S. &amp; Meindl, P. (2019). <em>Supply Chain Management: Strategy, Planning, and Operation<\/em>. 7th ed. Pearson. (Supply chain value chain analysis and strategic frameworks.)<\/li>\n<li>Christopher, M. (2016). <em>Logistics &amp; Supply Chain Management<\/em>. 5th ed. Pearson. (Value chain perspective on logistics and supply chain optimization.)<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>Most supply chain managers ask AI vague questions and get vague answers. McKinsey consultants have spent 100 years perfecting structured thinking frameworks \u2014 and those same frameworks transform AI prompts from mediocre to boardroom-ready. Here are 6 frameworks, 12 before\/after examples, and the data to prove it.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[139,115],"tags":[168,174,170,167,169,171,157,175,177,173,172,176],"class_list":["post-1222","post","type-post","status-publish","format-standard","hentry","category-artificial-intelligence","category-supply-chain-management","tag-ai-prompting","tag-consulting-frameworks","tag-issue-trees","tag-mckinsey-frameworks","tag-mece","tag-porter-five-forces","tag-prompt-engineering-2","tag-scqa","tag-sipoc","tag-structured-prompting","tag-supply-chain-strategy","tag-value-chain-analysis"],"_links":{"self":[{"href":"https:\/\/inphronesys.com\/index.php?rest_route=\/wp\/v2\/posts\/1222","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/inphronesys.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/inphronesys.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/inphronesys.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/inphronesys.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1222"}],"version-history":[{"count":1,"href":"https:\/\/inphronesys.com\/index.php?rest_route=\/wp\/v2\/posts\/1222\/revisions"}],"predecessor-version":[{"id":1223,"href":"https:\/\/inphronesys.com\/index.php?rest_route=\/wp\/v2\/posts\/1222\/revisions\/1223"}],"wp:attachment":[{"href":"https:\/\/inphronesys.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1222"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/inphronesys.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1222"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/inphronesys.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1222"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}