Procurement & Sourcing

Normalize,evaluateandpre-scoremultiplevendorproposals

An agent to read all proposals, normalizes pricing to a common unit — per seat per month, fully loaded — and builds a single comparison matrix covering capabilities, SLAs, and support tiers. It also flags risk terms buried in the fine print: auto-renewal clauses, liability caps, data ownership provisions. The procurement team adds relationship context. The recommendation brief lands in the team channel, ready for review.

Key Takeaways

Normalized scoring

Five vendors in five formats are scored against the same criteria on the same scale. No analyst translating formats mid-review.

Risk clauses extracted

Indemnification limits, termination penalties, and SLA carve-outs are surfaced from the contract terms before the selection decision is made.

Total cost of ownership

Pricing is normalized against the statement of work — base fee, implementation costs, per-seat licensing, and renewal escalators on equal terms.

Auditable methodology

Every score has a source citation from the proposal and a reasoning trail. The evaluation is defensible in a debrief or challenge.

Criteria-based analysis

Evaluation criteria are applied consistently across every vendor. No anchoring on the first proposal read, no recency bias from the last.

Defensible decision

The comparison matrix documents not just who won but why — with scored evidence. Procurement audit ready from day one.

Multiple proposals, one evaluation.

Procurement teams spend the first days of any vendor evaluation just getting proposals into a comparable format. One vendor submits a 140-page technical response. Another sends a 12-slide deck and a pricing sheet. A third attaches a contract template and calls it a proposal. Before any actual scoring begins, hours have been spent translating formats into a common frame.

The automation reads every submission regardless of format and extracts responses to each evaluation criterion. It scores each vendor on each criterion using the defined rubric, with source citations showing exactly where in the proposal the evidence was found. Pricing is normalized against the statement of work, and contract terms are scanned to surface risk clauses that often determine the real cost of a vendor relationship.

The output is a single comparison matrix that the procurement committee can use to make the selection decision — and defend it, if challenged.

One evaluation per RFP

Pass all vendor proposals, the evaluation rubric, and the SOW. The automation reads every submission, scores each vendor on each criterion with source attribution, normalizes pricing against the SOW, and flags contract risk clauses.

python
import dspy
from predict_rlm import File, PredictRLM


class EvaluateVendorProposals(dspy.Signature):
    """Read all vendor proposals in any format, score each against the
    evaluation criteria with source citations, normalize pricing to a
    comparable basis, and flag material contract risk clauses."""

    vendor_proposals: list[File] = dspy.InputField(desc="All vendor submissions — PDFs, decks, and contract drafts")
    evaluation_rubric: File      = dspy.InputField(desc="Scoring criteria and weighting — Excel")
    statement_of_work: File      = dspy.InputField(desc="SOW defining scope and deliverables")
    comparison_matrix: File      = dspy.OutputField(desc="Vendor x criterion scoring matrix with citations — Excel")
    risk_summary: File           = dspy.OutputField(desc="Flagged contract risk clauses per vendor — PDF")


agent = PredictRLM(EvaluateVendorProposals, lm="openai/gpt-5.4", sub_lm="openai/gpt-5.1", max_iterations=20)

result = agent(
    vendor_proposals=[File(path=f"proposals/vendor-{v}.pdf") for v in ["A", "B", "C", "D", "E"]],
    evaluation_rubric=File(path="rubric/evaluation-criteria.xlsx"),
    statement_of_work=File(path="sow/it-modernization-sow.pdf"),
)
# result.comparison_matrix → distributed to evaluation committee
# result.risk_summary → reviewed by legal before selection

Built on predict-rlm — open source. github.com/Trampoline-AI/predict-rlm

What the evaluation committee receives

A single Excel comparison matrix with every vendor scored on every criterion, each score backed by a direct citation from the proposal. Pricing is normalized to total cost of ownership — base fee, implementation, licensing, and renewal escalators — on a common line-item basis. A second PDF summarizes the contract risk clauses flagged in each vendor's terms: indemnification caps, SLA exclusions, and auto-renewal provisions that affect the real cost of the relationship.