Methodology
Global procurement sources
Where the Global procurement datasets come from, what each source licenses, and exactly how its fields are mapped onto the QinMetrics model.
Updated Sep 2, 2026
Five official sources feed the first Global procurement datasets. Each is read through its public interface, stored as retrieved, and mapped onto the tender, contract and organisation records described in the entity model. Nothing is inferred: where a source does not publish a field, the field is empty, and where it does not publish a status, the status reads "Not stated".
Sources and licences
| Dataset | Publisher and interface | Licence statement (retrieved 2026-09-02) |
|---|---|---|
| EU Public Procurement Notices (TED) | Publications Office of the EU, TED Search API v3 (api.ted.europa.eu/v3/notices/search, anonymous) | TED legal notice: "Unless otherwise noted, the procurement notices published in the Supplement to the Official Journal of the European Union can be freely reused, for commercial or non-commercial purposes." |
| US Federal Contract Awards | U.S. Department of the Treasury, USAspending API v2 (api.usaspending.gov/api/v2/search/spending_by_award/, no key) | USAspending About page: "The data on this site is available to copy, adapt, redistribute, or otherwise use for non-commercial or for commercial purposes"; federal works are in the public domain (17 U.S.C. § 105). |
| UK Contracts Finder Notices | Cabinet Office, Contracts Finder OCDS API (/Published/Notices/OCDS/Search, anonymous) | Each OCDS package declares license: http://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/ (Open Government Licence v3.0). |
| UK Find a Tender Notices | Cabinet Office, Find a Tender OCDS API (/api/1.0/ocdsReleasePackages, anonymous) | Each OCDS package declares the Open Government Licence v3.0. |
| World Bank Contract Awards (IPF) | World Bank Group, Finances One API (dataset DS00005, resource RS00005) | Dataset page: "Creative Commons Attribution 4.0 International". |
All five licences allow reuse with attribution, including commercial reuse. The source panel of every record names the publisher, the document URL, the retrieval time and the licence.
Retrieval
Each source is fetched in a dated window and stored unchanged in the raw archive with a SHA-256 digest and the request that produced it. A release is built from one complete run. The first releases use the window 2026-08-26 to 2026-09-01 (TED: publication date; USAspending: first transaction date of the award; Contracts Finder: publication date; Find a Tender: last-updated date). The World Bank table has no date filter, so the whole table is retrieved and the release keeps contracts signed on or after 2026-01-01.
USAspending's search endpoint reports no further pages after 10,000 rows even
though later pages exist; pages are therefore read until a short page arrives,
sorted by award identifier, and de-duplicated by the award's internal
identifier. TED returns one row per notice, not per contracting process; a
process with a contract notice and a later award notice appears twice, and the
procedure-identifier attribute links the two.
Field mappings
TED
| TED field | QinMetrics field | Rule |
|---|---|---|
publication-number | tender slug | ted-<publication-number> |
notice-type | status | pin-*, qu-sy → planning; cn-*, subco → active; can-*, veat → complete; anything else → not stated |
procedure-type | method | open → open; restricted, comp-dial, comp-tend, innovation, neg-w-call, oth-mult → selective; neg-wo-call → limited; other codes are kept in attributes only |
contract-nature | category | works → works; supplies → goods; services → services (most frequent value across lots) |
main-classification-proc | classification | scheme CPV, code as published; CPV labels are not supplied by the API |
total-value / estimated-value-proc with their currency | value | total value when published, otherwise the estimated value; original currency |
deadline-receipt-tender-date-lot | tender period end | earliest deadline across lots |
contract-conclusion-date | award date | earliest date across lots |
organisation-name-buyer, buyer-identifier, organisation-country-buyer | buyer | slug <country>-org-<identifier> when the notice carries a buyer identifier, otherwise <country>-org-n-<digest of the name> |
buyer-legal-type | organisation kind | cga, ra, la, grp-p-aut → government; body-pl* → agency; pub-undert* → state-owned enterprise; int-org, eu-ins-bod-ag → international organisation; other → other |
notice-title (English when present) | title | the original-language procedure title is kept as native title |
winner-name, winner-identifier, winner-country | attributes | contract records from TED award notices are planned for a later release |
USAspending
| USAspending field | QinMetrics field | Rule |
|---|---|---|
generated_internal_id | contract slug | us-<identifier> |
| Awarding Sub Agency (+ code) | buyer | slug us-agency-<subtier code>, kind agency, parent = awarding agency (us-agency-<toptier code>, kind government) |
| Recipient Name, Recipient UEI | supplier | slug us-uei-<uei> when a UEI is published, otherwise us-org-n-<digest of the name>; kind other (the endpoint does not state the business type) |
| Award Amount | value | obligated amount in USD as published |
| Base Obligation Date | signed | date of the base award |
| Start Date, End Date | period | period of performance |
| NAICS | classification | scheme NAICS, code and description as published |
| PSC | contract type | first character digit → goods; Y or Z → works; other letters → services; the PSC itself is kept in attributes |
| Description | title | first 160 characters; the full text is kept as description |
| — | status | not published by the source → not stated |
Contracts Finder and Find a Tender (OCDS)
| OCDS field | QinMetrics field | Rule |
|---|---|---|
ocid | tender slug and ocid | releases of the same process within the window are merged, later releases overriding earlier fields |
tender.status, tender.procurementMethod, tender.mainProcurementCategory | status, method, category | same codelists, copied without translation; a process with awards but no tender status is marked complete |
tender.classification or the first item classification | classification | scheme, code and description as published (CPV) |
tender.value, tender.tenderPeriod | value, tender period | as published |
awards[] | contracts | slug = award id; supplier = first supplier (others in attributes); status pending/active/cancelled as published, unsuccessful → cancelled |
contracts[].dateSigned | signed | only when the release publishes a contract block; the award date is kept in attributes |
parties[] | organisations | slug gb-<party id> (for example gb-coh-09621608), identifiers as published; buyers typed from the Find a Tender contracting-authority classification, suppliers with a Companies House number typed as private companies, charities as non-profits, others as other |
World Bank
| Finances One column | QinMetrics field | Rule |
|---|---|---|
wb_contract_number, supplier_id | contract slug | wb-<number>-<supplier_id>: the table has one row per contract and supplier, so a joint venture appears as several records sharing wb_contract_number |
borrower_country_code, borrower_country | buyer and jurisdiction | buyer slug wb-borrower-<country>, name "Country — World Bank borrower", kind government; regional borrowers such as "Western and Central Africa" (codes 3W, 3E, …) become wb-borrower-<code>, kind other, without a jurisdiction; World Bank codes ZR and GZ are read as CD and PS |
supplier, supplier_id, supplier_country_code | supplier | slug wb-supplier-<supplier_id>, kind other, jurisdiction = supplier country |
supplier_contract_amount_usd | value | the source's US-dollar figure |
contract_signing_date | signed | as published |
procurement_category | contract type | Goods → goods; Civil Works → works; Consultant Services → consulting; Non-consulting services → services |
contract_description | title | first 160 characters; the full text is kept as description |
project_id, project_name, procurement_method, review_type, region, fiscal_year | attributes | as published |
| — | status | not published by the source → not stated |
Jurisdictions
Every record carries the country of its buyer as a level-0 jurisdiction whose
slug is the lower-case ISO 3166-1 alpha-2 code (de, us, gb). Names are
the ISO short names. Sub-national jurisdictions are not resolved in these
releases; NUTS codes and place-of-performance codes stay in attributes.
Known limitations
- TED titles combine the country, the CPV label and the procedure title as TED formats them; descriptions are in the buyer's language.
- USAspending recipients and World Bank suppliers are typed "other" because the interfaces used do not publish the legal form.
- A buyer that publishes under several national identifiers (a VAT number on one notice, a register number on another) has one record per identifier until entity resolution links them.
- Organisations are resolved within a source only. The same company appearing on TED and on Contracts Finder has two records until the harmonised layer (Global Public Procurement Data) links them.
- Amounts are never converted; the Global line's aggregation currency (USD) is used only for source figures already published in USD.