Key capabilities
OuterProduct centers on a handful of composable building blocks:- ReasoningModel: trains a model that produces both predictions and feature-level reasoning for each prediction.
- Trainer: trains a model optimized across one or multiple metrics of interest.
- PatternTracker: aggregates local reasoning across a population to surface recurring patterns and segment-level drivers.
- Counterfactuals: generate realistic, minimal interventions that would flip the predicted label.
- Connectors: load data directly from S3, Snowflake, or Databricks, or upload local data.
- MCP server: use OuterProduct from Claude, Cursor, and any other Model Context Protocol client without writing Python directly.
How it fits your workflow
OuterProduct sits between your raw structured data and the decisions you want to make with it. You point it at a dataset and a label column, callfit(), and get back a model object. From there you call predict() for scores and explain() for the reasoning behind them. Both return structured, typed results you can log, visualize, or pass downstream.
Our computations run asynchronously on OuterProduct’s hosted infrastructure. The .wait() helper blocks your script until the model is ready, or you can poll with job.status() and integrate the job into your own orchestration.
Start here
Quickstart
Train your first model and generate explanations.
Authentication
Get your API key and configure the SDK.
Full Workflow Guide
Walk through the complete model lifecycle with detailed examples.
MCP Server
Use OuterProduct from Claude, Cursor, and other MCP clients.