{
  "id": "kinked-demand",
  "name": "Kinked demand curve (oligopoly)",
  "unit": "micro",
  "unitName": "Unit 2 · Microeconomics",
  "topic": "Imperfect competition (HL)",
  "hl": true,
  "description": "Rivals match price cuts but ignore price rises, so demand is elastic above the current price and inelastic below it. The kink creates a gap in MR, so MC can change within the gap without changing price or output (price rigidity).",
  "keywords": [
    "kinked demand curve",
    "oligopoly",
    "non-collusive",
    "price rigidity",
    "sticky prices",
    "interdependence",
    "MR discontinuity"
  ],
  "schemaUrl": "https://graphs.lectere.com/api/v1/templates/kinked-demand",
  "previewUrl": "https://graphs.lectere.com/thumbs/kinked-demand.svg",
  "editorUrl": "https://graphs.lectere.com/graph/kinked-demand/",
  "params": [
    {
      "key": "mc2",
      "label": "Show a second MC curve within the gap",
      "default": true,
      "type": "boolean"
    },
    {
      "key": "ext",
      "label": "Show the “matched” and “unmatched” demand curves",
      "default": false,
      "type": "boolean"
    },
    {
      "key": "notes",
      "label": "Annotate rivals’ reactions",
      "default": true,
      "type": "boolean"
    }
  ],
  "defaults": {
    "mc2": true,
    "ext": false,
    "notes": true
  },
  "panels": [
    {
      "id": "main",
      "title": null,
      "xLabel": "Output",
      "yLabel": "Costs, revenue",
      "xRange": [
        0,
        10
      ],
      "yRange": [
        0,
        10
      ],
      "axisKeys": {
        "x": "main:x",
        "y": "main:y"
      }
    }
  ],
  "labels": [
    {
      "key": "main:y",
      "default": "Costs, revenue",
      "hint": "Vertical axis",
      "panel": "main"
    },
    {
      "key": "main:x",
      "default": "Output",
      "hint": "Horizontal axis",
      "panel": "main"
    },
    {
      "key": "main.ar",
      "default": "D = AR",
      "hint": "Curve",
      "panel": "main"
    },
    {
      "key": "main.mrLo",
      "default": "MR",
      "hint": "Curve",
      "panel": "main"
    },
    {
      "key": "main.mc1",
      "default": "MC_1",
      "hint": "Curve",
      "panel": "main"
    },
    {
      "key": "main.mc2",
      "default": "MC_2",
      "hint": "Curve",
      "panel": "main"
    },
    {
      "key": "main.k:y",
      "default": "P_e",
      "hint": "Vertical-axis value",
      "panel": "main"
    },
    {
      "key": "main.k:x",
      "default": "Q_e",
      "hint": "Horizontal-axis value",
      "panel": "main"
    },
    {
      "key": "main.above",
      "default": "price rise not matched:\nelastic demand",
      "hint": "Text",
      "panel": "main"
    },
    {
      "key": "main.below",
      "default": "price cut matched:\ninelastic demand",
      "hint": "Text",
      "panel": "main"
    }
  ],
  "elements": [
    {
      "key": "main.ar",
      "kind": "curve",
      "label": "D = AR"
    },
    {
      "key": "main.mrUp",
      "kind": "curve"
    },
    {
      "key": "main.gap",
      "kind": "line"
    },
    {
      "key": "main.mrLo",
      "kind": "curve",
      "label": "MR"
    },
    {
      "key": "main.mc1",
      "kind": "curve",
      "label": "MC_1"
    },
    {
      "key": "main.mc2",
      "kind": "curve",
      "label": "MC_2"
    },
    {
      "key": "main.k",
      "kind": "point"
    },
    {
      "key": "main.above",
      "kind": "text",
      "label": "price rise not matched:\nelastic demand"
    },
    {
      "key": "main.below",
      "kind": "text",
      "label": "price cut matched:\ninelastic demand"
    }
  ],
  "stats": null,
  "example": {
    "template": "kinked-demand",
    "params": {
      "mc2": true,
      "ext": false,
      "notes": true
    }
  }
}