Skip to content

PRF data

Choose a tag to compare

@ftsiboe ftsiboe released this 27 Mar 13:12

Official Pasture, Rangeland, Forage Pilot Insurance Program Data

⚠️ Disclaimer: These data are provided “as
is”
, without warranty of any kind. The authors make no
guarantees regarding accuracy or suitability for any purpose. Use of
these data and any results derived from them is entirely at the user’s
own risk. The contents of this release reflect independent research and
do not represent the official positions or policies of the USDA, the
Risk Management Agency (RMA), the Federal Crop Insurance Corporation
(FCIC), or any Approved Insurance Provider.

📘 Overview

This release provides analysis-ready datasets supporting research on
Pasture, Rangeland, Forage (PRF) Insurance Program within the U.S.
Federal Crop Insurance Program (FCIP)
.

The data are generated and maintained by the rfcipPRF workflow and are
designed to support reproducible research using PRF rainfall index,
actuarial, and related spatial data products.

📁 Included Files

1. Historic CPC precipitation data

  • cpc_historic_precipitation.rds
    Historic grid-level precipitation data used in PRF support
    workflows.

Columns

  • grid_id = PRF grid identifier (numeric GRIDCODE from the
    official RMA RI grid shapefile)
  • commodity_year = Commodity year (integer, e.g.,
    2011–present)
  • month = Calendar month (integer 1–12)
  • precipitation = Observed CPC CONUS 0.25° gauge-based daily
    precipitation summed to monthly totals for the grid cell, converted
    to inches
  • precipitation_rma = RMA-adjusted monthly precipitation; scaled
    so that the interval-level sum matches the official RMA rainfall
    index (actual_index × long-run average precipitation)

2. County-level PRF actuarial data

  • prf_adm_county_level_2007.rds through
    prf_adm_county_level_2026.rds
    Annual county-level PRF actuarial files containing rating and
    payment-factor information by county, interval, type, and coverage
    level.

Columns

  • commodity_year = Commodity year (integer, 2007–present)
  • state_code = FIPS state code (2-digit integer)
  • county_code = FIPS county code (3-digit integer)
  • interval_code = PRF insurance interval code (integer 1–11;
    each code represents a distinct 2-month precipitation window — see
    interval reference below)
  • type_code = PRF type code (e.g., "RI" for Rainfall Index,
    "VI" for Vegetation Index)
  • coverage_level_percent = Coverage level percentage (numeric;
    e.g., 70, 75, 80, 85, 90)
  • base_rate = Effective base premium rate derived as
    total_premium_amount / liability_amount from the Summary of
    Business (SoB) TPU data
  • payment_factor = Effective payment factor derived as
    indemnity_amount / liability_amount from the SoB TPU data;
    reflects realized loss experience at the county level

3. Grid-level PRF actuarial data

  • prf_adm_grid_level_2011.rds through
    prf_adm_grid_level_2026.rds
    Annual grid-level PRF actuarial files combining grid identifiers,
    county-level values, actuarial rates, key program dates, and subsidy
    information.

Columns

  • commodity_year = Commodity year (integer, 2011–present)
  • state_code = FIPS state code (2-digit integer)
  • county_code = FIPS county code (3-digit integer)
  • grid_id = PRF grid identifier (numeric GRIDCODE from the
    official RMA RI grid shapefile)
  • interval_code = PRF insurance interval code (integer 1–11; see
    interval reference below)
  • type_code = PRF type code (e.g., "RI" for Rainfall Index,
    "VI" for Vegetation Index)
  • coverage_level_percent = Coverage level percentage (numeric;
    e.g., 70, 75, 80, 85, 90)
  • county_base_value = County base value (dollars per acre) used
    as the dollar amount of coverage per acre in PRF liability
    calculations
  • base_rate = Base premium rate (mean of grid-level ADM rates
    within the county × interval × type × coverage-level cell)
  • payment_factor = Payment factor used in PRF indemnity
    calculations (mean of grid-level ADM payment factors)
  • contract_change_date = Contract change date
  • sales_closing_date = Sales closing date
  • modified_sales_closing_date = Modified sales closing date
  • extended_sales_closing_date = Extended sales closing date
  • earliest_planting_date = Earliest planting date
  • final_planting_date = Final planting date
  • extended_final_planting_date = Extended final planting date
  • acreage_reporting_date = Acreage reporting date
  • modified_acreage_reporting_date = Modified acreage reporting
    date
  • end_of_insurance_date = End of insurance date
  • cancellation_date = Cancellation date
  • modified_cancellation_date = Modified cancellation date
  • termination_date = Termination date
  • premium_billing_date = Premium billing date
  • last_released_date = Last released date
  • released_date = Release date
  • deleted_date = Deletion date
  • filing_date = Filing date
  • subsidy_percent = Premium subsidy percentage (fraction of
    total premium paid by the Federal government)

4. Official RMA PRF grid

  • official_RMA_RI_grid_01.zip
    The official RMA Rainfall Index grid shapefile defining the spatial
    boundaries of all PRF grid cells across the conterminous United
    States.

Contents of zip

The zip archive contains a point/polygon shapefile with one record per
PRF grid cell. Key attribute:

  • GRIDCODE = PRF grid identifier (integer); used as grid_id
    throughout all other release files

Source: Grazing Management Systems. official_RMA_RI_grid, Edition
1.0, published 2009-08-22.
Online: http://prfri-rma-map.tamu.edu/default.aspx


5. RMA Rainfall Index data

  • rmaRainfallIndices.rds
    Grid- and interval-level RMA Rainfall Index values derived from the
    latest official RMA PRF rainfall index archive. One row per grid ×
    insurance plan × commodity × year × interval combination.

Columns

  • grid_id = PRF grid identifier (numeric GRIDCODE)
  • insurance_plan_code = RMA insurance plan code (integer; 13 =
    PRF Rainfall Index, 14 = PRF Vegetation Index)
  • Commodity0088 = Commodity 88 indicator (1 if the grid
    participates in the PRF program under commodity code 88)
  • Commodity1191 = Commodity 1191 indicator (analogous flag for
    commodity code 1191)
  • commodity_year = Commodity year (integer)
  • interval_code = PRF insurance interval code (integer 1–11; see
    interval reference below)
  • actual_index = Mean realized rainfall index value for the grid
    × interval × year (numeric; expressed as a fraction of the long-run
    average, where values < 1 indicate below-average precipitation)

6. PRF Summary of Business (SoB TPU)

  • prf_sobtpu.rds
    County-level PRF insurance Summary of Business (TPU) records
    aggregated from USDA RMA for commodity years 2007 to present.
    Filtered to insurance plan code 13 (PRF) and commodity code 88.

Columns

  • commodity_year = Commodity year (integer, 2007–present)
  • state_code = FIPS state code (2-digit integer)
  • county_code = FIPS county code (3-digit integer)
  • type_code = PRF type code
  • interval_code = PRF insurance interval code (integer 1–11;
    renamed from practice_code)
  • interval_name = PRF interval name (character; renamed from
    practice_name)
  • coverage_level_percent = Coverage level percentage (numeric;
    e.g., 70, 75, 80, 85, 90)
  • insured_acres = Total net reporting level amount (insured
    acres; sum of net_reporting_level_amount)
  • liability_amount = Total liability amount (dollars)
  • total_premium_amount = Total premium amount (dollars)
  • subsidy_amount = Total subsidy amount (dollars; Federal
    portion of the premium)
  • indemnity_amount = Total indemnity amount (dollars; payments
    made to policyholders)

7. Potential PRF area by grid and county

  • potential_prf_grids.rds
    Grid-level estimate of land eligible for PRF coverage within each
    PRF grid cell and county, measured in acres. Derived by intersecting
    USDA Forest Service Rangelands V1, USDA NASS Cropland Data
    Layer (CDL) pasture/forage classes, and USGS 2010 population density
    (to exclude developed areas). One row per state × county × grid
    combination.

Columns

  • state_code = FIPS state code (2-digit integer)
  • county_code = FIPS county code (3-digit integer)
  • grid_id = PRF grid identifier (numeric GRIDCODE)
  • potential_pasture = Estimated acres of CDL-classified pasture,
    grassland, shrubland, or hay within the grid cell and county
    (excluding populated areas)
  • potential_rangeland = Estimated acres of USDA Forest Service
    Rangelands V1 rangeland or transitional rangeland within the grid
    cell and county (excluding populated areas)
  • potential_range_pasture = Estimated acres of combined
    pasture/rangeland (union of CDL and Rangelands V1 eligible classes,
    excluding populated areas)
  • county_fips = 5-digit county FIPS code (character;
    state_code + county_code zero-padded)

8. Rangeland productivity statistics by grid

  • productivity_prf_grids.rds
    Annual mean distribution statistics of USDA Forest Service rangeland
    productivity (forage biomass) within eligible pasture/rangeland
    pixels of each PRF grid cell. One row per grid × year combination.
    Available for years where productivity rasters exist (approximately
    2020–present).

Columns

  • grid_id = PRF grid identifier (numeric GRIDCODE)
  • commodity_year = Commodity year (integer)
  • rangeland_prod_mean = Mean rangeland productivity value within
    eligible pixels of the grid cell
  • rangeland_prod_median = Median rangeland productivity value
  • rangeland_prod_sd = Standard deviation of rangeland
    productivity values
  • rangeland_prod_min = Minimum rangeland productivity value
  • rangeland_prod_max = Maximum rangeland productivity value
  • rangeland_prod_p05 = 5th percentile of rangeland productivity
    values
  • rangeland_prod_p10 = 10th percentile of rangeland productivity
    values
  • rangeland_prod_p90 = 90th percentile of rangeland productivity
    values
  • rangeland_prod_p95 = 95th percentile of rangeland productivity
    values

9. County-level PRF penetration

  • prf_county_penetration.rds
    County-year panel combining potential PRF-eligible land area, actual
    insured acres, agricultural census land, livestock inventories, and
    derived insurance penetration rates. Covers commodity years 2016 to
    present.

Columns

  • county_fips = 5-digit county FIPS code (character)
  • state_code = FIPS state code (2-digit integer)
  • county_code = FIPS county code (3-digit integer)
  • commodity_year = Commodity year (integer, 2016–present)
  • potential_pasture = Estimated potential pasture acres in the
    county (from potential_prf_grids.rds, capped at NASS census
    pasture land)
  • potential_rangeland = Estimated potential rangeland acres in
    the county
  • potential_range_pasture = Estimated combined pasture +
    rangeland acres in the county (capped at NASS census agricultural
    land)
  • insured_acres_prf = PRF (commodity 88) insured acres in the
    county for the crop year (from RMA SoB)
  • insured_acres_aph = APH forage/alfalfa/pasture (commodities
    32, 33, 48, 107, 332) insured acres in the county (from RMA SoB)
  • ag_land = Total agricultural land acres in the county (from
    USDA NASS Census of Agriculture)
  • pasture_land = Pasture land acres in the county (from USDA
    NASS Census of Agriculture)
  • total_animals = Total livestock inventory (cattle + goats +
    sheep; sum over 2000–present from NASS survey data)
  • insured_acres_prf_cum = Cumulative PRF insured acres across
    all years for the county
  • insured_acres_aph_cum = Cumulative APH insured acres across
    all years for the county
  • prf_penetration = County PRF insurance penetration rate
    (percent; insured_acres_prf / potential_range_pasture × 100,
    capped at 100%)
  • aph_penetration = County APH forage insurance penetration rate
    (percent; insured_acres_aph / potential_pasture × 100, capped at
    100%)
  • national_prf_penetration = National PRF penetration rate for
    the crop year (percent)
  • national_aph_penetration = National APH forage penetration
    rate for the crop year (percent)
  • (Additional county geometry columns from urbnmapr for mapping)

Notes on coverage

  • County-level actuarial files are available for 2007 to 2026.
  • Grid-level actuarial files are available for 2011 to 2026.
  • CPC historic precipitation data covers all years for which daily CPC
    data have been processed.
  • SoB TPU data (prf_sobtpu.rds) are available for 2007 to
    present
    .
  • RMA Rainfall Index (rmaRainfallIndices.rds) is derived from the
    most recent official RMA archive and covers all available years
    in that archive.
  • Potential area files (potential_prf_grids.rds) and productivity
    files (productivity_prf_grids.rds) reflect the CDL and Forest
    Service data vintage used at the time of processing.
  • County penetration data (prf_county_penetration.rds) covers
    commodity years 2016 to present.
  • Variable availability within the grid-level files may vary slightly
    over time as the underlying actuarial structure evolves.

PRF Interval Reference

PRF insurance intervals each cover a 2-month precipitation window. The
mapping of interval_code to calendar months is:

interval_code Months Covered
1 January – February
2 February – March
3 March – April
4 April – May
5 May – June
6 June – July
7 July – August
8 August – September
9 September – October
10 October – November
11 November – December

Producers may select up to two intervals per policy year. The rainfall
(or vegetation) index for each interval is compared to its long-run
average to determine whether an indemnity is triggered.

Download and use in R

Files in this release can be downloaded directly from GitHub into R
using piggyback.

Example: Download a county-level actuarial file

The example below downloads prf_adm_county_level_2026.rds from the
prf release in the ftsiboe/USFarmSafetyNetLab repository, saves it
in a local data folder, and reads it into R.

file_name <- "prf_adm_county_level_2026.rds"
directory <- "data"

if (!dir.exists(directory)) {
  dir.create(directory, recursive = TRUE)
}

piggyback::pb_download(
  file = file_name,
  dest = directory,
  repo = "ftsiboe/USFarmSafetyNetLab",
  tag = "prf",
  overwrite = TRUE
)

data <- readRDS(file.path(directory, file_name))

data
str(data)
head(data)

Example: Download a grid-level actuarial file

file_name <- "prf_adm_grid_level_2026.rds"
directory <- "data"

if (!dir.exists(directory)) {
  dir.create(directory, recursive = TRUE)
}

piggyback::pb_download(
  file = file_name,
  dest = directory,
  repo = "ftsiboe/USFarmSafetyNetLab",
  tag = "prf",
  overwrite = TRUE
)

data <- readRDS(file.path(directory, file_name))

data
str(data)
head(data)

Example: Download the historic CPC precipitation file

file_name <- "cpc_historic_precipitation.rds"
directory <- "data"

if (!dir.exists(directory)) {
  dir.create(directory, recursive = TRUE)
}

piggyback::pb_download(
  file = file_name,
  dest = directory,
  repo = "ftsiboe/USFarmSafetyNetLab",
  tag = "prf",
  overwrite = TRUE
)

data <- readRDS(file.path(directory, file_name))

data
str(data)
head(data)

Data sources

These files are derived from publicly available source materials,
including:

  • USDA Risk Management Agency (RMA): PRF actuarial data master
    (ADM), Summary of Business (SoB) TPU data, and official RMA rainfall
    index archives — available at the RMA PRF data
    repository
  • NOAA Climate Prediction Center (CPC): CONUS 0.25° gauge-based
    daily precipitation data products used in supporting workflows —
    available at NOAA
    CPC
  • Official PRF grid: official_RMA_RI_grid shapefile published by
    Grazing Management Systems (Originator: Grazing Management Systems;
    Title: official_RMA_RI_grid; Date: 2009-08-22; Edition: 1.0;
    Geospatial Data Presentation Form: vector digital data; Online
    Linkage: http://prfri-rma-map.tamu.edu/default.aspx)

How the data are produced

File Source Derivation
official_RMA_RI_grid_01.zip USDA RMA / Grazing Management Systems Official shapefile downloaded directly from the RMA PRF repository; no transformations applied
rmaRainfallIndices.rds USDA RMA PRF rainfall index archive Latest rainfall index .txt file downloaded, cleaned, and averaged by grid_id × insurance_plan_code × Commodity0088 × Commodity1191 × commodity_year × interval_code
prf_sobtpu.rds USDA RMA Summary of Business (SoB) TPU Filtered to plan 13 / commodity 88; aggregated to county × interval × type × coverage level; sums of insured_acres, liability, premium, subsidy, indemnity
cpc_historic_precipitation.rds NOAA CPC daily precipitation rasters Daily CPC values summed to monthly totals per PRF grid cell; precipitation_rma is back-calculated so the interval-level sum equals actual_index × long-run average precipitation from the official RMA rainfall index
prf_adm_county_level_*.rds USDA RMA Summary of Business (SoB) TPU base_rate = total_premium / liability; payment_factor = indemnity / liability; aggregated to county × interval × type × coverage level
prf_adm_grid_level_*.rds USDA RMA Actuarial Data Master (ADM) Grid-level ADM rates joined with county base values, PRF program dates, and subsidy percentages from the ADM; requires year ≥ 2011
potential_prf_grids.rds USDA FS Rangelands V1 + USDA NASS CDL + USGS population density Pixels classified as rangeland (Rangelands V1) or pasture/forage (CDL codes 36, 37, 62, 64, 152, 176) and with zero 2010 population density are summed at 30 m² resolution and converted to acres
productivity_prf_grids.rds USDA FS annual rangeland productivity rasters Productivity pixel values within eligible pasture/rangeland pixels are aggregated to distribution statistics per grid × year; then averaged across years
prf_county_penetration.rds potential_prf_grids.rds + RMA SoB + USDA NASS Census/Survey Potential area capped at census land totals; PRF/APH insured acres from SoB; penetration = insured / potential × 100%

Citation

When using these files in research, reports, or publications, please
cite:

  • this GitHub repository (ftsiboe/USFarmSafetyNetLab, tag prf) and
    the rfcipPRF workflow (https://github.com/ftsiboe/rfcipPRF)
  • the relevant USDA RMA PRF source materials (ADM and/or SoB data, RMA
    PRF rainfall index archives)
  • the relevant NOAA CPC precipitation data products, where applicable
  • the official PRF grid shapefile (Grazing Management Systems, 2009,
    official_RMA_RI_grid, v1.0,
    http://prfri-rma-map.tamu.edu/default.aspx)