Skip to main content

Haute - Open-source pricing engine for insurance teams on Databricks

Project description

✦ Haute

Open-source pricing engine for insurance.


Python 3.11+ Elastic License 2.0 Databricks AWS Azure Docker


Haute is a free pricing engine that lets insurance teams build rating pipelines in a visual editor, keep everything as version-controlled Python, and deploy to a live scoring API - on Databricks, AWS, Azure, or a plain Docker container.

It's aimed at the gap between enterprise platforms like Radar that cost six or seven figures a year, and the in-house Python notebooks that never quite make it to production.


Why this exists

The platform problem

Tools like WTW Radar have been the default for 30 years. They give you visual editing, deployment, monitoring - the full package. But you pay for it in ways beyond the licence fee:

Your models live inside a proprietary format. If you want to leave, you're rebuilding from scratch. Your team learns a platform-specific way of working instead of Python, Git, and the tools the rest of the data science world uses. You're tied to a single cloud provider. And there's no way to look under the hood - no source code, no public documentation, no community outside the vendor's ecosystem.

These tools made sense when there wasn't a credible open-source alternative. That's less true now.

The notebook problem

The other path - building pricing pipelines in Python notebooks with custom deployment scripts - gives you freedom, but the deployment story is usually painful. Models sit in notebooks for months. Getting to a live API means weeks of back-and-forth with an engineering team. There's no visual layer for analysts to work with, no impact analysis before changes go live, and no standardised way of doing things across the team.


What Haute actually does

A pricing pipeline in Haute is a Python file. Standard Python, using Polars DataFrames. It lives in Git, you can open it in any editor, and it's testable with pytest like any other code.

But it's also a visual graph. Haute runs a browser-based editor where the pipeline is rendered as a drag-and-drop flow diagram - nodes for data sources, transforms, models, and outputs, connected by edges that show how data moves through the rating structure. You can click into any node and see its output data.

The key bit: these are the same thing. The visual editor reads from and writes to the Python file. Change a node in the GUI and the .py file updates on disk. Edit the .py file and the graph updates in the browser. There's no import/export step, no translation layer, no "generate code" button. They're always in sync.

This means analysts can work visually while everything stays in version control. Technical people can work in code without losing the visual representation. And nobody has to choose one or the other.


Deployment

Haute deploys pipelines as live scoring APIs. You set the target once in a config file, and the deployment handles pruning the pipeline to the scoring path, bundling model files, running validation, and pushing to the endpoint.

Target What gets deployed
Databricks MLflow model on Databricks Model Serving
AWS SageMaker MLflow model on a SageMaker real-time endpoint
Azure ML MLflow model on an Azure ML managed endpoint
Docker Self-contained container with a FastAPI server - runs anywhere

The Docker target is worth calling out specifically. It has zero cloud dependencies. If you can run a container - on Kubernetes, ECS, on-prem, a laptop - you can deploy a Haute pipeline. It's there as a universal option for teams that don't want to be tied to any managed ML platform.


Safety

This is where Haute is most opinionated. A pricing engine without safety rails is dangerous - one wrong factor can misprice an entire book before anyone notices. So deployment safety isn't optional, it's baked into how the tool works.

Test quotes - Before any deployment, Haute scores example requests through the pipeline. If anything breaks, the deploy is blocked. You can also set expected outputs with tolerances, so you're testing not just "does it run" but "does it produce the right prices".

Impact analysis - When you propose a pricing change, Haute scores a portfolio sample through both the current and proposed pipeline and produces a comparison. How many quotes changed, by how much, which segments moved, what the premium impact looks like. This gets posted to the pull request so reviewers see the financial effect before they approve anything.

Staging gates - Every deployment goes through staging first, then a smoke test against the live staging endpoint, then an approval gate, then production. This isn't configurable away. A solo actuary gets the same pipeline as a large team. You can adjust the number of required approvers, but the staging-then-production structure is fixed.

Audit trail - Every deployment records the git commit, the PR, who approved it, the impact report, and what version it replaced. Solvency II, IFRS 17, FCA pricing practices - the traceability requirements are real, and this covers them without you having to build anything.


Why Python matters here

Haute pipelines are standard Python. Not a proprietary DSL, not a visual-only format, not a configuration language that looks like code but isn't.

This matters for a few reasons. People you hire already know Python - or can learn it, and those skills are useful beyond one vendor's ecosystem. Any model that runs in Python works in Haute: scikit-learn GLMs, CatBoost, LightGBM, XGBoost, whatever comes next. You can read the pipeline file and understand what it does. And every node is a plain function, so standard testing tools just work.

The dataframe library is Polars rather than pandas - it's faster, has a cleaner API, and handles the kind of operations pricing pipelines need (joins, group-bys, window functions) well. But the point is that it's a real, general-purpose data tool, not something that only exists inside Haute.


One pipeline, multiple uses

The same pipeline file works for live quoting (a single JSON request, sub-second response), batch scoring (millions of rows), what-if analysis (an analyst dragging sliders to see how price changes through each node), impact analysis, and execution tracing.

On the tracing point - you can click any output price and see the path through every node that produced it, with intermediate values at each step. Something like:

base rate £300  →  area factor ×1.2  →  NCD ×0.85  →  frequency load ×1.35  →  £412.50

This is genuinely useful for regulatory explainability, but it's also just a good way to debug a pipeline and understand what's happening at each step.


Version control and CI/CD

Pipelines are plain .py files in Git. This gives you branching (work on a new rating structure without touching production), pull requests (every change is reviewed and discussed before it goes live), full history, and the ability to roll back to any previous version.

Haute generates CI/CD workflows when you set up a project. You pick your provider - GitHub Actions, Azure DevOps, or GitLab CI - and it creates the workflow files. Pull requests run linting, validation, test quote scoring, and impact analysis automatically. Merges to main deploy to staging, run smoke tests, wait for approval, then deploy to production.

The intent is that pricing teams get the same release discipline that software engineering teams use, without having to build it themselves.


Comparison

Being honest about this:

Haute WTW Radar Earnix In-House
Cost Free $100K–$1M+/yr Enterprise Engineering salaries
Visual editor Yes Yes (more mature) Yes No
Code-native Python Proprietary Proprietary Whatever you build
Version control Git (built-in) No No If you set it up
Deploy targets Multi-cloud + Docker Azure Vendor-managed DIY
Impact analysis Built-in Manual / partial Partial DIY
Maturity Early 30 years, 500+ clients Established Varies
Vendor lock-in None High High None

Radar and Earnix are mature products with decades of development and large teams behind them. Haute is newer and less feature-complete. The trade-off is openness, portability, and cost. If you need the full breadth of what Radar offers today - optimisation engines, monitoring dashboards, commercial underwriting workflows - Haute isn't there yet. If you want to own your pricing code, deploy to your own infrastructure, and not be locked into a platform, it's worth a look.


Architecture

Layer Technology
Visual Editor React, TypeScript, React Flow
Backend Python, FastAPI, Polars, WebSocket sync
Models MLflow (registry, tracking, serving)
Deploy Targets Databricks · AWS SageMaker · Azure ML · Docker
CI/CD GitHub Actions · Azure DevOps · GitLab CI

License

Elastic License 2.0. Free to use for your team, your models, your infrastructure. The only restriction is that you can't sell Haute itself as a hosted service. See LICENSE for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

haute-0.1.22.tar.gz (8.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

haute-0.1.22-py3-none-any.whl (648.0 kB view details)

Uploaded Python 3

File details

Details for the file haute-0.1.22.tar.gz.

File metadata

  • Download URL: haute-0.1.22.tar.gz
  • Upload date:
  • Size: 8.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for haute-0.1.22.tar.gz
Algorithm Hash digest
SHA256 e35f7da0feefe02ec5dc7295e088c17ee4189673fd0b9839bad9de520f1d08d9
MD5 27354adfa722a580076619bb6e5f9cf7
BLAKE2b-256 c1de05a5418f53a976c4b67eb83a852857bd2660ecf68f81efc44593b5b5b5e6

See more details on using hashes here.

File details

Details for the file haute-0.1.22-py3-none-any.whl.

File metadata

  • Download URL: haute-0.1.22-py3-none-any.whl
  • Upload date:
  • Size: 648.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for haute-0.1.22-py3-none-any.whl
Algorithm Hash digest
SHA256 7c0e640bfee2440b9a20b307f9ba8ca650926c98fb7cf85cd4e69fdd25fd56a3
MD5 7168f552207b42f3eb938f68a9fa9465
BLAKE2b-256 f73a0a5d472e94366a0661b4acccab3895ffcfcbf8c1fe46805de24816f4c9fe

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page