A tool to evaluate proposal content and identify betterments for U.S. Government RFP responses
Project description
RFP Betterment Analyzer
A command-line tool to evaluate proposal content and identify elements that qualify as betterments for U.S. Government RFP responses.
Overview
This tool analyzes proposal content against baseline requirements from a Performance Work Statement (PWS) to identify and classify features that exceed the government's stated requirements. These "betterments" are categorized, scored, and prioritized to highlight the most impactful additions in your proposal.
Definition of Betterment
A betterment is any solution feature that:
- Exceeds or enhances the government's stated requirement
- Goes beyond what is required in the solicitation
- Delivers meaningful improvements to the goals underlying the needed work
Features
- Parses requirements from PWS text and/or explicit requirements lists
- Identifies candidate betterments in proposal text
- Classifies betterments into 10 different categories
- Scores betterments based on confidence, impact, and priority
- Distinguishes between betterments and mere compliance (meets-only)
- Flags ambiguous items that need more detail
- Provides justification with evidence for each betterment
Security
"RFP Betterment Analyzer: Where Your Sensitive Data Never Leaves Home"
The RFP Betterment Analyzer is designed with security in mind for handling sensitive proposal data:
- 100% Local Processing: All analysis runs entirely on your machine - no data is sent to external servers
- Zero Cloud Connections: No API keys, no external dependencies, no mysterious "black box" processing
- Complete Data Control: Your proprietary content, pricing strategies, and technical innovations remain private
- Transparent Analysis: Open-source pipeline that you can audit yourself
- Perfect For: Classified environments, competitive proposals, and situations where data sovereignty is non-negotiable
Because winning more contracts shouldn't mean risking your most valuable information.
Installation
Ensure you have Python installed (version 3.8 or higher is recommended).
pip install -r requirements.txt
The tool uses the following external libraries:
- NLTK for natural language processing
- scikit-learn for text matching and similarity
- pandas for data manipulation
- tqdm for progress indicators
Usage
Command Line
python main.py --pws path/to/pws.txt --proposal path/to/proposal.txt [OPTIONS]
Basic Arguments
--pws: Path to the PWS text file (required)--proposal: Path to the proposal text file (required)--requirements: Path to a requirements list file (optional)--output: Path to save the output file (optional)
Output Options
--format: Output format: json, text, csv, or html (default: json)--summary-only: Show only summary results, not detailed output
Analysis Configuration
--confidence: Minimum confidence threshold (0.0-1.0) for betterments (default: 0.5)--categories: Filter betterments by specific categories (can specify multiple)--priority: Filter betterments by priority level: P1, P2, P3, or all (default: all)--impact: Filter betterments by impact level: Low, Med, High, or all (default: all)
Execution Options
--verbose: Enable verbose output with detailed logging--no-progress: Disable progress indicators during analysis
Input Formats
- PWS_Baseline: Plain text of the Performance Work Statement.
- Requirements_List (optional): A text file with requirements in the format:
REQ-1: System must provide 99.5% uptime. REQ-2: Data must be encrypted at rest using AES-256. - Proposal_Text: Plain text of the proposal section to evaluate.
Example
python main.py --pws examples\sample_pws.txt --proposal examples\sample_proposal.txt --requirements examples\sample_requirements.txt
Output
The tool generates JSON output with the following sections:
betterments: List of identified betterments with detailsmeets_only: List of features that meet but don't exceed requirementsambiguous: List of potential betterments needing more detailrequirements: List of all parsed requirements
For each betterment, the tool provides:
- Title
- Associated requirement ID
- Baseline requirement text
- Betterment text from the proposal
- Betterment categories
- Justification of how it exceeds the baseline
- Confidence score (0-1)
- Impact assessment (Low/Med/High)
- Priority level (P1/P2/P3)
Betterment Categories
- Performance/Quality: Exceeds performance metrics, quality standards, or precision requirements
- Security/Compliance: Provides security features beyond minimum compliance requirements
- Cost/Value/TCO: Offers cost savings or additional value beyond requirements
- Schedule/Speed: Delivers faster implementation or response times than required
- Reliability/Availability: Exceeds uptime or availability requirements
- Scalability/Capacity: Provides higher capacity or better scalability than required
- Risk Reduction: Offers additional risk mitigation beyond requirements
- User Experience/Accessibility: Enhances user experience or accessibility beyond requirements
- Maintainability/Operability: Improves ease of maintenance or operation
- Innovation/Modernization: Introduces innovative or modern approaches beyond requirements
Decision Process
A feature is classified as a betterment if:
- It exceeds a baseline requirement (not just meets it)
- The improvement is meaningful and advances PWS objectives
- The claim is verifiable with metrics, standards, or benchmarks
Project Structure
rfp_betterment_analyzer/
├── main.py # Main script with the betterment analyzer logic
├── requirements.txt # Dependencies (none required beyond standard library)
├── README.md # This documentation file
└── examples/ # Example input files
├── sample_pws.txt # Sample Performance Work Statement
├── sample_requirements.txt # Sample requirements list
└── sample_proposal.txt # Sample proposal text
Future Enhancements
Potential future enhancements include:
- Web-based user interface
- Integration with proposal management tools
- Support for PDF input files
- Enhanced NLP for more accurate requirement matching
- Export options for proposal teams
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file rfp_betterment_analyzer-1.0.0.tar.gz.
File metadata
- Download URL: rfp_betterment_analyzer-1.0.0.tar.gz
- Upload date:
- Size: 18.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8d51010701a11e7c6c631a918ed8982bec0769f8a40bf60f3ac8ba7c45c46fe2
|
|
| MD5 |
beb902e77bd95d4d332b828b7b0d5840
|
|
| BLAKE2b-256 |
d6c4df2e577f0662d7e323cf19dea74275646c257441650983fc365e0009edfe
|
File details
Details for the file rfp_betterment_analyzer-1.0.0-py3-none-any.whl.
File metadata
- Download URL: rfp_betterment_analyzer-1.0.0-py3-none-any.whl
- Upload date:
- Size: 15.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5a2b1178d19cc00cbc38643f13199ac6ed1e66f352a252527db16b8ea23fc650
|
|
| MD5 |
a6f36fe933f341767d465b7a433bdc87
|
|
| BLAKE2b-256 |
7ef500526b1cd84a0c4d69d4a92dfea11adecb99cf89be93c66d1316c663be42
|