Skip to main content

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, call fit(), 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.