Skip to main content
Procurement & Sourcing

An agent to read all submissions, 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 submission 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 submission 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 submissions, one evaluation.

Procurement teams spend the first days of any vendor evaluation just getting submissions 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 submission. 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 submission 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 procurement package

Pass all vendor submissions, 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 EvaluateVendorSubmissions(dspy.Signature):
    """Read all vendor submissions 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_submissions: 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(EvaluateVendorSubmissions, lm="openai/gpt-5.4", sub_lm="openai/gpt-5.1", max_iterations=20)

result = agent(
    vendor_submissions=[File(path=f"submissions/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 submission. 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.