RFP Process Improvement
Diagnosis of the RFP win/loss picture, bid gate, and follow-on work on sourcing and response quality.
RFP Process Improvement
Area: Datopian data portal business development — RFP bidding Status: Diagnosis done; bid gate and response-quality process reported in place but rollout is unconfirmed (see below)
Implementation status disputed — review pending (2026-09-28). Rufus believes this work may still be live and may not have been implemented. Earlier completion and issue-closure claims are historical reports, not confirmed implementation. Keep this record visible until the owner distinguishes analysis, agreed process, actual rollout and routine adoption, and sets the next milestone. Live action:
bd show da-4pl.
Overview
Datopian bids regularly on RFPs for data portal work, primarily with government and institutional clients (academia, public sector). Deal sizes: tens to hundreds of thousands of dollars. Win rate has been poor: ~1 competitive win from ~25 bids over the past year (plus 2 non-competitive wins where we were directed to bid).
Goal: improve the end-to-end RFP process — discovery, bid/no-bid, preparation, submission, tracking — to increase win rate, raise submission quality, and reduce effort per bid.
Current Conclusion (2026-06-08; source correction 2026-07-22)
The diagnosis phase is complete. Key documents:
- Win/Loss Picture — 30 submitted RFPs reviewed as a 2026-06-05 snapshot; source analysis corrected on 2026-07-22
- Feedback and Optimization Priorities
- Rejected RFP Feedback Corpus for AI - consolidated rejection feedback and AI rules for sourcing/proposal workflows
- Priorities
- Response Quality Process v0.1 — proposals drafted with AI from the bizdev repo, Anuar reviewing and signing off
- Bid Gate — 3-question gate for colleagues; also embedded in the RFP issue template in
datopian/sales
Key finding: after correcting Statens Vegvesen (#702) and NHSBSA (#613) to invited / relationship-led, all 3 confirmed wins in the 2026-06-05 snapshot are invited / relationship-led hosting/support contracts. Known proactive outcomes had 0 wins in that snapshot. This is provisional because the sample is small and the tracker has changed since June. The bottleneck is likely the combination of relationship-led / high-fit opportunity creation, bid selection, and response quality.
What's in place:
- Bid gate: 3 questions on every RFP issue before writing starts
- Sourcing calibration loop: datopian/lead-gen/calibration
Ongoing tracks:
- #51 — sourcing calibration loop (confirm script cadence and recurring review with Meiran/Yoana)
- #52 — response quality improvement: see response-quality-process
Situation
- Datopian data portal business targets government and institutional clients; RFPs are the primary deal mechanism
- Deal sizes: typically 300k+
- ~25 RFPs submitted in the past year; included a deliberate exploratory push in autumn/winter 2025; pace has slowed from early 2026 with more selective approach
- Key people: Anu (technical lead), Daniela (BD lead), Osahon, Monica (sales/BD manager), Mehran (bidding infrastructure), Joanna, plus technical team members contributing to bid writing
- Estimated effort (Q1 2026): ~26 person-days/month across the team — approximately 1.2 FTE (see appendix for breakdown)
- Win rate: ~1 competitive win from ~25 bids in the past year; 2 additional non-competitive wins (invited to bid with no real competition)
- Only known win: City of Malmö (#741); known losses: UAE Ministry of Investment (#780, ~$300k — feedback: missed mandatory criteria + commercially uncompetitive), Scotland national open data platform (#721)
- Two tracking systems: Google Drive (unstructured folders, ~3/10); GitHub issues (datopian/sales, label system exists, ~6/10 — but ~12+ submitted bids have no recorded outcome)
- Bid/no-bid: no formal process; decisions made case by case; invited bids from good-fit clients are generally accepted
- Opportunity funnel (estimated): ~6–9 opportunities reviewed per month → 3-tier filter: (1) discard, (2) interested but no bid, (3) bid — roughly ~3 bids submitted per month
- Process (see diagram appendix): two entry routes (active discovery + inbound invite) converge at a bid/no-bid gate; 7 stages through to submission — get docs → Drive/GitHub/announce → assign team → task list → technical + financial proposals (parallel) → submit; process ends at submission
Complication
1. Our win rate is low — roughly 1 competitive win from ~25 bids.
2. We don't know why, because we lack the data to diagnose it:
- No structured archive of past submissions to review
- Outcome tracking is inconsistent — many submitted bids have no recorded result
- Feedback from clients is sparse and sometimes contradictory (great quality feedback on one bid; same effort, opposite feedback on another)
3. The probable causes are therefore unclear, but the available evidence points to:
- Commercial uncompetitiveness — "too expensive" is recurring client feedback. In some regions (UAE/Middle East) we deliberately price high as a buffer against demanding clients, but this may be costing wins. No clear pricing framework across bids.
- Mandatory criteria misses — at least one recent case (UAE $300k) where we failed to meet mandatory criteria; whether this is a process/compliance gap or capability gap is unknown
- Quality signal is too noisy to act on — wins and losses don't correlate cleanly with effort or quality, making it hard to know what to improve
- Process stops at submission — no designed post-submission stage for outcome recording, client follow-up, or retrospective; this directly explains the tracking gap above
Question
See also: Issue Tree — full breakdown of sub-questions.
How do we significantly grow revenue from RFP wins over the next 12 months — across data portal and closely related data engineering work — in a way that:
- Is commercially competitive (willing to be more aggressive on pricing where downside risk is manageable; floor: break-even at ~2–3x actual cost)
- Operates within ~1–1.5 FTE of total effort
- Builds rapid learning loops so we stop operating blind
Sub-questions:
- How do we select better bids (bid/no-bid discipline)?
- How do we improve submission quality and compliance (mandatory criteria)?
- How do we price more competitively while protecting margin?
- How do we make the process itself more efficient — e.g. through better tooling or AI?
- How do we track outcomes and learn systematically from wins and losses?
- What does our current process actually look like stage by stage, and where are the gaps?
Open Questions (to resolve during inquiry)
- What is our actual stage-by-stage RFP process today (discovery → bid/no-bid → writing → submission → follow-up)?
- Can we get the Drive archive catalogued quickly? (Anu: link needed)
- On mandatory criteria misses — is this a reading/checklist process failure or something else?
- On pricing: what's our framework for pricing RFPs? Is there a standard approach or is it ad hoc per bid?
- What does a "good" RFP submission look like for us — do we have examples we're proud of?
Next Steps
- Build initial win/loss picture from recent submitted GitHub issues
- Summarize available feedback and optimization priorities
- Enrich win/loss picture with invited vs proactive source split
- Install bid gate — 3-question template on RFP issues in
datopian/sales - Move sourcing calibration work to
datopian/lead-gen/calibration - Confirm Meiran script runs twice per week (#51)
- Confirm recurring review event with Yoana (#51)
- Improve RFP response quality (#52)
- Continue closing stale pending/unknown outcomes in
datopian/sales
Appendix: RFP Effort Estimate (Q1 2026)
| Person | Role | Days/month |
|---|---|---|
| Anu | Technical lead | 3 |
| Daniela | BD lead | 3 |
| Mehran | Bidding infrastructure | 5 |
| Monica | Sales/BD manager (discovery, qualification, outreach) | 5 |
| Technical team members | Bid writing (technical sections) | 5 |
| Joanna | BD support | 5 |
| Total | 26 days/month (~1.2 FTE) |
Assumptions: ~22 working days/month = 1 FTE. Covers full process: discovery, qualification, writing, submission. Q1 2026 estimate; varies by bid volume.
Appendix: GitHub Sales Tracker — Initial Survey
Repo: datopian/sales — ~500 total open issues (all leads: RFPs, existing clients, prospects, partnerships)
Label system (better than expected — ~6/10):
| Label | Meaning |
|---|---|
rfp | Request for Proposal |
bid | Decided to bid |
no bid | Decided not to bid |
submitted | Bid submitted |
accepted | We won |
rejected | We lost |
missed | Did not submit in time |
existing client | Existing client opportunity |
action required | Needs attention |
Known outcomes (partial — most recent ~50 open, ~30 closed issues only):
| # | Title | Outcome |
|---|---|---|
| 741 | City of Malmö – CKAN hosting & support | Accepted ✓ |
| 780 | UAE Ministry of Investment – Data & AI Portal | Rejected ✗ |
| 721 | Scotland national open data platform | Rejected ✗ |
| 759 | Imperial War Museums – Digital Services Framework | Missed |
| 787 | DHSC MedTech Compass | No bid |
| 754 | Centralised data management platform | No bid |
| 736 | Managed Sustainability Data & Reporting | No bid |
| 734 | DEFRA – Food Data Infrastructure | No bid |
| 726 | City of Brampton – Transit Data Tools | No bid |
| 723 | Data Catalog Platform CHF (UNGM) | No bid |
| 717 | Transport Strategy – Data Collection | No bid |
Key gap: ~12+ issues labelled submitted are still open with no outcome label — outcomes not being consistently recorded. Needs a deeper full-history query to get complete win/loss picture.
Appendix: Pricing Assumptions and Commercial Stance
- Actual team cost (blended): ~$25–30/hr
- Target billing rate: 2–3x actual cost = ~$50–75/hr floor
- Rationale for multiplier: covers overhead, internal meetings, management, org costs beyond direct salary
- Commercial stance: willing to be more aggressive on pricing to win, particularly given current dry pipeline and improved delivery capacity from AI tooling
- Hard floor: break-even — never bid on known losses unless exceptional strategic reason
- Key downside risk factors to assess per bid: scope creep potential, client difficulty/demands, reputational risk, likelihood of consuming senior management time
- Follow-on opportunity is a legitimate factor in pricing decisions (e.g. NHS: painful first contract → significant subsequent work)
Appendix: RFP Process Diagram
══════════════════════════════════════════════════════════════
PRE-RFP PHASE
══════════════════════════════════════════════════════════════
┌────────────────────────────┐ ┌────────────────────────────┐
│ [A] Active Discovery │ │ [B] Inbound Invite │
│ Search RFP aggregators, │ │ Received from a │
│ portals & databases │ │ potential lead │
└──────────────┬─────────────┘ └──────────────┬────────────┘
│ │
└──────────────────┬────────────────┘
│
▼
╔══════════════════════╗
║ Pursue? / Good Fit? ║
╚══════════╤═══════════╝
No ◄──────────────────┤ Yes
(Pass) │
│
══════════════════════════════════════════════════════════════
RFP PHASE
══════════════════════════════════════════════════════════════
│
▼
┌───────────────────────────────────────┐
│ 1. Get Documents Pack │
│ (specs, ToR, forms, register) │
└─────────────────┬─────────────────────┘
│
▼
┌───────────────────────────────────────┐
│ 2. Upload to Google Drive │
│ Create GitHub Issue │
│ Announce to team │
└─────────────────┬─────────────────────┘
│
▼
┌───────────────────────────────────────┐
│ 3. Assign Team │
│ (lead, technical, financial) │
└─────────────────┬─────────────────────┘
│
▼
┌───────────────────────────────────────────────┐
│ 4. Process Docs → Create Task List │
│ [ Optional: Q&A clarification round ] │
└───────────────────┬───────────────────────────┘
│
┌────────────┴────────────┐
▼ ▼
┌─────────────────────────┐ ┌──────────────────────────┐
│ 5. Technical Proposal │ │ 6. Financial Proposal │
│ (approach, team, │ │ (pricing, rates, │
│ methodology) │ │ budget breakdown) │
└────────────┬────────────┘ └────────────┬─────────────┘
│ │
└──────────────┬──────────────┘
│
▼
┌───────────────────────────────────────┐
│ 7. SUBMIT │
│ (portal / email / post) │
└─────────────────┬─────────────────────┘
│
▼
★ PROPOSAL SUBMITTED ★
Historical milestone claims — verify before relying on them
| Milestone / checkpoint | Claimed done |
|---|---|
| Win/loss picture consolidated | 2026-05-09 |
| Rejected-bid feedback synthesized | 2026-05-16 |
| First improvement plan drafted | 2026-05-20 |
| Follow-on tracks reset (sourcing vs response quality) | 2026-06-03 |
| Source data added: all 30 RFPs marked invited or proactive | 2026-06-05 |
| Metrics split by source (both ~17% win rate) | 2026-06-05 |
Bid gate installed (3-question template on datopian/sales RFP issues) | 2026-06-08 |
| leadlinks #22 closed with source split and priorities | 2026-06-08 |
Sourcing calibration loop established (datopian/lead-gen/calibration) | 2026-06-09 |
Related closed issues: #22 enrich analysis, #51 sourcing via Meiran fit reports.