Adjusts gross revenue protection (GRP) policy values so that they are equivalent to their corresponding yield protection policies, as is done by USDA RMA (Coble et al., 2010).

adjust_revenue_to_yield_equivalence(
  insurance_plan_code,
  liability_amount,
  indemnity_amount,
  projected_price,
  harvest_price
)

Arguments

insurance_plan_code

Integer vector. Plan codes for the insurance policy-codes 2 and 3 indicate revenue plans that require adjustment.

liability_amount

Numeric vector. The original liability amounts under the revenue policy.

indemnity_amount

Numeric vector. The original indemnity payments calculated under the revenue policy.

projected_price

Numeric vector. The projected price used in the revenue guarantee.

harvest_price

Numeric vector. The actual harvest price used to settle revenue policies.

Value

A named list with two numeric vectors:

liability_amount_adj

Liability amounts adjusted so that the revenue policy is equivalent to a yield policy.

indemnity_amount_adj

Indemnity amounts adjusted for yield- equivalence, floored at zero.

Details

For revenue plans (codes 2 and 3), the liability is scaled by \(projected\_price / harvest\_price\). For pure yield plans (code 1), no adjustment is made. The loss guarantee for code 2 is further adjusted to use the higher of projected or harvest price. The "production to count" is then the difference between that guarantee and the original indemnity. Finally, the indemnity is re-computed on the yield-equivalent basis and floored at zero to avoid negative payments.

References

Coble, K. H., Heimlich, R., & Jolly, R. (2010). Comprehensive Review of RMA Loss Adjustment Procedures (USDA RMA). https://legacy.rma.usda.gov/pubs/2009/comprehensivereview.pdf

Examples

# No adjustment for plan 1 (yield policy):
adjust_revenue_to_yield_equivalence(
  insurance_plan_code = 1,
  liability_amount     = 1000,
  indemnity_amount     = 200,
  projected_price      = 5.50,
  harvest_price        = 5.00
)
#> $liability_amount_adj
#> [1] 1000
#> 
#> $indemnity_amount_adj
#> [1] 120
#> 

# Adjustment for plan 2 or 3 (revenue policies):
adjust_revenue_to_yield_equivalence(
  insurance_plan_code = c(2, 3),
  liability_amount     = c(1000, 1000),
  indemnity_amount     = c(150, 100),
  projected_price      = c(5.50, 5.50),
  harvest_price        = c(6.00, 4.25)
)
#> $liability_amount_adj
#> [1]  916.6667 1294.1176
#> 
#> $indemnity_amount_adj
#> [1]  54.16667 129.41176
#>