{
  "id": "profit-maximisation",
  "name": "Profit maximisation (MC = MR)",
  "unit": "micro",
  "unitName": "Unit 2 · Microeconomics",
  "topic": "Costs & revenues (HL)",
  "hl": true,
  "description": "A firm maximises profit at the output where marginal cost equals marginal revenue (with MC rising). Below that output MR > MC, so producing more adds to profit; above it MC > MR.",
  "keywords": [
    "profit maximisation",
    "MC = MR",
    "marginal analysis",
    "abnormal profit",
    "revenue maximisation",
    "MR = 0"
  ],
  "schemaUrl": "https://graphs.lectere.com/api/v1/templates/profit-maximisation",
  "previewUrl": "https://graphs.lectere.com/thumbs/profit-maximisation.svg",
  "editorUrl": "https://graphs.lectere.com/graph/profit-maximisation/",
  "params": [
    {
      "key": "market",
      "label": "Market",
      "default": "imperfect",
      "type": "enum",
      "options": [
        {
          "value": "imperfect",
          "label": "Imperfect competition"
        },
        {
          "value": "perfect",
          "label": "Perfect competition"
        }
      ]
    },
    {
      "key": "atc",
      "label": "Show ATC and profit",
      "default": true,
      "type": "boolean"
    },
    {
      "key": "zones",
      "label": "Annotate MR > MC and MC > MR",
      "default": true,
      "type": "boolean"
    },
    {
      "key": "revmax",
      "label": "Also show revenue maximisation (MR = 0)",
      "default": false,
      "type": "boolean"
    }
  ],
  "defaults": {
    "market": "imperfect",
    "atc": true,
    "zones": true,
    "revmax": false
  },
  "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.profit",
      "default": "Abnormal profit",
      "hint": "Shaded area",
      "panel": "main"
    },
    {
      "key": "main.ar",
      "default": "D = AR",
      "hint": "Curve",
      "panel": "main"
    },
    {
      "key": "main.mr",
      "default": "MR",
      "hint": "Curve",
      "panel": "main"
    },
    {
      "key": "main.atc",
      "default": "ATC",
      "hint": "Curve",
      "panel": "main"
    },
    {
      "key": "main.mc",
      "default": "MC",
      "hint": "Curve",
      "panel": "main"
    },
    {
      "key": "main.pm:y",
      "default": "P_{pm}",
      "hint": "Vertical-axis value",
      "panel": "main"
    },
    {
      "key": "main.pm:x",
      "default": "Q_{pm}",
      "hint": "Horizontal-axis value",
      "panel": "main"
    },
    {
      "key": "main.c:y",
      "default": "C",
      "hint": "Vertical-axis value",
      "panel": "main"
    },
    {
      "key": "main.lo",
      "default": "MR > MC:\nincrease output",
      "hint": "Text",
      "panel": "main"
    },
    {
      "key": "main.hi",
      "default": "MC > MR:\nreduce output",
      "hint": "Text",
      "panel": "main"
    }
  ],
  "elements": [
    {
      "key": "main.profit",
      "kind": "area",
      "label": "Abnormal profit"
    },
    {
      "key": "main.ar",
      "kind": "curve",
      "label": "D = AR"
    },
    {
      "key": "main.mr",
      "kind": "curve",
      "label": "MR"
    },
    {
      "key": "main.atc",
      "kind": "curve",
      "label": "ATC"
    },
    {
      "key": "main.mc",
      "kind": "curve",
      "label": "MC"
    },
    {
      "key": "main.mcmr",
      "kind": "point"
    },
    {
      "key": "main.pm",
      "kind": "point"
    },
    {
      "key": "main.c",
      "kind": "point"
    },
    {
      "key": "main.lo",
      "kind": "text",
      "label": "MR > MC:\nincrease output"
    },
    {
      "key": "main.hi",
      "kind": "text",
      "label": "MC > MR:\nreduce output"
    }
  ],
  "stats": null,
  "example": {
    "template": "profit-maximisation",
    "params": {
      "market": "imperfect",
      "atc": true,
      "zones": true,
      "revmax": false
    }
  }
}