{
  "$schema": "https://ps-wiki.github.io/schema/v1/term.schema.json",
  "id": "control-performance-standard-1",
  "title": "Control Performance Standard 1",
  "description": "CPS1. A standard that measures impact on frequency error.",
  "language": "en",
  "tags": [
    "frequency-control",
    "interconnection",
    "nerc"
  ],
  "related": [],
  "breaking": false,
  "dates": {
    "created": "2025-03-15",
    "last_modified": "2025-11-29"
  },
  "authors": [
    {
      "name": "Jinning Wang",
      "url": "https://jinningwang.github.io"
    }
  ],
  "content": {
    "sections": [
      {
        "order": 1,
        "id": "definition-by-nerc",
        "title": "Definition by NERC",
        "type": "definition",
        "source_keys": [
          "nerc2021balancing"
        ],
        "page": "p29",
        "body_md": "> - CPS1 assigns each Control Area a share of the responsibility for control of Interconnection frequency.\n> - CPS1 is a **yearly** (i.e., rolling twelve month) standard that measures impact on frequency error, with a 100 percent minimum allowable score.\n"
      },
      {
        "order": 2,
        "id": "explanation-by-nerc",
        "title": "Explanation by NERC",
        "type": "definition",
        "source_keys": [
          "nerc2015bal001background"
        ],
        "page": "p3",
        "body_md": "> CPS1 is a:\n>\n> - Statistical measure of ACE variability\n> - Measure of ACE in combination with the Interconnection’s frequency error\n> - Based on an equation derived from frequency-based statistical theory\n"
      },
      {
        "order": 3,
        "id": "simple-calculation-by-nerc",
        "title": "Simple Calculation by NERC",
        "type": "definition",
        "source_keys": [
          "nerc2021balancing"
        ],
        "page": "p24",
        "body_md": "> CPS1 captures these relationships using statistical measures to determine each BA’s contribution to such “noise” relative to what is deemed permissible.\n> The CPS1 equation can be simplified as follows:\n\n$$\n\\text{CPS1} (\\text{in percent}) = 100 \\times \\left[ 2 - (\\text{Constant}) \\times (\\text{frequency error}) \\times (\\text{ACE}) \\right]\n$$\n\n<!-- prettier-ignore-start -->\n> The size of this constant changes over time for BAs with variable bias, but the effect can be ignored when considering minute-to-minute operation. It is equal to -10 \\* B / ε1^2\n{: .block-tip }\n<!-- prettier-ignore-end -->\n"
      },
      {
        "order": 4,
        "id": "calculation-by-nerc",
        "title": "Calculation by NERC",
        "type": "note",
        "source_keys": [
          "nerc2015bal001"
        ],
        "page": "p5",
        "body_md": "$$\nCPS1 = (2 - CF) * 100\\%\n$$\n\n**Frequency-related compliance factor (CF)**\n\n$$\nCF = \\frac{CF_{\\text{12-month}}}{\\epsilon1^2}\n$$\n\nWhere $\\epsilon1$ is a constant derived from a targeted frequency bound for each Interconnection:\n\n- Eastern Interconnection $\\epsilon1 = 0.018~Hz$\n- Western Interconnection $\\epsilon1 = 0.0228~Hz$\n- ERCOT Interconnection $\\epsilon1 = 0.030~Hz$\n- Quebec Interconnection $\\epsilon1 = 0.021~Hz$\n\n<!-- prettier-ignore-start -->\n> A clock-minute average is the average of the reporting Balancing Authority’s valid measured variable (i.e., for Reporting ACE (RACE) and for Frequency Error) for each sampling cycle during a given clock-minute.\n{: .block-warning }\n<!-- prettier-ignore-end -->\n\n**Clock-Minute Average of Reporting ACE (RACE)**\n\n$$\n{\\frac{RACE}{-10B}}_{\\text{clock-minute}} = \\frac{\\frac{\\sum RACE_{\\text{sampling cycles in clock-minute}}}{n_\\text{sampling cycles in clock-minute}}}{-10B}\n$$\n\n**Clock-Minute Average of Frequency Error ($ \\Delta F\\_{\\text{clock-minute}} $)**\n\n$$\n\\Delta F_{\\text{clock-minute}} = \\frac{\\sum \\Delta F_{\\text{sampling cycles in clock-minute}}}{n_\\text{sampling cycles in clock-minute}}\n$$\n\n**Balancing Authority's Clock-Minute Compliance Factor ($ CF\\_{\\text{clock-minute}} $)**\n\n$$\nCF_{\\text{clock-minute}}= \\left[ \\left( \\frac{RACE}{-10B} \\right)_{\\text{clock-minut}e} * \\Delta F_{\\text{clock-minute}} \\right]\n$$\n\n<!-- prettier-ignore-start -->\n> Normally, 60 clock-minute averages of the reporting Balancing Authority’s Reporting ACE and Frequency Error will be used to compute the hourly average compliance factor\n{: .block-warning }\n<!-- prettier-ignore-end -->\n\n**Hourly Average Compliance Factor ($ CF\\_{\\text{clock-hour}} $)**\n\n$$\nCF_{\\text{clock-hour}}=\\frac{\\sum CF_{\\text{clock-minute}}}{n_\\text{clock-minute samples in hour}}\n$$\n\n<!-- prettier-ignore-start -->\n> The reporting Balancing Authority shall be able to recalculate and store each of the respective clock-hour averages ($CF_{\\text{clock-hour average-month}}$) and the data samples for each 24-hour period (one for each clock-hour; i.e., hour ending (HE) 0100, HE 0200, ..., HE 2400).\n{: .block-warning }\n<!-- prettier-ignore-end -->\n\n**Monthly Compliance Factor ($CF_{\\text{month}}$)**\n\n$$\nCF_{\\text{clock-hour average-month}} = \\frac{\\sum_{\\text{days-in-month}} \\left[ \\left( CF_\\text{clock-hour} \\right) \\left( n_\\text{one-minute samples in clock-hour} \\right) \\right] }{\n\\sum_{\\text{days-in-month}} \\left[n_{\\text{one-minute samples in clock-hour}} \\right]}\n$$\n\n$$\nCF_{\\text{month}} = \\frac{\\sum_{\\text{hours-in-day}} \\left[ \\left( CF_\\text{clock-hour average-month} \\right) \\left( n_\\text{one-minute samples in clock-hour-averages} \\right) \\right] }{\n\\sum_{\\text{hours-in-day}} \\left[n_{\\text{one-minute samples in clock-hour averages}} \\right]}\n$$\n\n**12-Month Compliance Factor ($CF_{12-month}$)**\n\n$$\nCF_{\\text{12-month}} = \\frac{\\sum_{i=1}^{12} (CF_{\\text{month-i}}) (n_\\text{one-minute samples in month-i})}{\\sum_{i=1}^{12} (n_\\text{one-minute samples in month-i}) }\n$$\n\n<!-- prettier-ignore-start -->\n> To ensure that the average Reporting ACE and Frequency Error calculated for any one-minute interval is representative of that time interval, it is necessary that at least 50 percent of both the Reporting ACE and Frequency Error sample data during the one-minute interval is valid.\n> If the recording of Reporting ACE or Frequency Error is interrupted such that less than 50 percent of the one-minute sample period data is available or valid, then that one-minute interval is excluded from the CPS1 calculation.\n{: .block-warning }\n<!-- prettier-ignore-end -->\n"
      }
    ]
  }
}
