Skip to content

Instantly share code, notes, and snippets.

@Bjwebb
Last active September 18, 2016 15:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Bjwebb/c8b11ee8d1d43279209ad533d7bea9cb to your computer and use it in GitHub Desktop.
Save Bjwebb/c8b11ee8d1d43279209ad533d7bea9cb to your computer and use it in GitHub Desktop.
PYCon UK 2016 lighning talk on OCDS

$9,500,000,000,000

I'm going to start with a large number, 9.5 trillion dollars, which as a pile of dollar notes would stretch to the moon and back.

This is the total global spending through govermentment contracting, which is 15% of global GDP.

If you want an accountable govement, it's important to have public data about all this government contracting. Sadly this is often lacking at the moment - and even when it's public the data is often poor.

Open Contracting

This is why open contracting exists. Open contracting is a global intitiative to push for govenment contracting data to be:

  • Released openly
  • Accessible (to both people and computers)
  • Timely - ie. data is updated promptly after any change happens

OCDS

And, we want to go a step futher, to standardise the data model that governments used to publish this data, to help faiclitate building tools that work across different jurisdictions. This is the Open Contracting Data Standard, or OCDS.

So at the moment this is all about metadata, full text of tenders is still free text or external documents, but the standard contains detail down to the level of list of items tendered/contracted and the quantity/price of each.

Built around user supply

How did we decide decide what fields the standard should have? We conducted reasearch about what fields existing contracting systems contain,

and user needs

but we also focused on what the different user needs for this data are. These include fighting corruption, and monitoring delivery of contracts, but also trying to make public procurement more accessible for SMEs, and ultimately trying to get better value for money for governments.

The Contracting Process

Now, one of the key things about OCDS is that's it's about a whole contracting process. This is in contrast to what many governments currently do where e.g. tendering and actually disclosing signed contracts happens in seperate system. So, OCDS requires a single idenfier for a whole process so that this data can be compared.

JSON

So, what does the data look like. The main serialization of the data standard is JSON based, and is defined in JSON schema, we we use to generate our documentation.

flatten-tool

So JSON is a nice well defined developer friendly, but this data is also important to less technical researchers, and some small data publishers are not very technical either. Therefore we've been developing tooling to convert from JSON to spreadsheets and vice-versa.

Map (40s)

So who's publishing OCDS? The countries in purple have bodies that are already publishing OCDS data, and those in green have someone actively working on implementing it. Many more have comitted to publishing. Considering OCDS was launched 2 years ago, this is good progress.

If you're interested in building something with this data, or otherwise helping with the project, we'll be running a sprint tomorrow.

Docs

Sphinx documentation generated from this schema. Static site built and deployed with Travis using additional markdown text on GitHub.

Validator

Validation web tool built using Django

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment