Source-available · 100% local · Any AI agent

The right price is already in your data.

P2Predict learns the fundamental pricing structure in your own spend and turns it into a defensible number for any part, new or current, through any AI agent your team already uses, on your own machine.

Set up in one command: pip install p2predict[mcp]

the problem

Most of your cost is decided upstream, before you ever negotiate it.

Cost is set in design reviews procurement rarely joins. A tolerance is tightened beyond what the application needs, a part is sole-sourced, a premium is accepted because no one has a number to challenge it. By the time the decision reaches procurement it is fixed, and the savings are already gone.

straight talk

What it does, and what it doesn't.

P2Predict does one thing: parametric price prediction. It learns the fundamental pricing structure in your own data and benchmarks any part against it, the ones you're about to buy and the ones you already do. That's a specific job, so here's the honest line on where it helps and where it doesn't.

What it does

  • Learns from the prices you've actually paid and tells you what a comparable part should cost.
  • Shows you what each spec and the supplier add to that price, read from your pricing structure.
  • Puts a range on every number and tells you when it isn't sure.
  • Gets better the more of your own buying history you feed it.

What it doesn't

  • It won't build a part up from its raw materials and labour. It's not a should-cost tool, and it can't tell you a supplier's real cost or margin.
  • It only knows what you've shown it. Ask about something nothing in your history looks like and it'll widen the range or tell you to go get a quote.
  • The breakdown shows what moves the price in your data, not the engineering reason a part costs what it does.
  • It won't conjure data out of nothing. No history, no model.
what you get
$

A number you can stand behind

A defensible target for any part, built from what you've actually paid. Not a catalog price, and not a hunch.

Where the number comes from

Every estimate breaks down into what each spec and the supplier contribute, in dollars. So you negotiate the components, not a total.

~

How sure it is

Every number carries a confidence range. Tight where your data runs deep, wide where it's thin, and clear about which is which.

how it works

A math layer for the numbers. A judgment layer for the call.

You don't use P2Predict. Your agent does. There's no dashboard and no app, just two layers running on your own machine behind whatever agent you already use, Claude, GPT, or a local model: a math layer that models the price, and a judgment layer that decides what to run, what to ask you for, and how far the answer can be trusted.

How P2Predict works You talk to your AI agent in plain language. Your agent calls P2Predict, which runs two layers (a math layer and a judgment layer) locally on your spend data, then answers you. You never touch P2Predict directly. you in plain words your prompt your answer your AI agent Claude · GPT · local it drives P2Predict you talk to this, nothing else calls it the result P2Predict JUDGMENT LAYER what to run · what to ask you MATH LAYER the price · the likely range your spend data 100% local, never leaves
you Ask in plain words your prompts, as normal
your AI agent Claude · GPT · local it drives P2Predict for you
p2predict Two layers, 100% local reads your spend data, never uploads it

inside p2predict

judgment layer

Tells your agent what to do

It reads the math and steers the conversation: which analysis to run, when to stop and ask you for more, and whether a result is solid enough to quote or needs a real RFQ. It even holds weaker agents back from overstating a number.

math layer

Does the modeling

It trains on your spend, predicts the price, attributes it spec by spec, and puts a calibrated range on every estimate. The defensible statistics underneath.

in practice

The questions behind every negotiation, answered from your own data.

Quote fairness, supplier spread, spec trade-offs, overpayment across the book — each one a single exchange.

Is this feature worth it?

Tolerance from ±0.1mm to ±0.05mm — what's that add?
p2predict+$0.42 a unit, about 18%. Nothing in your data says the application needs it, so you'd be buying precision the product won't use.

Price the spec before it's frozen.

Where are we overpaying?

Score last year's parts against our own pricing. Worst offenders?
p2predict1,840 parts scored, 68 above their range. The top 20 carry about $2.1M a year, mostly supplier premium on parts with a cheaper equivalent already in your data.

A cost-recovery list ranked by dollars.

What does this chip cost across suppliers?

Same 1-cell BMIC, every supplier. Show me the spread.
p2predictSame chip, same spec — only the maker changes. TI's the baseline at $2.31; Microchip is 42% under, Analog Devices 127% over.
Same chip, priced by supplier predicted price · identical 1-cell I2C BMIC TI baseline $2.31 Analog Devices $5.23 +127% Infineon $3.84 +66% ADI / Maxim $3.40 +47% NXP $2.81 +22% onsemi $2.49 +8% STMicro $2.41 +4% Texas Instruments $2.31 baseline Microchip $1.33 −42% $0$1$2$3$4$5$6

4× from value pick to premium. That's your range.

Price these, and how sure are you?

Price these three parts, with the range. Chart it.
p2predictEach with its 90% range. The 16-cell monitor is wide (few like it in your data); the 1-cell parts are tight, so lean on them harder.
Each prediction comes with a 90% range predicted unit price at qty 1 TI BQ29700-class 1-cell protection IC $1.60 $0.00* $3.65 ADI/Maxim MAX17841 16-cell BMS monitor $5.48 $3.42 $7.53 Microchip MCP73833 1-cell charge controller $1.33 $0.00* $3.38 $0$1$2$3$4$5$6$7$8 * lower bound clipped to $0

Tight, negotiate hard. Wide, get a quote first.

under the hood

How the model holds up.

What drives price, how accurate it is on parts it never saw, and how price scales with package complexity. From the Battery Management ICs case study.

Package complexity, priced every pin adds cost · baseline 1-cell BMIC 8-pin · $2.31 48-pin · $4.88 81624324048 $2$4$6 package pin count · shaded band = 90% range
Complexity, priced — not assumed. Each package pin adds about $0.06, with an honest range.
What the model leans on share of total importance · top 8 attributes manufacturer 45.6% Battery Chemistry 19.7% Interface 17.9% is_multi_cell 9.7% package_pins 3.0% op_temp_max_C 1.7% max_cells_supported 1.4% op_temp_min_C 1.0% 0%10%20%30%40%50%
What drives the price. Manufacturer, chemistry and interface: 83% of it.
Predicted vs actual, on unseen parts 30-part holdout · parts the model never trained on perfect prediction $1$2$3$4$5$6 $2$4$6 actual unit price ($) → predicted on the y-axis typical miss 16% · 9 in 10 within 73% · n = 30
On parts it never saw. Within 16% of actual half the time, 73% nine in ten.
why it's free

100% local, nothing uploaded

Spend data is among the most sensitive you hold, so P2Predict runs entirely on your own machine and never uploads it. Point it at a local model to keep the whole loop offline, or at Claude or GPT if you prefer. Either way, your raw spend stays put.

Agent-agnostic by design

It connects to any AI agent over a standard interface, Claude, GPT, or a local model. Your agent drives it, not you, so there's nothing new for your team to roll out or learn.

Free inside your company

Free for internal use, with every line of code open to read. No seats to count, no sales call to sit through.

It admits what it doesn't know

When the data is too thin to support a number, it says so and points you to a quote instead. Every estimate traces back to the evidence behind it.

proof on public data

Three worked examples you can run yourself.

Walk in knowing your number.

Free, runs in your own environment, and one command from your first benchmark.

pip install p2predict[mcp]