rbp-engine
Relevance-Based Prediction (RBP) Engine for Python: NumPy-friendly bindings to the RBP prediction engine from Cambridge Sports Analytics.
Relevance-based prediction (RBP) is a model-free prediction routine that forms a prediction as a weighted average of observed outcomes in which the weights are based on a statistic called relevance. Relevance is composed of similarity and informativeness which are both measured as Mahalanobis distances. RBP serves as a favorable alternative to conventional prediction methods such as linear regression analysis because it addresses complex dynamics that are beyond the reach of linear regression analysis. It also serves as a favorable alternative to AI models because RBP can extract as much information from complex datasets as AI models but more efficiently and with full transparency.
pip install rbp-engine
rbp-engine 2.3.0 is the Python interface product. It exposes min_k,
required_attributes, and attribute_groups on grid search. 2.2.0 added
math_lib_version(). 2.1.0 renamed predict to predict_psr; use
predict_grid for analysis. 2.0.0 was the packaging
split from the math crate (same call surface as the old 1.3.4 wheels).
2.0.1 bundled math 1.3.5. This package versions on its own. The math
crate is rbp-math-lib 1.3.7
(rbp_engine_version() / rbp-license-info --viewlicense). Later 2.x releases
may change Python helpers without a new math build.
Quick start
import numpy as np
from rbp_engine import predict_grid, GridOptions, relevance, similarity, info_x, info_theta, relevance_metrics
# y: outcomes (N,)
# X: attributes (N, K)
# theta: circumstances (K,) — the single case you want a prediction for
out = predict_grid(y, X, theta, GridOptions())
print(float(out.yhat[0])) # fit-weighted composite across attribute × observation calibrations
# Relevance-based scores without a full prediction
r = relevance(X, theta) # relevance of each training row to the circumstances
s = similarity(X, theta) # similarity (Mahalanobis) of each row to theta
ix = info_x(X) # informativeness of each row vs the sample mean
it = info_theta(X, theta) # informativeness of the circumstances vs the sample mean
# Or, all four in one native pass:
m = relevance_metrics(X, theta)
m.relevance, m.similarity, m.info_x, m.info_theta
For most analysis work, start with predict_grid. It evaluates combinations of attributes
and observation subsets, then forms one composite prediction (yhat of length 1) weighted by
adjusted fit.
Use relevance, similarity, info_x, and info_theta when you need scores without
running a full prediction.
Built-in help includes paste-ready examples:
help(predict_grid)
help(GridOptions)
help(PredictionResults)
Core functions
| Symbol | Role |
|---|---|
predict_grid / GridOptions |
Recommended default. Grid prediction uses combinations of attributes and observation subsets evaluate cell predictions by adjusted fit into one optimal composite (yhat, length 1), with rich insights |
predict_maxfit / MaxFitOptions |
For a fixed attribute set, evaluate across thresholds (and optionally both censor types) and solve for the max fit / adjusted-fit / k-fit result |
predict_psr / PredictOptions |
Partial-sample regression on one attribute set: relevance-weighted average of outcomes at one or more chosen thresholds. MaxFit and Grid wrap this. Research that searches attribute combinations should call predict_grid. |
relevance |
Relevance scores of each observation to circumstances (theta); as a function of similarity and informativeness |
similarity |
Similarity scores of each observation to circumstances |
info_x, info_theta |
Informativeness: how unusual each observation (info_x) or the circumstances (info_theta) are relative to the sample mean |
relevance_metrics |
All four scores above in one call (one native pass) |
PredictionResults |
NumPy snapshot: nested groups mirror Rust (insights, prediction_weights, solo_distribution, grid_*, …); core fields on root |
Supported platforms
Installs with pip on Python 3.10+. Nothing to compile, no extra system libraries.
| Supported Platform | Notes |
|---|---|
| macOS 11+ (Apple Silicon) | Preferred platform; uses Apple Accelerate |
| Linux (Intel/AMD) | glibc 2.34+ (RHEL 9 / Alma / Rocky / Amazon Linux 2023 / Ubuntu 22.04+) |
| Linux (Arm) | same glibc floor |
| Windows (Intel/AMD) | Supported; Apple Silicon macOS preferred when you have a choice |
If your platform isn't listed, pip will report that no matching distribution
was found.
Requires numpy>=1.24.
License
rbp-engine is commercial software and requires a license from Cambridge Sports
Analytics. Contact prediction@csanalytics.io
to get started.
After install, rbp-license-info is available in the same environment
(activate your virtual environment if you use one):
rbp-license-info # request code, or status if already licensed
rbp-license-info --setlicense 'RBP-LIC-1:…' # install the token you receive
rbp-license-info --viewlicense # license status plus engine path/version/ABI
For site or server deployments, contact Cambridge Sports Analytics, setup differs from the workstation flow above.
(c) 2026 Cambridge Prediction Analytics, LLC. All rights reserved.
Metadata
Release files for rbp-engine 2.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| rbp_engine-2.3.0-py3-none-win_amd64.whl | Python 3 | none | Windows x86-64 | Details |
| rbp_engine-2.3.0-py3-none-manylinux_2_34_x86_64.whl | Python 3 | none | Linux glibc 2.34+ x86-64 | Details |
| rbp_engine-2.3.0-py3-none-manylinux_2_34_aarch64.whl | Python 3 | none | Linux glibc 2.34+ ARM64 | Details |
| rbp_engine-2.3.0-py3-none-macosx_11_0_arm64.whl | Python 3 | none | macOS 11.0+ ARM64 | Details |
Total release size: 32.2 MB
Release files / rbp_engine-2.3.0-py3-none-win_amd64.whl
| Download URL | rbp_engine-2.3.0-py3-none-win_amd64.whl |
|---|---|
| Size | 6.5 MB |
| Tags | Python 3 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
31a19c82100dbe2d6a9d5e5595e0ea8a0601706d5ed5c1c0bbf64c7074e682b0
|
|
BLAKE2b-256 checksum How to use checksums |
6432883e0b8d6268b0982ed6727e6a5ae2ab7c336a642dcc39021e2ae3e15294
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 5, 2026.
Transparency logRelease files / rbp_engine-2.3.0-py3-none-manylinux_2_34_x86_64.whl
| Download URL | rbp_engine-2.3.0-py3-none-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 15.5 MB |
| Tags | Linux glibc 2.34+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
d728a0c1959efe142598613f8a145da15ec392b63260f4f285cf36803af53a1a
|
|
BLAKE2b-256 checksum How to use checksums |
925ab63cd24e1aa203ec1ac959fe32cee436d6ab82a1cf1020e7ff2e81bca5ca
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 5, 2026.
Transparency logRelease files / rbp_engine-2.3.0-py3-none-manylinux_2_34_aarch64.whl
| Download URL | rbp_engine-2.3.0-py3-none-manylinux_2_34_aarch64.whl |
|---|---|
| Size | 9.1 MB |
| Tags | Linux glibc 2.34+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
d91b6dd3c8b9a3130053ffe757e612f7981e19f7bd0da171818ac9bbec5bcd8b
|
|
BLAKE2b-256 checksum How to use checksums |
3645591ca32dd0d19193ee79bfd159990a79bd6e4eb72a19d07bab640266d7ee
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 5, 2026.
Transparency logRelease files / rbp_engine-2.3.0-py3-none-macosx_11_0_arm64.whl
| Download URL | rbp_engine-2.3.0-py3-none-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | Python 3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
4a6a7c5aa725e9ae6eb62ba33e87795141385fd1784d02962b5eff9db6cda10c
|
|
BLAKE2b-256 checksum How to use checksums |
1f484d2fe77f68e91e8247c4b16f64c9ed4ef58f05a0a5cdd231ff7ceede6a28
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 5, 2026.
Transparency logSecurity for rbp-engine 2.3.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 4 files in this release have been uploaded with provenance metadata.
Attestation for rbp_engine-2.3.0-py3-none-win_amd64.whl
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 5, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.