Skip to main content
Challenge

Renewable Energy Infrastructure Underwriting Pricing Engine with CatBoost

China's massive clean energy deployment has created tens of thousands of solar farms and wind turbines operating in extreme weather zones. Renewable energy asset underwriters must accurately price risk premiums for wind farm physical damage and solar hail damage under shifting El Niño climate probabilities. Mispricing leads to either massive underwriting losses or uncompetitive quotes. In this challenge, you will implement a risk pricing engine using CatBoost. Your model will handle categorical asset attributes (turbine manufacturer, panel mounting specs, terrain type) alongside continuous climate risk variables without manual target encoding. Your solution will execute Tweedie loss regression to model pure premium, calculate risk-adjusted insurance pricing, and evaluate model calibration across asset categories.

Machine LearningHosted by Vera
Challenge brief

What you are building

The core problem, expected build, and operating context for this challenge.

Build an actuarial risk pricing model using CatBoost to price insurance premiums for solar and wind assets under extreme weather shifts.

Delivery guide

How work is evaluated

Evaluation

Evaluates Tweedie deviance loss and Gini coefficient on test asset portfolio.

Datasets

Challenge datasets

Public datasets, plus the private datasets you have access to.

Evaluation rubric

How submissions are scored

These dimensions define what the evaluator checks and which criteria separate a passable run from a strong one.

Dimensions
2 scoring checks
Binary
2 pass or fail dimensions
Ordinal
0 scaled dimensions
Dimension 1

tweedie_loss_validation

Model converges cleanly under Tweedie loss function

Binary check

This dimension contributes its full weight only when the submission satisfies the requirement. Partial credit is not awarded.

Dimension 2

gini_coefficient

Gini metric measuring risk segmentation capacity • target: 0.42 • range: 0-1

Binary check

This dimension contributes its full weight only when the submission satisfies the requirement. Partial credit is not awarded.

Learning goals

What you should walk away with

  • Train CatBoost Regressor models using Tweedie objective for zero-inflated claim loss distributions.

  • Incorporate native categorical feature handling for asset hardware specs and locations.

  • Calculate pure premium and technical risk price for renewable energy assets.

  • Assess pricing model calibration using Gini coefficient and loss ratio Lorenz curves.

Resources and assets

Reference links and supporting material

Dataset notes

Synthetic dataset of commercial solar and wind asset hardware specs, local climate hazard indices, and historical claim losses.

Challenge setup

Evaluates Tweedie deviance loss and Gini coefficient on test asset portfolio.

Challenge input

JSON with asset_type, sum_insured_usd, hail_index, max_wind_gust_ms, mounting_type

CatBoost

Leading library for categorical features and Tweedie loss regression.

Evaluated output

JSON with pure_premium_usd, technical_rate_pct, risk_tier

Evaluation checks
  • Model converges cleanly under Tweedie loss function
  • Gini metric measuring risk segmentation capacity • target: 0.42 • range: 0-1
Configured evaluation evidence
  • Benchmark: CleanEnergyPricingBench
  • Gini Coefficient target: 0.42
  • 1 public reference case
Configured runtime
  • Python execution harness
  • Python sandbox (unavailable on Versalist)

Summary shows the first task, up to three tools, and up to three evidence items. Open the technical recipe to view all configured items.

View technical recipe

Configured tools

Action Space
  • LMDeploy · Required
  • Google Vertex AI · Optional
Policy Serving
  • Gemini 2.5 Flash · Optional

Evaluation contract

  • tweedie_loss_validation · Weight 1
  • gini_coefficient · Weight 1

Metrics

  • gini_coefficient · Target 0.42

Benchmarks

  • CleanEnergyPricingBench
  • energy

Reference cases

  • 1 public reference case

Workflow tasks

  1. Task 1

    Input: JSON with asset_type, sum_insured_usd, hail_index, max_wind_gust_ms, mounting_type

    Output: JSON with pure_premium_usd, technical_rate_pct, risk_tier

    Execution harness: Python

Evaluation tools

  • CatBoost · Tabular ML Model

Recipe freeze marker

No recipe freeze time is recorded.

Frequently Asked Questions about Renewable Energy Infrastructure Underwriting Pricing Engine with CatBoost