{
  "provenance": {
    "sourceId": "ubc-pair-grade-data",
    "sourceName": "UBC PAIR Grade Data",
    "sourceUrl": "https://github.com/DonneyF/ubc-pair-grade-data",
    "sourceRef": "18af317b9ded65047f8438b854317b4ff7fcb88d",
    "sourceLicense": null,
    "retrievedAt": "2026-08-31T07:24:28.727Z",
    "generatorVersion": 1,
    "subject": "MATH",
    "generationWindows": [
      {
        "generation": "tableau-dashboard",
        "from": "2014S",
        "to": "2021W",
        "note": "UBC's earlier reporting system. It also covers the 2021 sessions, which both systems published; the earlier figures are used there because the newer ones are missing a substantial number of sections."
      },
      {
        "generation": "tableau-dashboard-v2",
        "from": "2022S",
        "to": null,
        "note": "UBC's current reporting system, and the only source for these sessions. It also reports medians and quartiles, which the earlier system did not."
      }
    ],
    "activeSince": "2022S",
    "thresholds": {
      "minSessions": 3,
      "minTotalStudents": 100
    },
    "caveats": [
      "small-cell-suppression",
      "upstream-imputation",
      "avg-precision-drift",
      "instructor-data-excluded",
      "campus-series-kept-separate"
    ]
  },
  "source": {
    "name": "UBC PAIR grade data",
    "url": "https://github.com/DonneyF/ubc-pair-grade-data"
  },
  "usage": "No licence is claimed over the underlying figures. Attribution terms: https://learn4less.ca/ubc-grades/methodology/#attribution",
  "bucketOrder": [
    "<50",
    "50-54",
    "55-59",
    "60-63",
    "64-67",
    "68-71",
    "72-75",
    "76-79",
    "80-84",
    "85-89",
    "90-100"
  ],
  "course": {
    "schemaVersion": 1,
    "gradesSlug": "math-190",
    "courseSlug": "ubc-math-190",
    "code": "MATH 190",
    "buckets": [
      "<50",
      "50-54",
      "55-59",
      "60-63",
      "64-67",
      "68-71",
      "72-75",
      "76-79",
      "80-84",
      "85-89",
      "90-100"
    ],
    "campuses": {
      "UBCV": [
        {
          "session": "2014W",
          "year": 2014,
          "term": "winter",
          "generation": "tableau-dashboard",
          "sections": 1,
          "reported": 72,
          "avg": 78.31,
          "avgCoverage": 1,
          "buckets": [
            7,
            0,
            0,
            0,
            0,
            0,
            0,
            6,
            6,
            14,
            26
          ],
          "bucketTotal": 59,
          "bucketsComplete": false,
          "below50": 7,
          "below50Share": 0.1186
        },
        {
          "session": "2015W",
          "year": 2015,
          "term": "winter",
          "generation": "tableau-dashboard",
          "sections": 1,
          "reported": 74,
          "avg": 70.35,
          "avgCoverage": 1,
          "buckets": [
            9,
            10,
            0,
            0,
            6,
            0,
            8,
            7,
            7,
            8,
            11
          ],
          "bucketTotal": 66,
          "bucketsComplete": false,
          "below50": 9,
          "below50Share": 0.1364
        },
        {
          "session": "2016W",
          "year": 2016,
          "term": "winter",
          "generation": "tableau-dashboard",
          "sections": 1,
          "reported": 95,
          "avg": 66.96,
          "avgCoverage": 1,
          "buckets": [
            13,
            8,
            6,
            11,
            13,
            5,
            7,
            9,
            4,
            10,
            9
          ],
          "bucketTotal": 95,
          "bucketsComplete": true,
          "below50": 13,
          "below50Share": 0.1368
        },
        {
          "session": "2017W",
          "year": 2017,
          "term": "winter",
          "generation": "tableau-dashboard",
          "sections": 1,
          "reported": 80,
          "avg": 70.14,
          "avgCoverage": 1,
          "buckets": [
            13,
            5,
            7,
            2,
            5,
            4,
            7,
            1,
            8,
            9,
            19
          ],
          "bucketTotal": 80,
          "bucketsComplete": true,
          "below50": 13,
          "below50Share": 0.1625
        },
        {
          "session": "2018W",
          "year": 2018,
          "term": "winter",
          "generation": "tableau-dashboard",
          "sections": 1,
          "reported": 59,
          "avg": 64.73,
          "avgCoverage": 1,
          "buckets": [
            9,
            5,
            6,
            8,
            3,
            5,
            4,
            1,
            7,
            5,
            6
          ],
          "bucketTotal": 59,
          "bucketsComplete": true,
          "below50": 9,
          "below50Share": 0.1525
        },
        {
          "session": "2019W",
          "year": 2019,
          "term": "winter",
          "generation": "tableau-dashboard",
          "sections": 1,
          "reported": 64,
          "avg": 72.73,
          "avgCoverage": 1,
          "buckets": [
            5,
            5,
            3,
            2,
            2,
            5,
            12,
            3,
            10,
            10,
            7
          ],
          "bucketTotal": 64,
          "bucketsComplete": true,
          "below50": 5,
          "below50Share": 0.0781
        },
        {
          "session": "2020W",
          "year": 2020,
          "term": "winter",
          "generation": "tableau-dashboard",
          "sections": 1,
          "reported": 67,
          "avg": 69.99,
          "avgCoverage": 1,
          "buckets": [
            8,
            6,
            6,
            5,
            4,
            5,
            7,
            5,
            3,
            7,
            11
          ],
          "bucketTotal": 67,
          "bucketsComplete": true,
          "below50": 8,
          "below50Share": 0.1194
        },
        {
          "session": "2021W",
          "year": 2021,
          "term": "winter",
          "generation": "tableau-dashboard",
          "sections": 1,
          "reported": 67,
          "avg": 65.01,
          "avgCoverage": 1,
          "buckets": [
            9,
            7,
            4,
            6,
            5,
            9,
            3,
            6,
            9,
            6,
            3
          ],
          "bucketTotal": 67,
          "bucketsComplete": true,
          "below50": 9,
          "below50Share": 0.1343
        },
        {
          "session": "2022W",
          "year": 2022,
          "term": "winter",
          "generation": "tableau-dashboard-v2",
          "sections": 1,
          "reported": 65,
          "avg": 66,
          "avgCoverage": 1,
          "buckets": [
            8,
            8,
            6,
            5,
            6,
            3,
            3,
            4,
            10,
            6,
            6
          ],
          "bucketTotal": 65,
          "bucketsComplete": true,
          "below50": 8,
          "below50Share": 0.1231,
          "median": 65,
          "p25": 56,
          "p75": 82
        },
        {
          "session": "2023W",
          "year": 2023,
          "term": "winter",
          "generation": "tableau-dashboard-v2",
          "sections": 1,
          "reported": 61,
          "avg": 65.6,
          "avgCoverage": 1,
          "buckets": [
            7,
            3,
            5,
            7,
            3,
            8,
            4,
            2,
            9,
            2,
            4
          ],
          "bucketTotal": 54,
          "bucketsComplete": false,
          "below50": 7,
          "below50Share": 0.1296,
          "median": 69,
          "p25": 59,
          "p75": 80
        },
        {
          "session": "2024W",
          "year": 2024,
          "term": "winter",
          "generation": "tableau-dashboard-v2",
          "sections": 1,
          "reported": 34,
          "avg": 71.3,
          "avgCoverage": 1,
          "buckets": [
            3,
            4,
            0,
            2,
            3,
            2,
            6,
            1,
            4,
            5,
            4
          ],
          "bucketTotal": 34,
          "bucketsComplete": true,
          "below50": 3,
          "below50Share": 0.0882,
          "median": 73,
          "p25": 61.3,
          "p75": 84.5
        },
        {
          "session": "2025W",
          "year": 2025,
          "term": "winter",
          "generation": "tableau-dashboard-v2",
          "sections": 1,
          "reported": 35,
          "avg": 65,
          "avgCoverage": 1,
          "buckets": [
            6,
            5,
            1,
            4,
            5,
            2,
            1,
            2,
            4,
            1,
            4
          ],
          "bucketTotal": 35,
          "bucketsComplete": true,
          "below50": 6,
          "below50Share": 0.1714,
          "median": 64,
          "p25": 50,
          "p75": 79.5
        }
      ]
    }
  }
}