insurancerating 0.8.1.9000 (development version)
Changes since 0.8.1
-
rating_table()gainsestimate_namefor assigning exact names to fitted coefficient or relativity columns. It accepts one name for one model, a vector in model order, or a named vector for multi-model comparisons;autoplot()andas_gt()retain the custom columns. -
edit_smoothing()gainsslope_adjustment, usingfromas its anchor, for changing the remaining development of an effective smoothing after a selected anchor. Values before the anchor remain unchanged and the edited curve is continuous at the anchor. The defaultslope_adjustment = 1leaves the smoothing unchanged. -
calibrate_model()adds a final multiplicative calibration step for refined log-link GLMs. It changes only the overall fitted level, records the applied factor and intercept shift, and remains compatible withrating_table()andadd_prediction(). -
add_restriction()now warns when a newly added numeric interval overlaps the existing interval classification. The message identifies the conflicting levels and explains how a separate replacement variable can be supplied withreplaceswhen the intention is to replace the original classification. -
autoplot.rating_refinement()gainsshow_segments = FALSEfor inspecting a continuous smoothing curve without displaying the proposed tariff segments. -
premium_change()interprets the effective smoothing in a refinement using either the existing doubling comparison or a fixed increment supplied withincrement. Current and historical refinement states can be selected withstepsand compared with print andas_gt()methods. The defaultbasis = "curve"evaluates the continuous effective smoothing;basis = "segments"compares the implemented tariff-interval relativities. -
add_restriction()gainsreplaces, which allows a new fixed tariff factor to explicitly replace an existing standalone model term duringrefit(). The replacement is retained in refinement summaries and audits. The defaultreplaces = NULLpreserves the existing additive behaviour for new factors. -
rating_grid_db()andmerge_date_ranges_db()add lazy database variants for portfolios that should be reduced before they are imported into R.rating_grid_db()translates grouped counts and sums throughdbplyr, whilemerge_date_ranges_db()implements temporal gaps-and-islands reduction in DuckDB. A new large-portfolio vignette compares local and database workflows and illustrates lazy reduction of portfolios with 10 and 50 million records. -
rating_grid()andmerge_date_ranges()are now documented together as portfolio-reduction functions. Both use groupeddata.tableoperations internally and return ordinarydata.frameobjects for downstream use. -
split_periods_to_months()andactive_rows_by_date()are now documented as portfolio time operations. Their calculations use localdata.tableobjects internally, while their public output is always a regulardata.frame.split_periods_to_months()now usesdataas its first argument (dfremains available as a deprecated named argument) and expands periods without a row-wise R loop.active_rows_by_date()replaces the technicalnomatchandmultarguments withunmatchedandmultiple_matches; the old names remain available with deprecation warnings. -
merge_date_ranges()now usesmerge_gap_days = 1by default, so only overlapping and directly adjacent coverage periods are merged unless a wider administrative gap is selected explicitly. The interval reduction is now performed as a groupeddata.tablecalculation, avoiding row-wise R loops for large portfolios. Empty inputs, nested intervals and aggregation functions without ana.rmargument are handled explicitly. The deprecatedreduce()wrapper retains its historical default for compatibility. The first argument is now nameddata(dfremains available as a deprecated named argument), and the result is a regulardata.framesubclass whiledata.tableremains an internal implementation detail. Together withrating_grid(), the function is documented as part of the portfolio reduction workflow. -
rating_table()now distinguishes structural and comparative level order. Pure numeric levels and numeric intervals are ordered from low to high, explicitly ordered factors retain their declared level sequence, and nominal factors are ordered from the highest to the lowest fitted effect by default. Numeric and ordinal order are not displaced by the fitted reference level. The newlevel_order_by_risk_factorargument can preserve model order or select alphabetical or estimate-based ordering for individual factors. Risk factors can retain formula order or be sorted alphabetically, and comparisons with several models can select the model that determines the estimate ordering. The resulting order is retained byas_gt()andautoplot(). -
add_rebasing()can rescale the current relativities of a categorical tariff factor so that an explicit reference level equals 1. When no level is supplied, the level with the largest portfolio weight is selected. Rebasing preserves every ratio between factor levels and can be applied after restrictions, shrinkage or sublevel relativities. -
add_shrinkage()can reduce differences between categorical tariff relativities before refitting. Relativities are blended with a weighted centre on the log scale and rescaled to preserve their weighted arithmetic mean. Explicit GLM weights or a simple exposure offset are detected when possible; a column name orweights = "equal"can be supplied directly. The selected credibility, weighting basis and before/after relativities are retained in the ordered refinement specification. -
audit_refinement()now provides a reproducible comparison between the unrestricted and refined GLM on common observed model points. It records the package version, formulas and ordered refinement steps, and reports the portfolio and exposure-weighted level effects before and after refinement.summary()on a pre-refitrating_refinementobject now gives a structured review of the proposed specification, whileas_gt()formats the fitted audit for reporting. -
bootstrap_coefficients()now assesses GLM coefficient stability by resampling the estimation portfolio rows and refitting the model. Individual failed fits are retained as missing replicates instead of stopping the full run.summary()reports link-scale or exponentiated results, with"relativity"available as an alias, andas_gt()provides a formatted coefficient table. - The function documentation, README and vignettes now use a consistent, practical actuarial style. The documentation distinguishes observed portfolio experience, fitted model effects, explicit tariff assumptions and model diagnostics, and states relevant interpretation limits more clearly. Experimental documentation badges have been removed, and the low-level
rmse()helper is listed with the package utilities in the reference index. -
add_smoothing()keeps"spline"as its general-purpose default and fits it as an unconstrained penalized cubic regression spline. Polynomial smoothing is selected explicitly with"poly", while"gam"provides a thin-plate GAM comparison.degreeis limited to polynomial fits,kis limited to spline methods, and an omittedkis adapted to the available grouped model points. Its arguments now follow the modelling sequence of variables, requiredbreaks, smoothing method, complexity and weights. Shape-constrained methods now use readable values such as"increasing","decreasing","increasing_convex"and"increasing_concave"; the former short SCOP codes remain accepted as compatibility aliases.add_smoothing()now focuses only on the initial smoothing and its structural shape. The former global strength adjustment has been removed.edit_smoothing()now supports a multiplicative localadjustment, such as1.05for an increase of up to 5 percent, together with continuous inherited or linear transitions and an explicit discontinuous"step"transition. Relative adjustments are anchored to the unchanged smoothing at both interval boundaries and remain separate from explicit target-value edits. Eachedit_smoothing()call is stored as a separate cumulative refinement step. In addition,edit_smoothing()now supportsslope_adjustment, withfromas its anchor. This leaves the curve unchanged through the anchor and scales only its remaining change, allowing a continuous effect to become steeper or flatter above a selected source-variable value. Inautoplot.rating_refinement(),stepselects the cumulative smoothing state andshow_initial_smoothing = TRUEoverlays the originaladd_smoothing()curve for comparison. -
add_restriction()recognises a split variable created by an earlieradd_relativities()step without requiringallow_new_risk_factors = TRUE. A partial restriction changes the supplied levels and fixes all remaining levels at their current derived relativities. -
add_relativities()now validates sublevels against the observedsplit_variableand parent categories againstmodel_variablebefore storing a refinement step. Closely matching observed values are suggested for likely spelling or spacing errors. The resulting hybrid tariff factor is now named withoutput_variable; its default is the model variable followed by_refined, while application-specific names such assbi_tariff_segmentcan be supplied explicitly. -
split_level()andrelativities()are now the primary helpers for defining named sublevel splits and share one reference page describing their combined use. The low-levelsplit_relativities()constructor is deprecated because it does not record the parent model level required byadd_relativities(). - Spline, GAM and shape-constrained smoothing validate the requested basis dimension against the number of unique grouped covariate values before model fitting.
-
autoplot.rating_table()andautoplot.factor_analysis()abbreviate long risk-factor level labels by default. Shortened labels use one terminal period, can be disabled, and can be replaced by explicitly supplied display labels. Both methods now also providelegend_positionfor consistent legend placement. -
autoplot.riskfactor_gam()andautoplot.tariff_segments()now use one shared plotting implementation and are documented on one reference page. Segment plots retain their boundaries by default and can show the underlying GAM curve alone withshow_segments = FALSE. -
derive_tariff_segments()now usessegmentation_penaltyas its primary split-control argument;complexityremains available as a deprecated alias. The method divides the fitted GAM curve without applying a second exposure or claim-volume weight; these quantities have already informed the GAM estimate and remain available throughsummary()as diagnostics. Validation now covers malformed GAM objects, non-finite values and whole-number search controls. Tree splits are read from the fitted tree structure rather than parsed from printed rules.add_tariff_segments()reapplies stored boundaries to the continuous risk factor, so filtering or reordering rows no longer misaligns assignments and unsupported values outside the fitted range fail explicitly.
insurancerating 0.8.1
CRAN release: 2026-07-30
Overview of changes since 0.8.0
- The excess-loss workflow has been made more portfolio-oriented and easier to audit. Threshold assessments now preserve input column names, support portfolio-level claim counts and can be presented with
as_gt().redistribute_excess_loss()now combines capping and redistribution in one step and returns adjusted claim amounts for severity modelling. - Large-loss cost is redistributed over claim-bearing rows using portfolio, risk-factor or partial credibility redistribution. The total observed claim cost is preserved. Users can include the allocation in one severity response or retain it as a separate excess-loading component.
-
add_portfolio_experience()is now the primary helper for attaching observed portfolio experience torating_table()objects. The formeradd_observed_experience()interface remains available as a deprecated compatibility wrapper. - The documentation for
rating_table(),add_prediction()and the excess-loss workflow has been expanded with more applied portfolio examples. The pkgdown configuration and website build workflow have also been updated.
Main API updates
-
add_smoothing()now stops early with the affected column and missing-value count whenmodel_variablecontainsNA.add_prediction()preservesNApredictions and reports their number in a warning. -
add_restriction()and deprecatedrestrict_coef()can include tariff levels that were not observed when the GLM was fitted. Their supplied relativities are treated as explicit tariff assumptions. Setallow_new_levels = FALSEfor strict matching against observed levels. -
add_restriction()can add a fixed, expert-specified tariff factor that is present in the refinement data but absent from the fitted GLM. This requires the explicit opt-inallow_new_risk_factors = TRUE; the default remainsFALSE. Deprecatedrestrict_coef()keeps its historical permissive behaviour and therefore usesTRUEby default. - Repeated
add_restriction()calls for the same risk factor now update the existing restriction in place. Newly supplied relativities replace earlier values for those levels, while restrictions for other levels and the refinement-step order are retained. - Models returned by
refit()now print a concise refinement summary followed by the regular GLM output. The stored call is shown as a readableglm(...)call instead of the internal function definition. -
add_relativities()now uses coefficients from an earlieradd_restriction()step automatically. The requested model variable and the effective restricted variable remain separately recorded, restrictions are not applied twice, and refinement-step ordering remains explicit. The finalrating_table()reports only the derived split variable rather than also showing the intermediate restricted variable. - Refinement documentation now distinguishes the editable
rating_refinementspecification from the fitted GLM returned byrefit(). Functions that add or edit refinement steps reject ordinary and refitted GLMs with an actionable error. Iterative smoothing therefore retains the refinement specification and callsrefit()after each adjustment. - The
add_relativities()example now demonstrates that several original model levels can be refined in onerelativities()specification by using multiplesplit_level()calls. - Deprecated
rating_factors()again preserves the dynamic estimated-column name produced byrating_table(), and deprecatedfit_gam()correctly forwards a user-suppliedamountcolumn.
Rating tables
-
add_portfolio_experience()is now the primary API for enriching arating_table()object with observed portfolio experience. -
add_observed_experience()is deprecated and remains available as a compatibility wrapper. -
add_portfolio_experience()can calculate portfolio experience automatically from portfolio data for all risk factors in arating_table(), and accepts multiple existingfactor_analysis()objects. -
autoplot.rating_table()acceptsmetricto choose the attached portfolio experience metric at plot time.
Excess-loss workflow
-
assess_excess_threshold()now returns class"threshold_assessment", preserves the original group and exposure column names, supports an optional claim-count column and usesas_gt()for report-ready threshold comparisons. -
redistribute_excess_loss()replaces the former multi-step decomposition, allocation and loading workflow. It returns capped, excess, redistributed, adjusted and adjusted-average claim amounts using names derived from the supplied claim-amount column. - Redistribution is claim-count weighted. Rows without claims remain zero, and the adjusted loss reconciles to the original observed loss.
-
redistribute_excess_loss()now acceptsredistribution_weightfor risk-sensitive shares andreceives_redistributionfor selecting which claim-bearing rows receive redistributed excess loss. -
redistribute_excess_loss()can now identify large losses that should remain unadjusted and should not contribute their excess to the redistribution pool. - The redistribution choice is now expressed through
redistribution_method = "portfolio","risk_factor"or"partial". - Results now inherit from
"excess_redistribution". Theirsummary()method audits contributed and received excess loss, net loss shifts and changes in average claim amount by risk factor or another selected portfolio column. -
redistribute_excess_loss()now exposes the risk-factor loading, credibility, portfolio loading, blended loading, preservation factor and final redistribution loading. Setcalculation_details = FALSEto omit these row-level audit columns from modelling data;summary()retains the complete calculation audit. -
redistribute_excess_loss()now supportsoutput = "excess_loading"in addition to the backwards-compatible"redistributed_claim"default. The new mode keeps capped severity separate and returns allocated excess loss plus an excess loading per unit ofredistribution_weight.
insurancerating 0.8.0
CRAN release: 2026-06-02
Main API updates
Portfolio analysis
-
factor_analysis()is now the primary function for univariate/factor-level portfolio analysis. It returns objects with primary class"factor_analysis"while retaining"univariate"for compatibility. -
plot_severity_distribution()was added for exploratory severity diagnostics by category. It shows individual claim observations with mean and median markers, optional direct labels, and optional firebrick highlighting for claims above a user-supplied threshold. -
univariate()is deprecated and remains available as a compatibility wrapper. The old NSE interface is still supported through the deprecated wrapper. -
factor_analysis()now validates metric columns and grouping variables early, with clearer error messages for missing columns. - Metrics with a zero or missing denominator now return
NA_real_instead ofInforNaN. -
autoplot.factor_analysis()is the primary plot method. The deprecatedshow_plotsargument has been replaced bymetrics. - The factor-analysis plot keeps the established package styling and now uses a consistent grid, axis-line, tick and secondary-axis style.
Outlier histograms
-
outlier_histogram()has clearer argument names:lower,upper,density,bar_fill,bar_color,tail_fill,tail_color, anddensity_color. - Deprecated argument names remain supported:
left,right,line,fill,color, andfill_outliers. - The default colours now align with the package palette: light grey bars, orange tail bins, and blue density curve.
- Input validation has been expanded for missing columns, non-numeric variables, invalid cutoffs, invalid colours, invalid bin counts, constant variables and all-missing variables.
-
histbin()is deprecated and remains available as a compatibility wrapper.
Risk factor GAMs and tariff segmentation
-
risk_factor_gam()is the primary spelling for fitting GAMs to continuous risk factors.riskfactor_gam()andfit_gam()remain available for compatibility, withfit_gam()deprecated. -
risk_factor_gam()returns objects with primary class"risk_factor_gam"; compatibility classes are retained for older code. -
model = "pure_premium"replaces the oldermodel = "burning"wording. The old value remains supported with a lifecycle warning. - Input validation and documentation for frequency, severity and pure-premium GAMs have been improved.
-
derive_tariff_segments()replacesconstruct_tariff_classes()as the primary API for deriving tariff segments from a fitted risk-factor GAM. -
derive_tariff_segments()returns objects with primary class"tariff_segments". -
add_tariff_segments()can add derived tariff segments back to a portfolio. -
construct_tariff_classes()remains available as a deprecated compatibility wrapper. - Split extraction now handles decimal split points correctly.
- Tree-fitting and split-extraction failures now fail clearly instead of silently returning one broad tariff interval.
- The tariff-segment plot now recognises confidence interval columns produced by the package’s own GAM output.
Rating tables
-
rating_table()is the primary API for interpreting fitted GLM coefficients in tariff-table form.rating_factors()andrating_factors2()are deprecated wrappers. -
rating_table()now returns objects with primary class"rating_table"while retaining the legacy"riskfactor"class for compatibility. -
exposure_outputreplaces the olderexposure_nameargument. -
significancereplaces the oldersignif_starsargument. - Deprecated rating-table wrappers and plotting code have been separated more clearly in the source structure.
-
add_observed_experience()was added to attachfactor_analysis()output to arating_table()object before plotting. This replaces the earlier directunivariate_*arguments inautoplot.rating_table(). -
autoplot.rating_table()now plots attached observed experience fromadd_observed_experience()and uses cleaner, package-consistent plot styling, including a subtle secondary exposure axis.
Prediction helpers
-
add_prediction()now has clearer naming arguments:predictions,prefix,confidence, andinterval_names. -
varandconf_intare deprecated in favour ofpredictionsandconfidence. - Confidence interval columns now use
_lowerand_uppersuffixes by default. - The function now validates
alpha, confidence settings, duplicate output names, name collisions with existing columns, missing models and non-GLM inputs.
Model data and rating grids
-
extract_model_data()replacesmodel_data()as the primary API for extracting model data from fitted models. -
model_data()is deprecated and remains available as a wrapper. -
rating_grid()now uses base R internally and returns a regulardata.frame. - Plain GLM metadata extraction has been improved so
rating_grid(glm)groups by model terms as expected. -
as_gt()now formatsrating_tableobjects as grouped tariff tables, with optional significance stars and locale-aware formatting for fitted effects and exposure. - Refinement metadata is now joined by the related original/new factor columns instead of being cross-joined onto every rating-grid row.
Model refinement
- The refinement API has been clarified around
prepare_refinement() |> add_*() |> refit(). -
prepare_refinement()now explains row-count differences caused by omitted model observations. Its error identifies missing or non-finite model inputs, including the source variables used inside transformed model terms. - A large-loss workflow was added for adjusted severity modelling:
assess_excess_threshold()andredistribute_excess_loss(). -
assess_excess_threshold()compares candidate large-loss thresholds and shows the impact on excess loss, capped loss and pure premium. -
redistribute_excess_loss()caps claim amounts and redistributes the observed excess burden across claims before a severity GLM is fitted. It supports portfolio, risk-factor and partial redistribution. - Automatic credibility in
redistribute_excess_loss()uses the transparent formulaZ = n / (n + credibility_threshold)withcredibility_basis = "claims"or"excess_records". - Redistribution always preserves the total observed claim cost and returns an adjusted average claim amount suitable for a claim-count-weighted severity GLM.
-
add_smoothing()now usesmodel_variableandsource_variableas the primary argument names. - GAM and shape-constrained smoothing now validate the requested basis dimension against the number of unique grouped covariate values before model fitting. Polynomial smoothing similarly validates
degree, with actionable errors when the requested curve is too complex for the available model levels. -
autoplot.rating_refinement()acceptsx_maxandy_maxfor smoothing steps, allowing users to limit the visible axis ranges without changing the smoothing fit or the underlying refinement data. -
edit_smoothing()now uses clearer in-object editing arguments for adjusting smoothing settings without supplying an external data frame. -
add_restriction()can now accept a partial restriction data frame. Missing levels are automatically filled with the already fitted GLM relativities, so users can adjust only selected levels. -
add_relativities()now usesmodel_variableandsplit_variable. -
relativities()replacesrelativities_list()as the helper for building relativity specifications. -
restrict_coef(),smooth_coef()andrefit_glm()remain deprecated compatibility wrappers and now link clearly toadd_restriction(),add_smoothing()andrefit(). -
autoplot.rating_refinement()no longer carries an experimental badge and uses the package plot theme. - The refinement documentation has been expanded with applied examples and a clearer explanation of smoothing, restrictions, relativities and refitting.
Reference levels
-
set_reference_level()replacesbiggest_reference()as the primary helper for choosing factor reference levels. - The default method is
method = "largest_weight". - A manual
levelargument was added so a specific reference level can be selected explicitly. -
biggest_reference()remains available as a deprecated compatibility wrapper.
Time utilities
-
split_periods_to_months(),merge_date_ranges()andactive_rows_by_date()now avoid mutating caller-visible input data. -
active_rows_by_date()replacesrows_per_date()as the primary API for matching event dates, such as claim dates, to active portfolio rows. -
period_to_months(),rows_per_date()andreduce()remain available as deprecated compatibility wrappers. - Date interval validation, column validation, aggregation validation,
nomatchvalidation andmultvalidation have been improved. - R CMD check notes from data.table helper columns in
active_rows_by_date()have been resolved.
Model validation and performance
-
bootstrap_performance()now has an explicitmetric = "rmse"argument. -
sampling = c("bootstrap", "split")was added to distinguish bootstrap out-of-bag evaluation from split validation. - Deprecated arguments
nandfracremain supported as aliases forn_resamplesandsample_fraction. - Character and factor rating variables are handled more robustly across resamples so prediction does not fail when a level is absent from a training sample.
-
autoplot.bootstrap_performance()now uses a package-consistent visual style: subtle grey histogram, transparent blue density, orange original-model reference line, subtle confidence interval lines and no gap between the bars and x-axis. -
bootstrap_rmse()remains available as a deprecated compatibility wrapper and returned objects retain class"bootstrap_rmse"for older code. -
check_overdispersion()now validates non-GLM input, checks for Poisson models and fails clearly when residual degrees of freedom are not positive. -
print.overdispersion()now bases its conclusion on the original p-value rather than a rounded display value. -
check_residuals()now validates inputs, uses all scaled residuals for the KS test, handles empty residual vectors clearly and documents the DHARMa-based residual workflow for actuarial users. -
autoplot.check_residuals()now has a controllablemax_pointsargument and uses ASCII messages and the package plot theme.
Truncated severity distributions
-
fit_truncated_severity()replacesfit_truncated_dist()as the primary API for fitting distributions to truncated claim severities. - Returned objects use primary class
"truncated_severity"while compatibility with"truncated_dist"is retained. -
fit_truncated_dist()remains available as a deprecated compatibility wrapper. - Observations outside the truncation interval now fail clearly instead of only warning and continuing.
- Validation has been expanded for truncation bounds, optimisation starts, grid sizes, reporting options and random generator arguments.
- Public random generators
rlnormt()andrgammat()now validate sample size, distribution parameters, finite intervals and positive truncation mass. - Plot argument names were modernised to
ecdf_geom,x_label,y_label,show_title,digitsandtruncation_digits, with old names supported for compatibility.
Fisher-Jenks classification
-
fisher_classify()andfisher()are deprecated because Fisher-Jenks classification is a general-purpose grouping method and is not directly tied to the insurance-rating workflow. -
classIntmoved fromImportstoSuggests.
Documentation, website and tests
- The README and vignettes have been revised to present the package as a set of actuarial pricing building blocks rather than a prescribed pricing method.
- The former “Pricing principles” vignette was replaced by “Pricing workflow building blocks”.
- The refinement vignette was rewritten with a more practical tone and current API examples.
- pkgdown reference sections were reorganised; deprecated functions are grouped under “Deprecated” and internal S3 methods are no longer listed as primary reference topics.
- New and expanded tests cover tariff segmentation, rating tables, observed experience plotting, refinement workflows, model-data extraction, model performance, overdispersion, residual checks, outlier histograms, truncated distributions, time utilities and factor analysis.
insurancerating 0.7.5
CRAN release: 2024-10-09
-
rating_factors()now always returns correct output when column with exposure in data is not namedexposure -
intercept_onlyinupdate_glm()is added to apply the manual changes and refit the intercept, ensuring that the changes have no impact on the other variables. -
smoothinginsmooth_coef()is added to choose smoothing specification - The README has been revised
insurancerating 0.7.4
CRAN release: 2024-05-20
-
bootstrap_rmse()now usesafter_stat(density)instead of the deprecated dot-dot notation -
custom_themeinautoplot.univariate()is added to customize the theme
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
-
update_glm()now always returns the correct interval in case the function is used in combination withsmooth_coef()
insurancerating 0.7.1
CRAN release: 2022-09-06
-
rotate_angleinautoplot.univariate()is added to rotate x-labels -
univariate()now accepts external vectors forx;vec_ext()must be used
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
-
refit_glm()is renamed toupdate_glm() -
construct_model_points()andmodel_data()are added to create model points
insurancerating 0.6.8
CRAN release: 2021-11-10
-
show_totalinautoplot.univariate()is added to add line for total of groups in casebyis used inunivariate();total_colorcan be used to change the color of the line, andtotal_nameis 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 inrefit_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
-
smooth_coef()andrestrict_coef()are added for model refinement -
histbin()now uses darkblue as default fill color
insurancerating 0.6.4
CRAN release: 2021-01-12
- In
summary.reduce(),namecan be used to change the name of the new column in the output. - Dataset
MTPLnow contains extra columns forpower,bm, andzip. - Some functions in
insightare renamed, thereforeinsight::format_table()is replaced withinsight::export_table().
insurancerating 0.6.2
CRAN release: 2020-06-08
-
check_normality()is now depreciated; usecheck_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 argumentbyto determine summary statistics for different subgroups
insurancerating 0.6.1
CRAN release: 2020-04-29
-
univariate_all()andautoplot.univ_all()are now depreciated; useunivariate()andautoplot.univariate()instead -
check_overdispersion(),check_normality(),model_performance(),bootstrap_rmse(), andadd_prediction()are added to test model quality and return performance metrics -
reduce()is added to reduce an insurance portfolio by merging redundant date ranges
insurancerating 0.6.0
CRAN release: 2020-04-10
-
label_widthinautoplot()is added to wrap long labels in multiple lines -
sort_manualinautoplot()is added to sort risk factors into an own ordering -
autoplot()now works without manually loading packageggplot2andpatchworkfirst -
rating_factors()now returns an object of classriskfactor -
autoplot.riskfactor()is added to create the corresponding plots to the output given byrating_factors()
insurancerating 0.5.2
CRAN release: 2020-03-30
-
autoplot.univ_all()now gives correct labels on the x-axis whenncol> 1.
insurancerating 0.5.1
CRAN release: 2020-03-29
- A package website is added using pkgdown.
-
construct_tariff_classes()andfit_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(), andunivariate_all()are added to perform an univariate analysis on an insurance portfolio. -
autoplot()creates the corresponding plots to the summary statistics calculated byunivariate_*.
insurancerating 0.5.0
CRAN release: 2020-03-12
-
construct_tariff_classes()is now split infit_gam()andconstruct_tariff_classes(). - A vignette is added on how to use the package.
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
- In
construct_tariff_classes(),modelnow also accepts ‘severity’ as specification.
