{
  "id": "commodity-price-volatility",
  "name": "Commodity price volatility (inelastic D and S)",
  "unit": "micro",
  "unitName": "Unit 2 · Microeconomics",
  "topic": "Elasticity",
  "hl": false,
  "description": "Primary commodities have price-inelastic demand and supply, so supply shocks (harvests, weather) cause large price swings with small quantity changes.",
  "keywords": [
    "commodity prices",
    "price volatility",
    "agriculture",
    "inelastic supply",
    "inelastic demand",
    "primary products",
    "harvest",
    "PES",
    "PED"
  ],
  "schemaUrl": "https://graphs.lectere.com/api/v1/templates/commodity-price-volatility",
  "previewUrl": "https://graphs.lectere.com/thumbs/commodity-price-volatility.svg",
  "editorUrl": "https://graphs.lectere.com/graph/commodity-price-volatility/",
  "params": [
    {
      "key": "shock",
      "label": "Shock",
      "default": "supply",
      "type": "enum",
      "options": [
        {
          "value": "supply",
          "label": "Supply shock (harvest / weather)"
        },
        {
          "value": "demand",
          "label": "Demand shock (global demand)"
        }
      ]
    },
    {
      "key": "dir",
      "label": "Direction",
      "default": "dec",
      "type": "enum",
      "options": [
        {
          "value": "dec",
          "label": "Decrease (e.g. bad harvest)"
        },
        {
          "value": "inc",
          "label": "Increase (e.g. good harvest)"
        }
      ]
    },
    {
      "key": "compare",
      "label": "Compare with a manufactured good (elastic D and S)",
      "default": false,
      "type": "boolean"
    },
    {
      "key": "size",
      "label": "Size of shock",
      "default": 1.2,
      "group": "Shape",
      "type": "number",
      "min": 0.5,
      "max": 2,
      "step": 0.1
    }
  ],
  "defaults": {
    "shock": "supply",
    "dir": "dec",
    "compare": false,
    "size": 1.2
  },
  "panels": [
    {
      "id": "main",
      "title": null,
      "xLabel": "Quantity",
      "yLabel": "Price",
      "xRange": [
        0,
        10
      ],
      "yRange": [
        0,
        10
      ],
      "axisKeys": {
        "x": "main:x",
        "y": "main:y"
      }
    }
  ],
  "labels": [
    {
      "key": "main:y",
      "default": "Price",
      "hint": "Vertical axis",
      "panel": "main"
    },
    {
      "key": "main:x",
      "default": "Quantity",
      "hint": "Horizontal axis",
      "panel": "main"
    },
    {
      "key": "main.d",
      "default": "D",
      "hint": "Curve",
      "panel": "main"
    },
    {
      "key": "main.s1",
      "default": "S_1",
      "hint": "Curve",
      "panel": "main"
    },
    {
      "key": "main.s2",
      "default": "S_2",
      "hint": "Curve",
      "panel": "main"
    },
    {
      "key": "main.e1:y",
      "default": "P_1",
      "hint": "Vertical-axis value",
      "panel": "main"
    },
    {
      "key": "main.e1:x",
      "default": "Q_1",
      "hint": "Horizontal-axis value",
      "panel": "main"
    },
    {
      "key": "main.e2:y",
      "default": "P_2",
      "hint": "Vertical-axis value",
      "panel": "main"
    },
    {
      "key": "main.e2:x",
      "default": "Q_2",
      "hint": "Horizontal-axis value",
      "panel": "main"
    }
  ],
  "elements": [
    {
      "key": "main.d",
      "kind": "curve",
      "label": "D"
    },
    {
      "key": "main.s1",
      "kind": "curve",
      "label": "S_1"
    },
    {
      "key": "main.s2",
      "kind": "curve",
      "label": "S_2"
    },
    {
      "key": "main.shift",
      "kind": "line"
    },
    {
      "key": "main.e1",
      "kind": "point"
    },
    {
      "key": "main.e2",
      "kind": "point"
    }
  ],
  "stats": null,
  "example": {
    "template": "commodity-price-volatility",
    "params": {
      "shock": "supply",
      "dir": "dec",
      "compare": false,
      "size": 1.2
    }
  }
}