Overview
What This Solves
Government procurement teams spend weeks reviewing RFP submissions manually. For a typical tender with 5–12 vendors, a procurement committee reads hundreds of pages, builds comparison tables by hand, and debates scoring criteria in meetings. The process is slow, inconsistent, and depends heavily on who reads what carefully.
This agent replaces the reading, matching, and initial scoring with structured AI analysis — leaving human decision-makers to review evidence rather than generate it.
PMO Results:
- 12-vendor evaluation completed in 4 hours (previously 3 weeks)
- Scoring consistency across evaluators increased from 61% to 94% agreement
- Zero missed mandatory requirements across all evaluated submissions
Architecture Overview
[RFP Document] → [Requirements Extractor] → [Scoring Rubric]
↓
[Vendor Submissions (PDF)] → [Compliance Scanner] → [Score per vendor]
↓
[Multi-Vendor Comparison Matrix] → [Decision Summary Report]
Step 1: Extract Requirements from the RFP
Feed the RFP document to Claude and extract every evaluable requirement:
You are a government procurement evaluation expert.
Analyse this RFP document and produce a structured evaluation framework:
1. Mandatory Requirements (PASS/FAIL)
- Label each M1, M2, M3... in order of appearance
- Include the exact requirement text
- Note any qualification threshold (e.g. "minimum 5 years experience")
2. Scored Requirements (scored out of stated maximum)
- Label each S1, S2, S3...
- Include the requirement, maximum points, and scoring guidance if stated
3. Red Flags to auto-detect
- Items that would disqualify a submission regardless of score
4. Information gaps
- Requirements that are ambiguous or missing scoring criteria
RFP Content:
{rfp_text}
Output as structured JSON.
Step 2: Process Each Vendor Submission
For each vendor PDF, run the compliance scanner:
You are evaluating a vendor's RFP submission for government procurement.
Evaluation Framework (from RFP):
{requirements_json}
Vendor Submission:
{vendor_submission_text}
For EACH mandatory requirement (M1, M2...):
- PASS: Clearly addressed with evidence
- FAIL: Not addressed or below threshold
- PARTIAL: Addressed but incomplete — note what is missing
- Quote the exact vendor text that addresses this requirement
For EACH scored requirement (S1, S2...):
- Score: X / [maximum points]
- Rationale: one sentence explaining the score
- Evidence: quote the vendor text supporting the score
Red Flags identified:
- List any disqualifying issues found
Overall readiness summary: 2-3 sentences on the vendor's submission quality.
Output as structured JSON.
Step 3: Build the Comparison Matrix
After processing all vendors, aggregate into a comparison:
You are producing a procurement evaluation matrix for committee review.
Vendor Evaluation Results:
{all_vendor_scores_json}
Evaluation Framework:
{requirements_json}
Produce:
1. Compliance Matrix
- Rows: Mandatory requirements (M1, M2...)
- Columns: Vendor names
- Cells: PASS / FAIL / PARTIAL
2. Scoring Matrix
- Rows: Scored requirements (S1, S2...)
- Columns: Vendor names
- Cells: Score achieved / Maximum
- Bottom row: Total score per vendor
3. Red Flag Summary
- Vendors with disqualifying issues
4. Ranking
- Rank vendors by total score (excluding disqualified vendors)
- Flag if scores are within 5% of each other (close call)
5. Decision Recommendation
- Top-ranked vendor
- Key differentiators from second-ranked vendor
- Recommended next steps
Format as markdown tables. Keep language factual and audit-ready.
Step 4: Auto-detect Common Issues
Review these vendor evaluation results for process integrity issues:
{all_vendor_scores_json}
Check for:
1. Any vendor with FAIL on a mandatory requirement (disqualified — confirm)
2. Scoring outliers (one vendor scored significantly higher — flag for review)
3. Incomplete submissions (vendor did not address >20% of requirements)
4. Missing information preventing fair comparison
Produce a one-page pre-committee briefing noting these issues.
Step 5: Generate the Decision Report
Generate a formal Procurement Evaluation Report suitable for committee signature.
Format:
- Tender reference and title
- Evaluation date and panel members
- Summary of submissions received
- Methodology note (AI-assisted initial evaluation, human review)
- Compliance matrix (table)
- Scoring summary (table)
- Disqualified vendors and reasons
- Ranked shortlist with scores
- Recommended award and justification
- Dissenting notes field (leave blank for human completion)
- Sign-off block
Evaluation Data:
{final_evaluation_json}
Tone: formal, neutral, audit-ready.
Implementation Options
Option A: Claude API + Python
import anthropic
from pypdf import PdfReader
client = anthropic.Anthropic()
def extract_text(pdf_path):
reader = PdfReader(pdf_path)
return "\n".join(page.extract_text() for page in reader.pages)
def evaluate_vendor(rfp_requirements, vendor_pdf):
vendor_text = extract_text(vendor_pdf)
response = client.messages.create(
model="claude-opus-4-8",
max_tokens=4096,
messages=[{"role": "user", "content": EVAL_PROMPT.format(
requirements_json=rfp_requirements,
vendor_submission_text=vendor_text
)}]
)
return response.content[0].text
Option B: n8n (no-code)
- HTTP trigger receives RFP + vendor submissions
- Extract Text node (PDF → plain text)
- Claude node with evaluation prompt
- Loop over each vendor submission
- Aggregate results node
- Output to Google Sheets or SharePoint
Option C: Make.com (no-code)
Same as n8n — use the Claude module in Make's integration library.
Data Handling
- Anonymise vendor names during AI evaluation where possible to reduce bias
- Store AI reasoning output alongside final human scores for audit trail
- Do not send commercially sensitive pricing to external AI APIs without approval — use on-premise Claude for sensitive tenders
- Keep all evaluation outputs for the statutory retention period
What the AI Does NOT Do
- Make the award decision (humans sign the report)
- Verify vendor claims (human due diligence required for shortlisted vendors)
- Replace the evaluation committee (AI provides evidence, humans provide judgement)
- Handle oral presentations or site visits
Abdallah Khraisat, PMO AI Champions Programme