{
  "_id": "6a102fe8acfb0bcc41c9525a",
  "Package": "obr",
  "Title": "Access 'Office for Budget Responsibility' Data",
  "Version": "0.5.0",
  "Authors@R": "person(\"Charles\", \"Coverdale\", email = \"charlesfcoverdale@gmail.com\", role = c(\"aut\", \"cre\"))",
  "Description": "Provides clean, tidy access to data published by the\n'Office for Budget Responsibility' ('OBR'), the UK's\nindependent fiscal watchdog. Covers the Public Finances\nDatabank (outturn for PSNB, PSND, receipts, and expenditure\nsince 1946), the Historical Official Forecasts Database (every\n'OBR' forecast since 2010), the Economic and Fiscal Outlook\ndetailed forecast tables (five-year projections from the latest\nBudget), the Welfare Trends Report (incapacity benefit spending\nand caseloads), and the Fiscal Risks and Sustainability Report\n(50-year state pension projections). All returned objects carry\nprovenance metadata recording the source URL, publication\nvintage, retrieval time, and file fingerprint, so analyses can\nbe audited and reproduced. Data is downloaded from the 'OBR' on\nfirst use and cached locally for subsequent calls. Data is\nsourced from the 'OBR' website <https://obr.uk>.",
  "License": "MIT + file LICENSE",
  "Encoding": "UTF-8",
  "Language": "en-GB",
  "URL": "https://charlescoverdale.github.io/obr/,\nhttps://github.com/charlescoverdale/obr",
  "BugReports": "https://github.com/charlescoverdale/obr/issues",
  "Roxygen": "list(markdown = TRUE)",
  "RoxygenNote": "7.3.3",
  "VignetteBuilder": "knitr",
  "Config/testthat/edition": "3",
  "Config/pak/sysreqs": "libssl-dev",
  "Repository": "https://charlescoverdale.r-universe.dev",
  "Date/Publication": "2026-05-07 21:07:04 UTC",
  "RemoteUrl": "https://github.com/charlescoverdale/obr",
  "RemoteRef": "HEAD",
  "RemoteSha": "2649862747ddf584c7c0977460da928b3a9db47e",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-05-12 09:51:06 UTC",
    "User": "root"
  },
  "Author": "Charles Coverdale [aut, cre]",
  "Maintainer": "Charles Coverdale <charlesfcoverdale@gmail.com>",
  "MD5sum": "48b60a1baa2696cbaf7ba5f40ccace34",
  "_user": "charlescoverdale",
  "_type": "src",
  "_file": "obr_0.5.0.tar.gz",
  "_fileid": "5e752522ba442d8dd4cacd6c13ebbecf33064480c7bed84dfb98b54e4a8522e5",
  "_filesize": 305381,
  "_sha256": "5e752522ba442d8dd4cacd6c13ebbecf33064480c7bed84dfb98b54e4a8522e5",
  "_created": "2026-05-12T09:51:06.000Z",
  "_published": "2026-05-22T10:28:56.342Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 77361818338,
      "time": 153,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "6941006908"
    },
    {
      "job": 77361819016,
      "time": 139,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "6941000321"
    },
    {
      "job": 77361818930,
      "time": 106,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "6940996941"
    },
    {
      "job": 77361818464,
      "time": 120,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "6941012138"
    },
    {
      "job": 77361818444,
      "time": 186,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "6940948879"
    },
    {
      "job": 77361817992,
      "time": 107,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7158354565"
    },
    {
      "job": 77361818344,
      "time": 127,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "6940995680"
    },
    {
      "job": 77361818624,
      "time": 80,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "6940979552"
    },
    {
      "job": 77361818485,
      "time": 83,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "6940980250"
    }
  ],
  "_buildurl": "https://github.com/r-universe/charlescoverdale/actions/runs/25726724131",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/charlescoverdale/obr",
  "_commit": {
    "id": "2649862747ddf584c7c0977460da928b3a9db47e",
    "author": "Charles Coverdale <charlesfcoverdale@gmail.com>",
    "committer": "Charles Coverdale <charlesfcoverdale@gmail.com>",
    "message": "v0.5.0: full 39/39 EFO table coverage (was 35; closes the last 4)\n\nAdds bespoke parsers and cross-reference auto-follow so every detailed-\nforecast table the OBR publishes (or used to publish and now redirects\nto a previous EFO) returns parsed data through get_efo_table().\n\nNew layout parsers:\n- parse_subsector_matrix (Table 6.4): single fiscal year, transactions\n  in col 2, sub-sectors as column headers (Central government, Local\n  authorities, NFPC, Public sector pensions, BoE, Public sector). Adds\n  a `sub_sector` extra column to the standard schema, same pattern as\n  scenario_type for FSR pension projections.\n- parse_quarterly_indented (Table 6.10): \"Q1 2016\" format periods in\n  col 3 (canonicalised to \"2016Q1\"), single value column 4, with\n  Outturn/Forecast section markers in col 2. Series name derived from\n  the sheet title.\n\nCross-reference follow-through (Tables 6.11 and 6.15):\n- follow_cross_reference parses the \"See Table X.Y of our [Month]\n  [Year] EFO\" redirect text in row 3 of the empty current sheet,\n  fetches the named EFO Aggregates workbook for that vintage, and\n  parses the linked table with parse_fiscal_year_wide.\n- Provenance points at the previous vintage; notes carry the redirect\n  details so analyses preserve the audit trail.\n\nCatalogue updated: 6.4 -> subsector_matrix, 6.10 -> quarterly_indented.\n6.11 and 6.15 keep their cross_reference layout but the dispatcher now\nfollows the redirect instead of returning NULL.\n\nTests: existing complex_layout test removed (no longer applicable);\nnew tests for 6.4 sub_sector column, 6.10 canonical period format, and\n6.11 cross-ref auto-follow with provenance vintage from the previous\nEFO.\n\nR CMD check 0/0/0. 150 tests pass.\n\nFinal coverage: 39 / 39 EFO detailed-forecast tables.\n",
    "time": 1778188024
  },
  "_maintainer": {
    "name": "Charles Coverdale",
    "email": "charlesfcoverdale@gmail.com",
    "login": "charlescoverdale",
    "linkedin": "in/charlescoverdale",
    "twitter": "@cfcoverdale",
    "uuid": 21993492
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1.0",
      "role": "Depends"
    },
    {
      "package": "cli",
      "role": "Imports"
    },
    {
      "package": "httr2",
      "role": "Imports"
    },
    {
      "package": "readxl",
      "role": "Imports"
    },
    {
      "package": "tools",
      "role": "Imports"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    }
  ],
  "_owner": "charlescoverdale",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-10",
      "n": 15
    },
    {
      "week": "2026-11",
      "n": 9
    },
    {
      "week": "2026-12",
      "n": 3
    },
    {
      "week": "2026-14",
      "n": 1
    },
    {
      "week": "2026-15",
      "n": 1
    },
    {
      "week": "2026-16",
      "n": 2
    },
    {
      "week": "2026-17",
      "n": 10
    },
    {
      "week": "2026-19",
      "n": 9
    }
  ],
  "_tags": [
    {
      "name": "v0.2.5",
      "date": "2026-04-13"
    }
  ],
  "_stars": 1,
  "_contributors": [
    {
      "user": "charlescoverdale",
      "count": 50,
      "uuid": 21993492
    }
  ],
  "_userbio": {
    "uuid": 21993492,
    "type": "user",
    "name": "Charles Coverdale",
    "description": "economics | climate science | R"
  },
  "_downloads": {
    "count": 426,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/obr"
  },
  "_devurl": "https://github.com/charlescoverdale/obr",
  "_pkgdown": "https://charlescoverdale.github.io/obr/",
  "_searchresults": 3,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/obr.html",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/charlescoverdale/obr",
  "_realowner": "charlescoverdale",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.2.2",
      "date": "2026-03-12"
    },
    {
      "version": "0.2.4",
      "date": "2026-03-17"
    },
    {
      "version": "0.2.5",
      "date": "2026-04-14"
    }
  ],
  "_exports": [
    "clear_cache",
    "get_efo_economy",
    "get_efo_fiscal",
    "get_efo_table",
    "get_expenditure",
    "get_forecast_revisions",
    "get_forecasts",
    "get_incapacity_caseloads",
    "get_incapacity_spending",
    "get_pension_projections",
    "get_policy_measures",
    "get_psnb",
    "get_psnd",
    "get_public_finances",
    "get_receipts",
    "get_welfare_spending",
    "list_efo_economy_measures",
    "list_forecast_series",
    "obr_actual_vs_forecast",
    "obr_as_of",
    "obr_compare_vintages",
    "obr_efo_catalogue",
    "obr_efo_vintages",
    "obr_fiscal_rules",
    "obr_forecast_panel",
    "obr_pin",
    "obr_pinned",
    "obr_provenance",
    "obr_unpin",
    "policy_measures_summary"
  ],
  "_help": [
    {
      "page": "sub-.obr_tbl",
      "title": "Subset an obr_tbl, preserving provenance",
      "topics": [
        "[.obr_tbl"
      ]
    },
    {
      "page": "as.data.frame.obr_tbl",
      "title": "Coerce an obr_tbl to a plain data.frame",
      "topics": [
        "as.data.frame.obr_tbl"
      ]
    },
    {
      "page": "clear_cache",
      "title": "Clear cached OBR files",
      "concept": [
        "data access"
      ],
      "topics": [
        "clear_cache"
      ]
    },
    {
      "page": "get_efo_economy",
      "title": "Get EFO economy projections",
      "concept": [
        "EFO"
      ],
      "topics": [
        "get_efo_economy"
      ]
    },
    {
      "page": "get_efo_fiscal",
      "title": "Get EFO fiscal projections (net borrowing components)",
      "concept": [
        "EFO"
      ],
      "topics": [
        "get_efo_fiscal"
      ]
    },
    {
      "page": "get_efo_table",
      "title": "Get any EFO detailed-forecast table by id",
      "concept": [
        "EFO"
      ],
      "topics": [
        "get_efo_table"
      ]
    },
    {
      "page": "get_expenditure",
      "title": "Get Total Managed Expenditure",
      "concept": [
        "public finances"
      ],
      "topics": [
        "get_expenditure"
      ]
    },
    {
      "page": "get_forecast_revisions",
      "title": "Get OBR forecast revisions",
      "concept": [
        "forecasts"
      ],
      "topics": [
        "get_forecast_revisions"
      ]
    },
    {
      "page": "get_forecasts",
      "title": "Get OBR forecast history for a fiscal series",
      "concept": [
        "forecasts"
      ],
      "topics": [
        "get_forecasts"
      ]
    },
    {
      "page": "get_incapacity_caseloads",
      "title": "Get incapacity benefit caseloads",
      "concept": [
        "welfare"
      ],
      "topics": [
        "get_incapacity_caseloads"
      ]
    },
    {
      "page": "get_incapacity_spending",
      "title": "Get incapacity benefits spending by type",
      "concept": [
        "welfare"
      ],
      "topics": [
        "get_incapacity_spending"
      ]
    },
    {
      "page": "get_pension_projections",
      "title": "Get long-run state pension spending projections",
      "concept": [
        "long-term fiscal"
      ],
      "topics": [
        "get_pension_projections"
      ]
    },
    {
      "page": "get_policy_measures",
      "title": "Get OBR policy measures by fiscal event",
      "concept": [
        "policy measures"
      ],
      "topics": [
        "get_policy_measures"
      ]
    },
    {
      "page": "get_psnb",
      "title": "Get Public Sector Net Borrowing (PSNB)",
      "concept": [
        "public finances"
      ],
      "topics": [
        "get_psnb"
      ]
    },
    {
      "page": "get_psnd",
      "title": "Get Public Sector Net Debt (PSND)",
      "concept": [
        "public finances"
      ],
      "topics": [
        "get_psnd"
      ]
    },
    {
      "page": "get_public_finances",
      "title": "Get all Public Finances Databank aggregates",
      "concept": [
        "public finances"
      ],
      "topics": [
        "get_public_finances"
      ]
    },
    {
      "page": "get_receipts",
      "title": "Get public sector receipts by tax type",
      "concept": [
        "public finances"
      ],
      "topics": [
        "get_receipts"
      ]
    },
    {
      "page": "get_welfare_spending",
      "title": "Get working-age welfare spending",
      "concept": [
        "welfare"
      ],
      "topics": [
        "get_welfare_spending"
      ]
    },
    {
      "page": "list_efo_economy_measures",
      "title": "List available EFO economy measures",
      "concept": [
        "EFO"
      ],
      "topics": [
        "list_efo_economy_measures"
      ]
    },
    {
      "page": "list_forecast_series",
      "title": "List available forecast series",
      "concept": [
        "forecasts"
      ],
      "topics": [
        "list_forecast_series"
      ]
    },
    {
      "page": "obr_actual_vs_forecast",
      "title": "Pair OBR forecasts with PFD outturn",
      "concept": [
        "forecasts"
      ],
      "topics": [
        "obr_actual_vs_forecast"
      ]
    },
    {
      "page": "obr_as_of",
      "title": "Find the OBR publication that was current on a given date",
      "concept": [
        "vintage"
      ],
      "topics": [
        "obr_as_of"
      ]
    },
    {
      "page": "obr_compare_vintages",
      "title": "Compare two EFO vintages",
      "concept": [
        "forecasts"
      ],
      "topics": [
        "obr_compare_vintages"
      ]
    },
    {
      "page": "obr_efo_catalogue",
      "title": "List the EFO detailed-forecast tables this package can fetch",
      "concept": [
        "EFO"
      ],
      "topics": [
        "obr_efo_catalogue"
      ]
    },
    {
      "page": "obr_efo_vintages",
      "title": "List known OBR Economic and Fiscal Outlook vintages",
      "concept": [
        "vintage"
      ],
      "topics": [
        "obr_efo_vintages"
      ]
    },
    {
      "page": "obr_fiscal_rules",
      "title": "Get the current UK fiscal rules",
      "concept": [
        "fiscal rules"
      ],
      "topics": [
        "obr_fiscal_rules"
      ]
    },
    {
      "page": "obr_forecast_panel",
      "title": "Build a wide real-time panel of OBR forecasts",
      "concept": [
        "forecasts"
      ],
      "topics": [
        "obr_forecast_panel"
      ]
    },
    {
      "page": "obr_pin",
      "title": "Pin a session-wide OBR EFO vintage",
      "concept": [
        "vintage"
      ],
      "topics": [
        "obr_pin"
      ]
    },
    {
      "page": "obr_pinned",
      "title": "Show the currently pinned OBR EFO vintage",
      "concept": [
        "vintage"
      ],
      "topics": [
        "obr_pinned"
      ]
    },
    {
      "page": "obr_provenance",
      "title": "Extract OBR provenance metadata",
      "concept": [
        "provenance"
      ],
      "topics": [
        "obr_provenance"
      ]
    },
    {
      "page": "obr_unpin",
      "title": "Clear the pinned OBR EFO vintage",
      "concept": [
        "vintage"
      ],
      "topics": [
        "obr_unpin"
      ]
    },
    {
      "page": "policy_measures_summary",
      "title": "Summarise policy measures by fiscal event",
      "concept": [
        "policy measures"
      ],
      "topics": [
        "policy_measures_summary"
      ]
    },
    {
      "page": "print.obr_tbl",
      "title": "Print an obr_tbl",
      "topics": [
        "print.obr_tbl"
      ]
    },
    {
      "page": "summary.obr_tbl",
      "title": "Summary of an obr_tbl",
      "topics": [
        "summary.obr_tbl"
      ]
    }
  ],
  "_readme": "https://github.com/charlescoverdale/obr/raw/HEAD/README.md",
  "_rundeps": [
    "askpass",
    "cellranger",
    "cli",
    "cpp11",
    "crayon",
    "curl",
    "glue",
    "hms",
    "httr2",
    "lifecycle",
    "magrittr",
    "openssl",
    "pillar",
    "pkgconfig",
    "prettyunits",
    "progress",
    "R6",
    "rappdirs",
    "readxl",
    "rematch",
    "rlang",
    "sys",
    "tibble",
    "utf8",
    "vctrs",
    "withr"
  ],
  "_vignettes": [
    {
      "source": "forecast-revisions.Rmd",
      "filename": "forecast-revisions.html",
      "title": "Anatomy of a forecast revision",
      "engine": "knitr::rmarkdown",
      "headings": [
        "The decomposition",
        "Top-level revisions only",
        "Per cent of GDP",
        "Pairing with the forecast panel",
        "Worked example: PSNB 2024-25 across the full vintage history",
        "Provenance for cited results"
      ],
      "created": "2026-04-25 20:55:41",
      "modified": "2026-04-25 20:55:41",
      "commits": 1
    },
    {
      "source": "vintages.Rmd",
      "filename": "vintages.html",
      "title": "Pinning to a specific OBR publication",
      "engine": "knitr::rmarkdown",
      "headings": [
        "The vintage table",
        "Resolving an EFO by date",
        "Pinning a session-wide vintage",
        "Downloading a specific vintage",
        "What's recorded as provenance",
        "How vintage interacts with get_forecasts()"
      ],
      "created": "2026-04-25 20:55:41",
      "modified": "2026-05-07 19:26:08",
      "commits": 2
    },
    {
      "source": "policy-measures.Rmd",
      "filename": "policy-measures.html",
      "title": "Tracking fiscal policy measures since 1970",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Pulling the database",
        "Filtering by fiscal event",
        "Searching by theme",
        "Aggregating to the Budget scorecard",
        "Worked example: contribution of each fiscal event",
        "Cross-vintage comparison"
      ],
      "created": "2026-04-25 20:55:41",
      "modified": "2026-04-25 20:55:41",
      "commits": 1
    },
    {
      "source": "efo-forecasts.Rmd",
      "filename": "efo-forecasts.html",
      "title": "Working with EFO forecasts",
      "engine": "knitr::rmarkdown",
      "headings": [
        "The standard schema",
        "Index vs YoY: the v0.4.0 fix",
        "Combining EFO with outturn from PFD",
        "Comparing two vintages",
        "What unit covers",
        "Provenance"
      ],
      "created": "2026-05-07 19:26:08",
      "modified": "2026-05-07 19:26:08",
      "commits": 1
    }
  ],
  "_score": 5.204119982655925,
  "_indexed": true,
  "_nocasepkg": "obr",
  "_universes": [
    "charlescoverdale"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.5.0",
      "date": "2026-05-12T09:53:40.000Z",
      "distro": "noble",
      "commit": "2649862747ddf584c7c0977460da928b3a9db47e",
      "fileid": "cce13946414b4e51b02a108ae93f75ae72114e3ece5f389756832aaea36bbda3",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/charlescoverdale/actions/runs/25726724131"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.5.0",
      "date": "2026-05-12T09:53:19.000Z",
      "distro": "noble",
      "commit": "2649862747ddf584c7c0977460da928b3a9db47e",
      "fileid": "2c8fac4123e3fe6085d382fe55114630a48e6723defe1586ec6bb66cc02faf26",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/charlescoverdale/actions/runs/25726724131"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.5.0",
      "date": "2026-05-12T09:53:16.000Z",
      "commit": "2649862747ddf584c7c0977460da928b3a9db47e",
      "fileid": "d61cff907e01f176b3d643846dc3e6ded10c6b13e6a4ff1aee85f40c3ac32396",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/charlescoverdale/actions/runs/25726724131"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.5.0",
      "date": "2026-05-12T09:53:55.000Z",
      "commit": "2649862747ddf584c7c0977460da928b3a9db47e",
      "fileid": "cbadd12e7bcda5b367b0a9f8c3422c5356248d3f4250a744fe4f487f1b72087f",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/charlescoverdale/actions/runs/25726724131"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.5.0",
      "date": "2026-05-12T09:53:00.000Z",
      "commit": "2649862747ddf584c7c0977460da928b3a9db47e",
      "fileid": "e9a1baf6d0d9841b2e8f58e6990865de55323cd7ffeb6e0a55d18178c6fe1f78",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/charlescoverdale/actions/runs/25726724131"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.5.0",
      "date": "2026-05-12T09:52:18.000Z",
      "commit": "2649862747ddf584c7c0977460da928b3a9db47e",
      "fileid": "91d2bf580d113e74e83d33be3a05065d2a4bdd44044b807e49184eefcd037525",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/charlescoverdale/actions/runs/25726724131"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "0.5.0",
      "date": "2026-05-12T09:52:17.000Z",
      "commit": "2649862747ddf584c7c0977460da928b3a9db47e",
      "fileid": "05fb6a37911dc9f21d34ad22d4438ba4cff6f4fa28317c40c67b50baf9d6f71f",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/charlescoverdale/actions/runs/25726724131"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.5.0",
      "date": "2026-05-22T10:28:41.000Z",
      "commit": "2649862747ddf584c7c0977460da928b3a9db47e",
      "fileid": "b8b63151f402dcbced31047ba6af74d2c750aae899fbb121be00da2c1f5a8350",
      "status": "success",
      "buildurl": "https://github.com/r-universe/charlescoverdale/actions/runs/25726724131"
    }
  ]
}