CivicTechTO / CivicTechTO/toronto-bids

Zero bids on 64.7% of awarded solicitations (after #165) — mostly staff-delegated/never-captured, with a smaller recoverable tail (#166/#167)

Open
#163 4 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Python
Stars
7
Forks
2
PR merge metrics
No merged PRs in 30d

Description

> **⚠️ Premise corrected (investigation complete).** The original title claimed these awards *"genuinely have zero captured bids."* **That is wrong for ~80% of them.** See the [decomposition](#issuecomment-5017008664) and [conclusion](#issuecomment-5017015694) below.

## Corrected finding

~80.9% of awarded solicitations (measured: **5,062 of 6,269, 80.7%**) have no bids linked by `document_number`. But the losing-bid record is **overwhelmingly captured-but-unlinked or capturable — not genuinely absent**:

| segment | count | genuine zero? | recovery |
|---|---:|---|---|
| 2013-2019 captured-but-unlinked | ~3,900 (77%) | **No** | **#124** — bids already on disk (9,836 across 2,021 council refs); ≥1,288 already matched to their council item |
| 2009-2012 composite era | ~554 | **Yes** | unrecoverable (#93, bid counts only) |
| small modern <$500K (staff-delegated) | ~467 | **Yes** | no bid table by design (#83) |
| modern mega-awards >$3M ($3.11B) | 99 | **No** | **#164** — Council/committee reports, unmined |

**Genuine-zero is ~1,020 (≈16% of awarded), not 80.9%.** The remainder is recoverable:
- **#124 (surrogate spine)** recovers ~2,000 pre-Ariba awards by linking bids already captured (highest leverage, no new scraping).
- **#164** captures the 99 Council/Standing-Committee mega-awards ($3.11B) from an unmined source.

## Role of this issue

This issue now serves as the **measurement + genuine-floor record**. The two recovery efforts are tracked in **#124** and **#164**. What remains genuinely unrecoverable (segments 2009-2012 #93, and small staff-delegated awards #83) should be documented so "zero bids" there is understood as correct, not a gap.

Original claim (disproven)

> ~80.9% of awarded solicitations (~5,161) genuinely have zero captured bids — for four in five awards the archive knows who won and for how much but has no record of who else bid.

The investigation below shows the bids are, for most of these, captured-but-unlinked (#124) or in an unmined committee source (#164), not absent.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the corrected finding and the decomposition and conclusion comments, then read recovery issues #124 and #164 plus the genuine-zero sources #93 and #83. Document the 2009–2012 and small staff-delegated segments as genuinely unrecoverable while preserving the measurement and genuine-floor record; recovery work belongs in the linked issues.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
data, documentation
Issue type
Documentation
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.