Skip to main content

RiskReplay

RiskReplay is an outcome-aware evaluation engine for financial AI systems operating under delayed and selective labels. It is built for teams that need more than a drift alert: they need to know whether a metric is trustworthy, what it means financially, and which cases a human reviewer should inspect first.

RiskReplay produces evidence and prioritization support. It is not an AML decision engine, a credit-decision service, or a compliance certification tool.

What it does

Capability RiskReplay output
Calibration Brier score, log loss, ECE, calibration intercept/slope, reliability bands
Label health Maturity rate, pending rate, observed-label coverage, delay diagnostics
Distribution shift Score PSI, Jensen–Shannon divergence, per-feature PSI when supplied
Audit evidence Schema and quality checks, reproducibility manifest, data/window fingerprints
Human review Budget-aware queue ranked by expected loss, uncertainty, and OOD signals

Install

pip install riskreplay

For local development:

pip install -e ".[dev]"

Minimal evaluation

from riskreplay import ColumnSpec, ObservationPolicy, ReviewPolicy, evaluate

report = evaluate(
    events="/secure/path/aml_alerts.parquet",
    reference="/secure/path/reference_window.parquet",
    columns=ColumnSpec(
        id="alert_id", score="aml_score", label="confirmed_suspicious",
        label_status="label_status", exposure="amount_usd",
        uncertainty="model_uncertainty", ood_score="network_ood_score",
        segment="channel", model_version="model_version",
    ),
    observation=ObservationPolicy(maturity_days=45),
    review=ReviewPolicy(budget=500),
    slices=["channel", "risk_band"],
)
report.write_evidence_bundle("artifacts/run-2026-08-23")

The important constraint

Labels are not always a random sample. If only some alerts are reviewed, a score calculated from observed labels can be biased. RiskReplay reports label_coverage, pending_rate, and identifiability alongside model metrics. If it has no defensible observation information, it does not label a selection-corrected metric as reliable.

Privacy

RiskReplay runs locally. The evidence bundle stores aggregate metrics, configuration, timestamps, and content fingerprints by default; it does not export raw customer records unless an application explicitly writes the review queue.

Public assets

The public Hugging Face catalog at adnanallemon/riskreplay-public-assets holds only publication-safe schema and reproducibility material. It intentionally does not contain production financial records or simulated customer data.

Project status

0.1.0 is the first Python MVP. The Rust crate in crates/riskreplay-core contains deterministic primitives that can be exposed through PyO3 in a later performance release without changing the public Python contract.

License

Apache-2.0.

Download files

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

Source Distribution

riskreplay-0.1.0.tar.gz (17.6 kB view details)

Uploaded Source

Built Distribution

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

riskreplay-0.1.0-py3-none-any.whl (18.2 kB view details)

Uploaded Python 3

File details

Details for the file riskreplay-0.1.0.tar.gz.

File metadata

  • Download URL: riskreplay-0.1.0.tar.gz
  • Upload date:
  • Size: 17.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for riskreplay-0.1.0.tar.gz
Algorithm Hash digest
SHA256 252c8e9d51a110e7593f7263f129a18e036bed0e01b93b4c7dc1c7ccac5c3a56
MD5 36c5c68375e25d2e23c4432fd9401290
BLAKE2b-256 35dc3acc3e33d2a8d9a15004c9cd525d8d8afcf567b7ffd2276cbadd9d30c96a

See more details on using hashes here.

Provenance

The following attestation bundles were made for riskreplay-0.1.0.tar.gz:

Publisher: publish.yml on adnanomar77/riskreplay

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file riskreplay-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: riskreplay-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 18.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for riskreplay-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 99bfff22deddccfb7ab876ddea66cd2664d417a7fc86349d63e86b66d220ef03
MD5 c206e53b7ebaeb559e5f801bc7056c5e
BLAKE2b-256 0f095d47c873d7f7ccff02a9487fe87fbd66543ad9c9292d48122e86a6e7fc81

See more details on using hashes here.

Provenance

The following attestation bundles were made for riskreplay-0.1.0-py3-none-any.whl:

Publisher: publish.yml on adnanomar77/riskreplay

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 files

Supported by

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