Cambridge Sports Analytics

Predict Analyze Deploy

Cutting-edge research, made accessible.

yhat yhat_linear fit adjusted_fit kfit weights relevance similarity agreement asymmetry info_theta info_x contribution_to_prediction contribution_to_conviction component_contribution_to_prediction outlier_influence r_star r_star_percent ysolo_sigma ysolo_skewness ysolo_kurtosis ysolo_pearson_modality_index ysolo_bimodality_coefficient

A new way to reason about uncertainty.

Relevance-Based Prediction (RBP) is novel mathematical research developed by the founders of Cambridge Sports Analytics. RBP treats every prediction as an information problem — weighting historical observations by how much they actually inform the present.

Most prediction systems hand you a number. Our method tells the story behind every prediction.

By grounding forecasts in information theory, we surface which observations drove the result, how much each one mattered, and where the model is least confident.

No black boxes. Just transparent math, served at production speed.

↳ 01

Advanced Insights

Forecasts derived from relevance weighting grounded in formal information theory.

↳ 02

Transparent by design

Every prediction comes with evidence behind it. Understand the story behind every prediction.

↳ 03

Built to ship

Designed for production from day one — licensed compiled binary, hosted API, or your own AI client.

Three solutions,
one engine.

YOUR MACHINE python R cli rbp-engine
/01 ENTERPRISE

RBP Engine

$ rbp-engine --license <key>

The full Prediction Engine compiled to a single executable and unlocked with a license key. Run it on your own laptop or roll it out across your enterprise servers.

  • Single compiled binary — no runtime dependencies
  • Thin clients via pip, CRAN, and the CLI
  • Fully local — your data never leaves the machine
  • Native compiled performance, no rate limits
Learn More
POST /v1/predict { "x": [[ ... ]] "y": [[ ... ]] "theta": [[ ... ]] }
/02  FOR DEVELOPERS

API

$ pip install csa_prediction_engine

A straightforward REST API with a first-class Python client. Submit predictions, pull results and analyze your results all within your existing stack.

  • RESTful endpoints with full OpenAPI spec
  • Python SDK with managed I/O
  • Per-prediction relevance attribution
  • Async batch submission
Read the docs
"Forecast next week's passing yards..." AI → predict 287.4 yds σ ± 12.1
/03  FOR ANALYSTS

AI Integration

Works with Claude, ChatGPT, Cursor & more

A Model Context Protocol (MCP) integration layer for the Prediction Engine. Research Relevance-Based Prediction scenarios, run prediction workflows, and analyze results directly through compatible AI clients.

  • Works with any MCP-compatible client
  • Natural-language experiment design
  • Auto-generated analysis & visuals
  • No code, no setup, no friction
Connect your AI tool

Built for professionals.

/01
Quantitative researchers
Prototype models against the engine through the Python SDK. Inspect relevance weights, validate hypotheses, and ship findings without wrestling with infrastructure.
RBP ENGINE or API
/02
Engineering teams in regulated industries
Run the licensed compiled binary on the hardware you already control — analyst laptops or your own servers. Meet privacy, residency, and latency requirements without compromising the math.
RBP Engine
/03
Analysts & domain experts
Ask the engine for a forecast in plain English through your favorite AI tool. The AI integration handles experiment design, submission, and analysis for you.
AI Integration
/04
Sports & media organizations
Produce transparent, audience-facing forecasts. Every published number is backed by evidence you can show on screen.
API or AI Integration

Three lines to your first RBP prediction.

The Python SDK is designed to allow users to focus on experiment design and analysis. Pass features, get back predictions with full attribution — which historical observations mattered, and by how much.

View full documentation
predict.py — Python 3.11
from csa_prediction_engine import predict_grid, GridOptions, PredictionResults

# Submit y, X, theta — predictions come back with full attribution
yhat, output_details = predict_grid(y=y, X=X, theta=theta, options=GridOptions())

# Every insight packaged in one results object
Results = PredictionResults(output_details)

Start building with the
Prediction Engine