{
  "version": "xarts.coordinate-marks/1",
  "family": "coordinate-marks",
  "provenance": {
    "legacyId": "gemckinsey"
  },
  "document": {
    "header": {
      "title": "Portfolio Strategy",
      "subtitle": "GE-McKinsey matrix — industry attractiveness vs competitive strength"
    },
    "footer": {
      "source": "xarts · demo data",
      "notes": "Illustrative data to explore the chart and replace with your own."
    },
    "spacing": {
      "horizontalPadding": 32,
      "topPadding": 24,
      "bottomPadding": 24,
      "minimumTextGap": 6
    }
  },
  "presentation": {
    "theme": "anlak",
    "dimensions": {
      "width": 1200,
      "height": 760
    },
    "locale": "en-US",
    "fonts": "reference",
    "surface": "theme",
    "framePadding": 24
  },
  "output": {
    "filename": "gemckinsey",
    "embedSpec": true,
    "geometryDecimals": 2
  },
  "annotations": [],
  "operation": "classified-observations",
  "data": {
    "rows": [
      {
        "id": "1",
        "label": "Cloud Infrastructure",
        "x": 3,
        "y": 3,
        "size": 480,
        "providedClass": "Invest/Grow",
        "providedXLabel": "Strong",
        "providedYLabel": "High"
      },
      {
        "id": "2",
        "label": "AI & ML",
        "x": 2,
        "y": 3,
        "size": 220,
        "providedClass": "Invest/Grow",
        "providedXLabel": "Medium",
        "providedYLabel": "High"
      },
      {
        "id": "3",
        "label": "Enterprise SaaS",
        "x": 3,
        "y": 2,
        "size": 390,
        "providedClass": "Invest/Grow",
        "providedXLabel": "Strong",
        "providedYLabel": "Medium"
      },
      {
        "id": "4",
        "label": "Consumer Apps",
        "x": 2,
        "y": 2,
        "size": 310,
        "providedClass": "Selective",
        "providedXLabel": "Medium",
        "providedYLabel": "Medium"
      },
      {
        "id": "5",
        "label": "Legacy Hosting",
        "x": 2,
        "y": 1,
        "size": 150,
        "providedClass": "Harvest/Divest",
        "providedXLabel": "Medium",
        "providedYLabel": "Low"
      },
      {
        "id": "6",
        "label": "Hardware",
        "x": 1,
        "y": 1,
        "size": 180,
        "providedClass": "Harvest/Divest",
        "providedXLabel": "Weak",
        "providedYLabel": "Low"
      },
      {
        "id": "7",
        "label": "Cybersecurity",
        "x": 1,
        "y": 3,
        "size": 120,
        "providedClass": "Selective",
        "providedXLabel": "Weak",
        "providedYLabel": "High"
      },
      {
        "id": "8",
        "label": "Data Analytics",
        "x": 1,
        "y": 2,
        "size": 95,
        "providedClass": "Harvest/Divest",
        "providedXLabel": "Weak",
        "providedYLabel": "Medium"
      }
    ]
  },
  "encoding": {
    "units": {
      "x": {
        "label": "Competitive Strength",
        "unit": "ordinal-level"
      },
      "y": {
        "label": "Industry Attractiveness",
        "unit": "ordinal-level"
      },
      "size": {
        "label": "Revenue ($M)",
        "unit": "USD-millions"
      }
    }
  },
  "calculation": {
    "x": {
      "kind": "ordinal",
      "levels": [
        {
          "value": 1,
          "label": "Weak"
        },
        {
          "value": 2,
          "label": "Medium"
        },
        {
          "value": 3,
          "label": "Strong"
        }
      ],
      "order": [
        3,
        2,
        1
      ]
    },
    "y": {
      "kind": "ordinal",
      "levels": [
        {
          "value": 1,
          "label": "Low"
        },
        {
          "value": 2,
          "label": "Medium"
        },
        {
          "value": 3,
          "label": "High"
        }
      ],
      "order": [
        3,
        2,
        1
      ]
    },
    "size": {
      "mapping": "sqrt-interpolated",
      "domain": {
        "source": "provided",
        "values": [
          60,
          500
        ]
      },
      "radiusRange": [
        10,
        36
      ]
    },
    "cells": [
      {
        "id": "0-0",
        "xBand": 0,
        "yBand": 0,
        "label": "Harvest/Divest",
        "displayLabel": "Harvest/Divest",
        "alphaSuffix": "",
        "fill": "red",
        "markFill": "red"
      },
      {
        "id": "0-1",
        "xBand": 0,
        "yBand": 1,
        "label": "Harvest/Divest",
        "displayLabel": "Harvest/Divest",
        "alphaSuffix": "",
        "fill": "red",
        "markFill": "red"
      },
      {
        "id": "0-2",
        "xBand": 0,
        "yBand": 2,
        "label": "Selective",
        "displayLabel": "Selective",
        "alphaSuffix": "",
        "fill": "amber",
        "markFill": "amber"
      },
      {
        "id": "1-0",
        "xBand": 1,
        "yBand": 0,
        "label": "Harvest/Divest",
        "displayLabel": "Harvest/Divest",
        "alphaSuffix": "",
        "fill": "red",
        "markFill": "red"
      },
      {
        "id": "1-1",
        "xBand": 1,
        "yBand": 1,
        "label": "Selective",
        "displayLabel": "Selective",
        "alphaSuffix": "",
        "fill": "amber",
        "markFill": "amber"
      },
      {
        "id": "1-2",
        "xBand": 1,
        "yBand": 2,
        "label": "Invest/Grow",
        "displayLabel": "Invest/Grow",
        "alphaSuffix": "",
        "fill": "emerald",
        "markFill": "emerald"
      },
      {
        "id": "2-0",
        "xBand": 2,
        "yBand": 0,
        "label": "Selective",
        "displayLabel": "Selective",
        "alphaSuffix": "",
        "fill": "amber",
        "markFill": "amber"
      },
      {
        "id": "2-1",
        "xBand": 2,
        "yBand": 1,
        "label": "Invest/Grow",
        "displayLabel": "Invest/Grow",
        "alphaSuffix": "",
        "fill": "emerald",
        "markFill": "emerald"
      },
      {
        "id": "2-2",
        "xBand": 2,
        "yBand": 2,
        "label": "Invest/Grow",
        "displayLabel": "Invest/Grow",
        "alphaSuffix": "",
        "fill": "emerald",
        "markFill": "emerald"
      }
    ]
  },
  "profile": {
    "placement": {
      "mode": "measured",
      "maxWidth": 180,
      "maxLines": 5,
      "lineHeight": 1.35,
      "gap": 10,
      "edge": 10,
      "gridStep": 10,
      "guideWidth": 0.75,
      "guideColor": "textMuted"
    },
    "margin": {
      "top": 40,
      "right": 64,
      "bottom": 96,
      "left": 128
    },
    "frame": "matrix",
    "measureY": false,
    "reserveDomainRadius": false,
    "axis": {
      "xTitle": "Competitive Strength →",
      "yTitle": "Industry Attractiveness →",
      "ticksX": 10,
      "ticksY": 10,
      "measurementNumbers": null,
      "formatX": "number",
      "formatY": "number",
      "grid": false,
      "colTitleOffset": 40,
      "rowTitleOffset": -104,
      "tick": {
        "fontSize": 13,
        "fontWeight": 500,
        "fill": "textSecondary"
      },
      "title": {
        "fontSize": 13,
        "fontWeight": 600,
        "fill": "textSecondary"
      }
    },
    "cell": {
      "padding": 0.04,
      "opacity": 0.1,
      "stroke": "border",
      "strokeWidth": 1,
      "radius": 2,
      "label": {
        "fontSize": 13,
        "fontWeight": 600,
        "fill": "textSecondary"
      },
      "labelMode": "top-band",
      "labelBandExtra": 6,
      "labelInsets": {
        "left": 12,
        "right": 12,
        "top": 20,
        "bottom": 12
      }
    },
    "midline": {
      "stroke": "textMuted",
      "width": 1,
      "dash": "4 3",
      "opacity": 0.4
    },
    "marks": {
      "opacity": 0.85,
      "opacityAttribute": "opacity",
      "stroke": "surface",
      "strokeWidth": 2,
      "fill": null,
      "hoverRadius": 0,
      "hoverStrokeWidth": 3,
      "radiusFit": "cell-range",
      "minimumClampedRadius": 0
    },
    "labels": {
      "ink": {
        "fontSize": 13,
        "fontWeight": null,
        "fill": "textPrimary"
      },
      "exportMeasurement": "glyph-advances",
      "placement": "cell-bands",
      "gap": 3,
      "nameBandExtra": 4,
      "group": true,
      "guides": {
        "width": 0.5,
        "opacity": 0.4
      },
      "layer": "content"
    },
    "legend": {
      "visible": false,
      "height": 36,
      "items": [],
      "step": 124,
      "dotSize": 10,
      "ink": {
        "fontSize": 13,
        "fontWeight": null,
        "fill": "textSecondary"
      },
      "opacity": 0.6
    }
  }
}
