Skip to content

Repository files navigation

SuperGLM

CI codecov Python 3.12+

Penalised GLMs and GAM-style pricing models for insurance. SuperGLM combines explicit feature specs, exact REML, large-n discrete REML, solver-backed monotone splines, actuarial validation tooling, and deployable fitted estimators for Poisson, Gamma, NB2, Tweedie, Binomial, Gaussian, and Gaussian or Gamma location–scale models.

Install

pip install superglm

Interactive Plotly charts are optional: pip install "superglm[plotting]". The browser model editor is included.

Fit a pricing model

from superglm import Categorical, Numeric, Spline, SuperGLM

features = {
    "DrivAge": Spline(kind="ps", k=14, knot_strategy="quantile_rows"),
    "VehAge": Spline(kind="cr", k=10, knot_strategy="quantile_rows"),
    "BonusMalus": Spline(kind="cr", k=12, knot_strategy="quantile_tempered"),
    "Area": Categorical(base="most_exposed"),
    "LogDensity": Numeric(),
}
model = SuperGLM(family="poisson", features=features)
model.fit_reml(train_df, y_train, sample_weight=exposure_train)
print(model.summary())

REML chooses the smoothness of every spline. Monotone and curvature constraints are enforced inside the fit. SuperLSS fits location, scale and shape parameters together for severity and distributional work.

Documentation

Licence

MIT. Free for everyone, commercial use included.

Releases

Packages

Used by

Contributors

Languages