87

How do you track buyers, suppliers, values, deadlines, and SME status in UK procurement data?. Structure the report around the core jobs: identify the buyer, link suppliers, choose the right date, read contract value and duration, and calculate direct award, single-bid, and SME metrics. Include a compact field-to-use-case table and a final checklist for dashboard builders and proposal teams.

Tracking buyers, suppliers, values, deadlines, and SME status in UK procurement data

The cleanest way to work with UK procurement data is to treat each procurement process as the anchor, then join buyers, suppliers, dates, and contract details back to that process. The attached guidance says the main sheet is the starting point for buyer and procedure analysis, with child sheets linked by `main_ocid` and nested sheets joined with their parent ID fields[1][2].

For award data specifically, the contracts extract says it covers published contract awards from 1 April 2017 onward and includes the buyer, awarded suppliers, contract value, and duration. It also notes the dataset is still incomplete and is updated quarterly[3][4][5].

1) Identify the buyer

Start with the buyer or procedure record in the main sheet, then carry that process forward through the rest of the model using `main_ocid`. That gives you a stable anchor for dashboard filters, pipeline reporting, and cross-sheet joins[6][7].

2) Link suppliers

The guide recommends joining `contracts` to `awardssuppliers` on `mainocid` and `contracts.awardID = awardssuppliers.awardsid`, then linking suppliers to `parties` to inspect fields such as `details_scale` for SME analysis[8].

A key limitation is that some below-threshold contracts do not have declared supplier identifiers, so SME matching is not always complete. The source also warns that a single contract can have multiple suppliers, so you should aggregate back to one contract row before calculating contract-level metrics[9][10].

3) Choose the right date

Use the date that matches the question. The guide says the main-sheet `date` is the latest update date for the procedure, `contracts.dateSigned` is best for contract trends over time, and the first notice publication date can be used as a start date when needed[11].

4) Read contract value and duration

For award-level reporting, the contracts extract explicitly includes contract value and duration, which makes it suitable for spend and term analysis[12]. The guide also points to contract value as the basis for indicators such as total contract value awarded by procurement method, excluding framework agreements[13].

5) Calculate the core metrics

  • Direct award: calculate the proportion of direct award procedures and trend it over time using the filtered UKPGA data[14].
  • Single-bid: calculate the proportion of lots that received only one bid as a competition indicator[15].
  • SME: calculate the proportion of contracts awarded to SMEs by method, after aggregating supplier information back to one contract row[16][17].

Compact field-to-use-case table

Field or joinUse caseWhy it matters
`main_ocid`[18][19]Anchor buyer and procedure records across sheetsKeeps one procurement process connected through the full dataset
`contracts.awardID = awards_suppliers.awards_id`[20]Link award records to supplier recordsLets you attach supplier names and attributes to contract awards
`parties.details_scale`[21]SME identificationSupports SME tagging where supplier detail is available
`date` in the main sheet[22]Latest update date for the procedureBest for current-state reporting and refresh logic
`contracts.dateSigned`[23]Contract trend analysis over timeBest date for signed-award timelines
Contract value[24][25]Spend analysis and value by methodUsed for award value reporting and method breakdowns
Contract duration[26]Term and expiry analysisSupports deadline, renewal, and pipeline views
Declared supplier identifiers[27]Supplier attributionMay be missing for some below-threshold contracts

Final checklist for dashboard builders and proposal teams

  • Use the procurement process as the primary key, with `main_ocid` as the join path[28][29].
  • Make buyer filters consistent across main-sheet and contract-level views[30].
  • Join suppliers through the award-to-supplier bridge, not by free text names[31].
  • Choose dates by question: latest update, signed date, or first notice publication date[32].
  • Keep contract value and duration together for spend and deadline analysis[33].
  • Aggregate to one row per contract before calculating direct award, single-bid, or SME metrics[34][35].
  • Flag missing supplier identifiers and incomplete coverage in any SME view[36][37].
  • Treat the dataset as evolving, since coverage is still incomplete and it is updated quarterly[38][39].

Bottom line

If you need one practical rule, it is this: anchor on the procurement process, join suppliers through award tables, pick the date that matches the question, and aggregate to contract level before calculating metrics[40][41][42][43]. That approach fits both dashboarding and proposal work, while staying within the limitations of the published UK data[44][45].