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)
- 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