{
  "id": "perfect-competition-long-run",
  "name": "Perfect competition: long-run adjustment",
  "unit": "micro",
  "unitName": "Unit 2 · Microeconomics",
  "topic": "Perfect competition (HL)",
  "hl": true,
  "description": "Abnormal profit attracts entry (losses cause exit), shifting industry supply until price returns to minimum ATC and every firm earns normal profit.",
  "keywords": [
    "long run equilibrium",
    "entry",
    "exit",
    "normal profit",
    "barriers to entry",
    "productive efficiency",
    "allocative efficiency"
  ],
  "schemaUrl": "https://graphs.lectere.com/api/v1/templates/perfect-competition-long-run",
  "previewUrl": "https://graphs.lectere.com/thumbs/perfect-competition-long-run.svg",
  "editorUrl": "https://graphs.lectere.com/graph/perfect-competition-long-run/",
  "params": [
    {
      "key": "dir",
      "label": "Starting point",
      "default": "entry",
      "type": "enum",
      "options": [
        {
          "value": "entry",
          "label": "Abnormal profit → entry"
        },
        {
          "value": "exit",
          "label": "Loss → exit"
        }
      ]
    },
    {
      "key": "shade",
      "label": "Shade initial profit / loss",
      "default": true,
      "type": "boolean"
    },
    {
      "key": "avc",
      "label": "Show AVC",
      "default": false,
      "type": "boolean"
    }
  ],
  "defaults": {
    "dir": "entry",
    "shade": true,
    "avc": false
  },
  "panels": [
    {
      "id": "industry",
      "title": "Industry",
      "xLabel": "Quantity",
      "yLabel": "Price",
      "xRange": [
        0,
        10
      ],
      "yRange": [
        0,
        10
      ],
      "axisKeys": {
        "x": "industry:x",
        "y": "industry:y"
      }
    },
    {
      "id": "firm",
      "title": "Firm",
      "xLabel": "Output",
      "yLabel": "Costs, revenue",
      "xRange": [
        0,
        10
      ],
      "yRange": [
        0,
        10
      ],
      "axisKeys": {
        "x": "firm:x",
        "y": "firm:y"
      }
    }
  ],
  "labels": [
    {
      "key": "industry:title",
      "default": "Industry",
      "hint": "Panel title",
      "panel": "industry"
    },
    {
      "key": "industry:y",
      "default": "Price",
      "hint": "Vertical axis",
      "panel": "industry"
    },
    {
      "key": "industry:x",
      "default": "Quantity",
      "hint": "Horizontal axis",
      "panel": "industry"
    },
    {
      "key": "industry.d",
      "default": "D",
      "hint": "Curve",
      "panel": "industry"
    },
    {
      "key": "industry.s1",
      "default": "S_1",
      "hint": "Curve",
      "panel": "industry"
    },
    {
      "key": "industry.s2",
      "default": "S_2",
      "hint": "Curve",
      "panel": "industry"
    },
    {
      "key": "industry.e1:y",
      "default": "P_1",
      "hint": "Vertical-axis value",
      "panel": "industry"
    },
    {
      "key": "industry.e1:x",
      "default": "Q_1",
      "hint": "Horizontal-axis value",
      "panel": "industry"
    },
    {
      "key": "industry.e2:y",
      "default": "P_2",
      "hint": "Vertical-axis value",
      "panel": "industry"
    },
    {
      "key": "industry.e2:x",
      "default": "Q_2",
      "hint": "Horizontal-axis value",
      "panel": "industry"
    },
    {
      "key": "firm:title",
      "default": "Firm",
      "hint": "Panel title",
      "panel": "firm"
    },
    {
      "key": "firm:y",
      "default": "Costs, revenue",
      "hint": "Vertical axis",
      "panel": "firm"
    },
    {
      "key": "firm:x",
      "default": "Output",
      "hint": "Horizontal axis",
      "panel": "firm"
    },
    {
      "key": "firm.mr1",
      "default": "MR_1\n= AR_1",
      "hint": "Curve",
      "panel": "firm"
    },
    {
      "key": "firm.mr2",
      "default": "MR_2\n= AR_2",
      "hint": "Curve",
      "panel": "firm"
    },
    {
      "key": "firm.atc",
      "default": "ATC",
      "hint": "Curve",
      "panel": "firm"
    },
    {
      "key": "firm.mc",
      "default": "MC",
      "hint": "Curve",
      "panel": "firm"
    },
    {
      "key": "firm.p1",
      "default": "P_1",
      "hint": "Axis mark",
      "panel": "firm"
    },
    {
      "key": "firm.p2",
      "default": "P_2",
      "hint": "Axis mark",
      "panel": "firm"
    },
    {
      "key": "firm.q1:x",
      "default": "q_1",
      "hint": "Horizontal-axis value",
      "panel": "firm"
    },
    {
      "key": "firm.q2:x",
      "default": "q_2",
      "hint": "Horizontal-axis value",
      "panel": "firm"
    }
  ],
  "elements": [
    {
      "key": "industry.d",
      "kind": "curve",
      "label": "D"
    },
    {
      "key": "industry.s1",
      "kind": "curve",
      "label": "S_1"
    },
    {
      "key": "industry.s2",
      "kind": "curve",
      "label": "S_2"
    },
    {
      "key": "industry.shift",
      "kind": "line"
    },
    {
      "key": "industry.e1",
      "kind": "point"
    },
    {
      "key": "industry.e2",
      "kind": "point"
    },
    {
      "key": "firm.profit",
      "kind": "area"
    },
    {
      "key": "firm.mr1",
      "kind": "curve",
      "label": "MR_1\n= AR_1"
    },
    {
      "key": "firm.mr2",
      "kind": "curve",
      "label": "MR_2\n= AR_2"
    },
    {
      "key": "firm.atc",
      "kind": "curve",
      "label": "ATC"
    },
    {
      "key": "firm.mc",
      "kind": "curve",
      "label": "MC"
    },
    {
      "key": "firm.p1",
      "kind": "tick",
      "label": "P_1"
    },
    {
      "key": "firm.p2",
      "kind": "tick",
      "label": "P_2"
    },
    {
      "key": "firm.q1",
      "kind": "point"
    },
    {
      "key": "firm.q2",
      "kind": "point"
    }
  ],
  "stats": null,
  "example": {
    "template": "perfect-competition-long-run",
    "params": {
      "dir": "entry",
      "shade": true,
      "avc": false
    }
  }
}