Built for volume

Engineered for scale,
isolated by design.

The detail a technical evaluator wants to see: how a 5,000-loan tape prices in parallel without ever touching a production loan, why a price on a bid tape equals the price that loan gets one at a time, and how it all runs with no external infrastructure to operate.

<49s
to price a 250-loan batch
(random sample)
<0.2s
per loan in a batch
(thread-safe, parallel)
<2s
per loan, full-scope
interactive pricing
1,000s
of loans per batch
— institutional scale

Throughput from the platform's own processing — measured, not projected.

The design

Six decisions that make volume safe and fast

Two isolated paths

The production UI writes to the 13-table loan schema. Bulk Pricer builds a loan object from each staging row and calls the engine with testOnly: true — the write step is skipped, the pipeline runs in memory, and results land in per-client staging tables and a short-lived cache.

Parallel & cancel-safe

Batches run with Parallel.ForEachAsync and a configurable degree of parallelism — thread-safe counters, a fresh executor chain per loan, pooled connections, and a rate-limited geocode fallback for missing county/census data. Reprocess is cancellable, restoring prior results if stopped.

Single-rate optimization

Each loan prices its note rate only — not the full rate matrix — a fraction of the work per loan. That's the optimization that makes thousands-of-loans batches feasible while reusing the exact production engines.

One bad row never kills the run

Conversion splits every batch into clean loans and error rows — a missing required field or an unmappable value is captured against its source row (loan number and borrower), reported back, and skipped, never fatal to the batch. Every result traces to its originating spreadsheet line.

Async — no broker to run

A large upload enqueues instantly and returns; pricing happens off the request thread on a hosted background worker, and the client polls for progress. The queue is a bounded, in-process channel that applies backpressure when full — no external message broker to deploy, secure, or operate.

One engine, not an approximation

Bulk Pricer is the Loan Pricer engine, run at scale. Each staged row becomes the same loan object the single-loan form builds, priced through the exact same Program & Pricing engines — no parallel "bulk-only" calculator to drift. A price on a 5,000-loan bid tape is the price that loan would get one at a time in Loan Pricer.

🛡

Why the isolation matters to a buyer

A pricing tool that writes to the loan schema is a tool you can't fully trust to experiment with. Bulk Pricer's test-only staging model means capital markets can price aggressively — thousands of loans, repeatedly, against shifting rates — with zero production footprint and zero risk to a real loan. That separation is a design rule the entire pipeline is built around, not a setting you remember to turn on.

The full architecture is in the data room.

Bulk Pricer is backed by the same independent Forensic Code Review as the rest of PPE1 — file-level technical due diligence for the team that will own it. Start with the high-level summary, or read the full analysis.