Skip to contents

insurancerating (development version)

Model data extraction (extract_model_data() / model_data())

  • Added extract_model_data() to retrieve cleaned model data from glm, refitsmooth, and refitrestricted objects.
  • model_data() is deprecated as of 0.8.0 and now emits a lifecycle warning; it remains as a wrapper.

update_smoothing()

  • Introduces a dedicated helper to update existing smoothing specifications without refitting the full model from scratch.
  • Enables faster, more transparent iteration when fine-tuning smoothing curves.

Rating table output (rating_table() / rating_factors*())

Histogram functions (outlier_histogram() / histbin())

  • Added outlier_histogram() as the new name for histograms with outlier bins.
  • histbin() is deprecated as of 0.8.0 and now warns; it remains as a wrapper.
  • The x argument must now be provided as a string (standard evaluation).
  • No functional changes to binning or outlier handling.

Breaking changes

  • The function fit_gam() has been deprecated and replaced by riskfactor_gam().
    • fit_gam() used non-standard evaluation (NSE), allowing unquoted column names.

    • riskfactor_gam() now uses standard evaluation (SE), requiring column names as character strings.
      Example migration:

      # old (NSE, deprecated)
      fit_gam(df, nclaims = nclaims, x = age_policyholder, exposure = exposure)
      
      # new (SE)
      riskfactor_gam(df, nclaims = "nclaims", x = "age_policyholder", exposure = "exposure")
    • The NSE wrapper fit_gam() is still available but will show a deprecation warning and will be removed in a future release.

  • The function univariate() has been deprecated and replaced by univariate_summary().
    • univariate() used non-standard evaluation (NSE), allowing unquoted column names.

    • univariate_summary() now uses standard evaluation (SE), requiring column names as character strings.
      Example migration:

      # old (NSE, deprecated)
      univariate(df, x = area, severity = amount, nclaims = nclaims, exposure = exposure)
      
      # new (SE)
      univariate_summary(df, x = "area", severity = "amount",
                         nclaims = "nclaims", exposure = "exposure")
    • The NSE wrapper univariate() is still available but will show a deprecation warning and will be removed in a future release.

Minor changes

insurancerating 0.7.5

CRAN release: 2024-10-09

  • rating_factors() now always returns correct output when column with exposure in data is not named exposure
  • intercept_only in update_glm() is added to apply the manual changes and refit the intercept, ensuring that the changes have no impact on the other variables.
  • smoothing in smooth_coef() is added to choose smoothing specification
  • The README has been revised

insurancerating 0.7.4

CRAN release: 2024-05-20

insurancerating 0.7.3

CRAN release: 2024-05-09

  • autoplot.univariate() now generates a plot even when there are missing values in the rows
  • rating_factors() now always returns the correct coefficients when used on a ‘refitsmooth’ or ‘refitrestricted’ class of GLM.

insurancerating 0.7.2

CRAN release: 2022-12-20

insurancerating 0.7.1

CRAN release: 2022-09-06

insurancerating 0.7.0

CRAN release: 2022-07-08

  • smooth_coef() now gives correct results for intervals with scientific notation
  • reduce() now returns no errors anymore for columns with dates in POSIXt format

insurancerating 0.6.9

CRAN release: 2021-12-11

insurancerating 0.6.8

CRAN release: 2021-11-10

  • show_total in autoplot.univariate() is added to add line for total of groups in case by is used in univariate(); total_color can be used to change the color of the line, and total_name is added to change the name of the legend for the line
  • rating_factors() now accepts GLMs with an intercept only
  • fit_truncated_dist() is added to fit the original distribution (gamma, lognormal) from truncated severity data
  • join_to_nearest() now returns NA in case NA is used as input

insurancerating 0.6.7

CRAN release: 2021-07-28

  • smooth_coef() now returns an error message when intervals are not obtained by cut()
  • get_data() is added to return the data used in refit_glm()

insurancerating 0.6.6

CRAN release: 2021-05-19

  • summary.reduce() now gives correct aggregation for periods “months” and “quarters”
  • rows_per_date() is added to determine active portfolio for a certain date

insurancerating 0.6.5

CRAN release: 2021-03-22

insurancerating 0.6.4

CRAN release: 2021-01-12

insurancerating 0.6.3

CRAN release: 2020-10-28

  • fit_gam() for pure premium is now using average premium for each x calculated as sum(pure_premium * exposure) / sum(exposure) instead of sum(pure_premium) / sum(exposure) (#2).
  • histbin() is added to create histograms with outliers
  • reduce now returns a data.frame as output

insurancerating 0.6.2

CRAN release: 2020-06-08

  • check_normality() is now depreciated; use check_residuals() instead to detect overall deviations from the expected distribution
  • rating_factors() now shows significance stars for p-values
  • period_to_months() arithmetic operations with dates are rewritten; much faster
  • univariate() now has argument by to determine summary statistics for different subgroups

insurancerating 0.6.1

CRAN release: 2020-04-29

insurancerating 0.6.0

CRAN release: 2020-04-10

insurancerating 0.5.2

CRAN release: 2020-03-30

  • autoplot.univ_all() now gives correct labels on the x-axis when ncol > 1.

insurancerating 0.5.1

CRAN release: 2020-03-29

  • A package website is added using pkgdown.
  • construct_tariff_classes() and fit_gam() now only returns tariff classes and fitted gam respectively; other items are stored as attributes.
  • univariate_frequency(), univariate_average_severity(), univariate_risk_premium(), univariate_loss_ratio(), univariate_average_premium(), univariate_exposure(), and univariate_all() are added to perform an univariate analysis on an insurance portfolio.
  • autoplot() creates the corresponding plots to the summary statistics calculated by univariate_*.

insurancerating 0.5.0

CRAN release: 2020-03-12

insurancerating 0.4.3

CRAN release: 2019-11-01

  • period_to_months() is added to split rows with a time period longer than one month to multiple rows with a time period of exactly one month each.

insurancerating 0.4.2

CRAN release: 2019-05-31