Skip to content

Instantly share code, notes, and snippets.

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 romifz/ce6da9ab25c45e316d78ccdfa61652c1 to your computer and use it in GitHub Desktop.
Save romifz/ce6da9ab25c45e316d78ccdfa61652c1 to your computer and use it in GitHub Desktop.
[PARAGUAY] MAPS quantitative indicators with OCDS#shared
Display the source blob
Display the rendered blob
Raw
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"name": "[PARAGUAY] MAPS quantitative indicators with OCDS#shared",
"version": "0.3.2",
"provenance": [],
"collapsed_sections": [
"79Chhr9j3Srn",
"CIN8kgN36s2B",
"YwHEUFCrOY6_",
"CGvg_YJt6tEN",
"jT6p_YDtoOLQ",
"GmYR1mQ6S-XL",
"Wtc3_DFasPrP",
"ZXUzPU4Hsis2",
"YaYwnTGRkynx",
"6rCQQQzpyZmJ",
"sHtIiQrHoTKB",
"GMUJtkcyp1NF",
"EH60T4T1hf1N",
"IR6oBerLiK7-",
"7yTfcWQphmgy",
"qfLIIBGwiRj8",
"Lkov9MHEiVWq",
"rEJibw6Yig4W"
],
"include_colab_link": true
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
}
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/gist/romifz/ce6da9ab25c45e316d78ccdfa61652c1/-paraguay-maps-quantitative-indicators-with-ocds-shared.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"metadata": {
"id": "jxdWZkqD5kEo",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"# Using OCDS data to calculate quantitative MAPS indicators\n",
"\n",
"We explore using OCDS data to calculate the quantitative indicators within MAPS. MAPS is an assessment framework used to evaluate the procurement systems of a given country.\n",
"\n",
"MAPS defines main indicators, which are each accompanied by quantitative indicators. Quantitative indicators are either required or recommended. Among the required quantitative indicators, we looked at the subset that can be calculated from contracting data (as opposed to, for example, appeals data). These are:\n",
"\n",
"1. Key procurement information published along the procurement cycle (in % of total number of contracts) (sub-indicator 7(a)(c)):\n",
"\n",
" 1. Invitation to bid (in % of total number of contracts)\n",
" 2. Contract awards (purpose, supplier, value, variations/amendments)\n",
" 3. Details related to contract implementation (milestones, completion and payment)\n",
" \n",
"2. Annual procurement statistics\n",
"3. Uptake of e-Procurement (sub-indicator 7(b)(a))\n",
" \n",
" 1. Number of e-Procurement procedures in % of total number of procedures\n",
" 2. Value of e-Procurement procedures in % of total value of procedures\n",
" \n",
"4. Total number of contracts (sub-indicator 7(c)(d))\n",
"5. Total value of contracts (sub-indicator 7(c)(d))\n",
"6. Public procurement as a share of government expenditure and as share of GDP (sub-indicator 7(c)(d))\n",
"7. Total value of contracts awarded through competitive methods in the most recent fiscal year (sub-indicator 7(c)(d))\n",
"8. Share of contracts with complete and accurate records and databases (in %) (sub-indicator 9(c)(g))\n",
"\n",
"To explore using OCDS data to calculate these, we chose two data sources that are relatively complete and correct. This notebook shows our calculations with Paraguay's procurement data (as published by the [DNCP](https://www.contrataciones.gov.py/)) and the previous checks we conducted to ensure that all calculations were correct. Paraguay's data is accessed by using an API and its documentation can be found [here](https://www.contrataciones.gov.py/datos/api/v2/#!/ocds).\n",
"\n",
"In the following sections, we assume knowledge of the OCDS and SQL. Additionally, we use pandas for graphs and a few calculations. The data was accessed through Kingfisher, which collected the data and saved it in a PostgreSQL database.\n",
"\n",
"It is worth noting that OCDS and MAPS have a few differences in concepts. When these differences affect the analysis, we note which OCDS field approximates the MAPS concept."
]
},
{
"metadata": {
"id": "79Chhr9j3Srn",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"## 1. Setup\n",
"*The steps needed to connect to the data source.*"
]
},
{
"metadata": {
"id": "8npu2NX9MGBn",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"This section includes the initial steps we need to connect to Kingfisher and some utility functions."
]
},
{
"metadata": {
"id": "--8vgOiP_58f",
"colab_type": "code",
"outputId": "3d36cd7b-2b3d-4c13-c245-7abb23ed1275",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 377
}
},
"cell_type": "code",
"source": [
"!pip install psycopg2 \n",
"!pip install --upgrade -q gspread\n",
"!pip install gspread-dataframe\n",
"!pip install ocdsmerge"
],
"execution_count": 0,
"outputs": [
{
"output_type": "stream",
"text": [
"Requirement already satisfied: psycopg2 in /usr/local/lib/python3.6/dist-packages (2.7.6.1)\n",
"Requirement already satisfied: gspread-dataframe in /usr/local/lib/python3.6/dist-packages (3.0.2)\n",
"Requirement already satisfied: pandas>=0.14.0 in /usr/local/lib/python3.6/dist-packages (from gspread-dataframe) (0.22.0)\n",
"Requirement already satisfied: gspread>=3.0.0 in /usr/local/lib/python3.6/dist-packages (from gspread-dataframe) (3.1.0)\n",
"Requirement already satisfied: pytz>=2011k in /usr/local/lib/python3.6/dist-packages (from pandas>=0.14.0->gspread-dataframe) (2018.9)\n",
"Requirement already satisfied: python-dateutil>=2 in /usr/local/lib/python3.6/dist-packages (from pandas>=0.14.0->gspread-dataframe) (2.5.3)\n",
"Requirement already satisfied: numpy>=1.9.0 in /usr/local/lib/python3.6/dist-packages (from pandas>=0.14.0->gspread-dataframe) (1.14.6)\n",
"Requirement already satisfied: requests>=2.2.1 in /usr/local/lib/python3.6/dist-packages (from gspread>=3.0.0->gspread-dataframe) (2.18.4)\n",
"Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.6/dist-packages (from python-dateutil>=2->pandas>=0.14.0->gspread-dataframe) (1.11.0)\n",
"Requirement already satisfied: idna<2.7,>=2.5 in /usr/local/lib/python3.6/dist-packages (from requests>=2.2.1->gspread>=3.0.0->gspread-dataframe) (2.6)\n",
"Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.6/dist-packages (from requests>=2.2.1->gspread>=3.0.0->gspread-dataframe) (2018.11.29)\n",
"Requirement already satisfied: urllib3<1.23,>=1.21.1 in /usr/local/lib/python3.6/dist-packages (from requests>=2.2.1->gspread>=3.0.0->gspread-dataframe) (1.22)\n",
"Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /usr/local/lib/python3.6/dist-packages (from requests>=2.2.1->gspread>=3.0.0->gspread-dataframe) (3.0.4)\n",
"Requirement already satisfied: ocdsmerge in /usr/local/lib/python3.6/dist-packages (0.5.1)\n",
"Requirement already satisfied: requests in /usr/local/lib/python3.6/dist-packages (from ocdsmerge) (2.18.4)\n",
"Requirement already satisfied: jsonref in /usr/local/lib/python3.6/dist-packages (from ocdsmerge) (0.2)\n",
"Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /usr/local/lib/python3.6/dist-packages (from requests->ocdsmerge) (3.0.4)\n",
"Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.6/dist-packages (from requests->ocdsmerge) (2018.11.29)\n",
"Requirement already satisfied: idna<2.7,>=2.5 in /usr/local/lib/python3.6/dist-packages (from requests->ocdsmerge) (2.6)\n",
"Requirement already satisfied: urllib3<1.23,>=1.21.1 in /usr/local/lib/python3.6/dist-packages (from requests->ocdsmerge) (1.22)\n"
],
"name": "stdout"
}
]
},
{
"metadata": {
"id": "I-QPDbliMVXC",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"Connect to server:"
]
},
{
"metadata": {
"id": "AaUpgXz24Y_A",
"colab_type": "code",
"outputId": "931c075f-6221-4c73-bf67-ec5e995ecfb8",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 35
}
},
"cell_type": "code",
"source": [
"import getpass\n",
"import psycopg2\n",
"\n",
"dbpassword = getpass.getpass(\"Enter database user password: \") #see /.pgpass file on server\n",
"\n",
"# db connection config\n",
"conn = psycopg2.connect(\n",
" database = 'ocdskingfisher',\n",
" user = 'ocdskingfisher',\n",
" password = dbpassword,\n",
" host = '195.201.163.242',\n",
" port = '5432',\n",
")\n",
"\n",
"# clear db user password\n",
"dbpassword = ''\n",
"\n",
"# create db cursor\n",
"cur = conn.cursor()"
],
"execution_count": 0,
"outputs": [
{
"output_type": "stream",
"text": [
"Enter database user password: ··········\n"
],
"name": "stdout"
}
]
},
{
"metadata": {
"id": "Ln5UIRj4-MxO",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"### Define functions"
]
},
{
"metadata": {
"id": "6Zxvn8K07Ecp",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"Define function to store query results in a pandas dataframe"
]
},
{
"metadata": {
"id": "TYkEHVatrEXC",
"colab_type": "code",
"colab": {}
},
"cell_type": "code",
"source": [
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"\n",
"def getResults(cur):\n",
"\n",
" headers = [desc[0] for desc in cur.description]\n",
"\n",
" results = pd.DataFrame(cur.fetchall(), columns = headers)\n",
" \n",
" return results"
],
"execution_count": 0,
"outputs": []
},
{
"metadata": {
"id": "_ZYB4II6MbJF",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"### Set default variables"
]
},
{
"metadata": {
"id": "4EaO_1gcPROq",
"colab_type": "code",
"colab": {}
},
"cell_type": "code",
"source": [
"source_id = 'paraguay_dncp'\n",
"data_version = '2018-11-20-14-21-31'\n",
"ocid_prefix = 'ocds-03ad3f'\n",
"\n",
"base_querystring = \"\"\"\n",
" WITH records AS (\n",
" SELECT\n",
" data\n",
" FROM\n",
" data\n",
" JOIN\n",
" record on data.id = record.data_id\n",
" JOIN\n",
" collection_file_status ON record.collection_file_status_id = collection_file_status.id\n",
" JOIN\n",
" collection ON collection_file_status.collection_id = collection.id\n",
" WHERE\n",
" source_id ='\"\"\" + source_id + \"\"\"' and data_version='\"\"\" + data_version + \"\"\"'\n",
" )\n",
" \"\"\""
],
"execution_count": 0,
"outputs": []
},
{
"metadata": {
"id": "rzzmbFGu0o6S",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"### Set pandas to show long text in cells"
]
},
{
"metadata": {
"id": "MnqFcJp80snZ",
"colab_type": "code",
"colab": {}
},
"cell_type": "code",
"source": [
"pd.set_option('display.max_colwidth', -1)"
],
"execution_count": 0,
"outputs": []
},
{
"metadata": {
"id": "_EBoASlAjjjA",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"## 2. Paraguay's Data Facts\n",
"\n",
"*This section shows a few properties from the Paraguay dataset that are relevant to the analysis.*"
]
},
{
"metadata": {
"id": "m8HS-Pzre7ih",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"Before diving into the calculations, we present a few particularities of Paraguay's data that may affect the results."
]
},
{
"metadata": {
"id": "CIN8kgN36s2B",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"### 2.1 Compiled Releases and Distribution of Records over Time\n",
"*Here, we identify an appropriate data range to use.*"
]
},
{
"metadata": {
"id": "EyEE05Vy60TD",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"Paraguay publishes their data using Records with compiled Releases. To ensure we have access to complete data, let's verify that we don't have `compiledRelease`s missed. First, the total records existing in the dataset:"
]
},
{
"metadata": {
"id": "etQbfAvv0wmM",
"colab_type": "code",
"outputId": "d9f25c98-f3da-46c3-81bf-31cff16311d0",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 35
}
},
"cell_type": "code",
"source": [
"querystring = base_querystring + \"\"\"\n",
" SELECT \n",
" data -> 'compiledRelease' as compiledRelease\n",
" FROM records\n",
"\"\"\"\n",
"\n",
"cur.execute(\"\"\"rollback\"\"\")\n",
"\n",
"cur.execute(querystring)\n",
"\n",
"results = getResults(cur)\n",
"\n",
"len(results.index)"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"47517"
]
},
"metadata": {
"tags": []
},
"execution_count": 23
}
]
},
{
"metadata": {
"id": "VWZ-oQZJLfcZ",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"And the `null` values:"
]
},
{
"metadata": {
"id": "y8BAGMwJL32R",
"colab_type": "code",
"outputId": "2b1f8f69-5384-41be-f0c8-91052829b5a9",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 53
}
},
"cell_type": "code",
"source": [
"results.isnull().sum()"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"compiledrelease 11484\n",
"dtype: int64"
]
},
"metadata": {
"tags": []
},
"execution_count": 24
}
]
},
{
"metadata": {
"id": "wKs_Z-DpOXnD",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"A significant proportion of our dataset does not contain `compiledRelease`s. According to our research in the OCDS data generation by this publisher, compiled releases are generated only when the contracting processes goes past the `planning` stage. Let's try to verify this by checking the tags used in records that have no compiled releases:"
]
},
{
"metadata": {
"id": "I9bXVf1mtOSe",
"colab_type": "code",
"outputId": "84bf3ebd-ff49-4af8-9b07-3a19c7edae0d",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 80
}
},
"cell_type": "code",
"source": [
"querystring = base_querystring + \"\"\"\n",
" SELECT\n",
" tag,\n",
" COUNT(DISTINCT ocid) AS processCount\n",
" FROM (\n",
" SELECT \n",
" STRING_AGG(tags::VARCHAR, ',') AS tag,\n",
" data ->> 'ocid' AS ocid\n",
" FROM records\n",
" CROSS JOIN jsonb_array_elements(data -> 'releases') AS releases\n",
" CROSS JOIN jsonb_array_elements(releases -> 'tag') AS tags\n",
" WHERE\n",
" data -> 'compiledRelease' IS NULL\n",
" GROUP BY\n",
" ocid\n",
" ) AS ncrTags\n",
" GROUP BY tag\n",
"\"\"\"\n",
"\n",
"cur.execute(\"\"\"rollback\"\"\")\n",
"\n",
"cur.execute(querystring)\n",
"\n",
"results = getResults(cur)\n",
"\n",
"results"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>tag</th>\n",
" <th>processcount</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>\"planning\"</td>\n",
" <td>11484</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" tag processcount\n",
"0 \"planning\" 11484 "
]
},
"metadata": {
"tags": []
},
"execution_count": 35
}
]
},
{
"metadata": {
"id": "xQ4oSR87QqwG",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"Indeed, the records with no compiled releases contain information about the `planning` stage only. Now, MAPS indicators do not make any reference to planning in their quantitative indicators, and [according to OCDS on the initiation of a Contracting Process](http://standard.open-contracting.org/latest/en/getting_started/contracting_process/#defining-a-contracting-process)\n",
"\n",
"> An initiation process may be a tender, a direct contract award, or a call to award a concession.\n",
"\n",
"From which we can infer that processes that have not reached the `tender` stage at least do not represent contracting processes yet. Therefore, we will exclude these records from our analysis.\n",
"\n",
"Although these calculations are only for demonstration purposes, it would be good to have a full year of samples to calculate a few indicators. Let's start by making a graph of number of releases by date:"
]
},
{
"metadata": {
"id": "dnEEM0Rc-JGx",
"colab_type": "code",
"outputId": "072c125c-3d1e-48fc-ff3d-2af082d4e3e4",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 406
}
},
"cell_type": "code",
"source": [
"querystring = base_querystring + \"\"\"\n",
" \n",
" SELECT\n",
" TO_DATE(SUBSTRING(releases ->> 'date', 0, 11), 'YYYY-MM-DD') AS \"date\", \n",
" COUNT(*) AS numOfReleases\n",
" FROM\n",
" records\n",
" CROSS JOIN\n",
" jsonb_array_elements(data -> 'releases') AS releases\n",
" WHERE\n",
" TO_DATE(SUBSTRING(releases ->> 'date', 0, 11), 'YYYY-MM-DD') IS NOT NULL\n",
" GROUP BY \n",
" SUBSTRING(releases ->> 'date', 0, 11)\n",
" ORDER BY \n",
" SUBSTRING(releases ->> 'date', 0, 11) ASC\n",
"\"\"\"\n",
"\n",
"cur.execute(\"\"\"rollback\"\"\")\n",
"\n",
"cur.execute(querystring)\n",
"\n",
"results = getResults(cur)\n",
"\n",
"results.plot(x=\"date\",y=\"numofreleases\",figsize=(20,6))"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7f266a40f278>"
]
},
"metadata": {
"tags": []
},
"execution_count": 39
},
{
"output_type": "display_data",
"data": {
"image/png": "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\nUZbPREgmk/bXpmm6AvqZTMb3dt77SIac+3al02kZRkJS1vW76uvr7P/+67/+m4466r2+Y6qrq9fV\nV1+rQw8tvn/s379P99zzK/3yl79SU1OTLrjgHEnSccf9tW6++TY99dQT+s//vEqXXvrFwMf/0pe+\noh07tutPf/qDLrvs/+rnP7/VDmiNBQ2pAQAAgBFs3dMjSWo9OFjjkQAARqOpaYYOHOhQNpvVSy9t\nqOg+73jHO/XiixuUyWSUyWT08ssv6R3veGfg7d/97qP0+OOPSZK2bXtNd999R8nPn3gi//Pnn39W\nK1c+rK6uLs2ZM0dNTU169dWN2r9/v9LptO677x719HTrIx/5mM49d5E2bdro+/h9fX265ZabdMQR\nb9b/+T//pObm2RoY6B/138eJzCEAAACgElSUAUCknHnmObriin/Vm950hN7ylrdWdJ/Xv/5w/d3f\nfVqXXXaRcjlTn/zkp3TYYa/X5s0v+t7+rLPO1be+dZX+5V/+UblcTl/84pdcP7/wwov07W9/U488\nskKGYejKK7+h173uME2f3qR//ud/0MKFx+hTn/pfuu66a3Xeeefra1/7smbOnKn6+npdeeU31NjY\nWPL4M2fOVFdXp/7pn/5e06c36aij3qtZs2aP629lmM58qZBob+8d0/3mz28e830B5DGPgPFjHgHV\nEZa59A/X/EmStOjUt+vU495Y49EAoxOWeQREXVzm0vz5zb7HKSsDAAAAKkAzagBAXBEcAgAAAAAA\nmMIIDgEAAAAAAExhBIcAAACAClBVBgCIK4JDAAAAQAWIDQEA4orgEAAAAAAAwBRGcAgAAACoBHVl\nAICYIjgEAAAAVIDQEAAgrggOAQAAAJUgOgQAiCmCQwAAAAAAAFMYwSEAAACgAiQOAQDiiuAQAAAA\nUAGDhtQAgJgiOAQAAAAAADCFERwCAAAAAACYwggOAQAAABWgqAwAEFcEhwAAAIBKEB0CAMQUwSEA\nAACgAgbRIQBATBEcAgAAAAAAmMIIDgEAAAAVYCd7YHxM09RL2w5qYChT66EA8CA4BAAAAACYcC9t\nO6jr7lmrHy1bV+uhAPAgOAQAAABUgMwhYHz2HRiQJG3a3V3jkQDwIjgEAAAAAAAwhREcAgAAACrA\nbmXAODGFgNAiOAQAAABUgoUtACCmCA4BAAAAFSA2BACIK4JDAAAAAICJZ9Z6AACCEBwCAAAAKkHq\n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\n2jk46pLJZNJQc1OD7+ueM0DonO/WfLRMG+FvVxLsSXgCionSBtTOKeENLrnHl1N9Mhm8lX3gqCaG\nq6ys8M/nzOTKmfkyYtezGeH1fUZjvZ1hd8OvN0iS671nrA2ps7mc/vDsbh0bkA1XTo+jBNG0g2D+\nQRHvefW9u17Qxp1d+sUVJ9vnhTM41NU/rNc1NGnfgX7dsXKTPvuxd/n2CbN2mzzQM6z7Vr2mtx4+\n284M9XJmyVrvTSPpd2Q1TnbPIb9y1aFUVk+s36cn1u/T3xx9uF4NyHx93dwmtR4csDNlMT5jyhx6\n3/vepx/+8IeSpFmzZmlwcFBr1qzRKaecIkk6+eSTtXr1aq1bt04LFy5Uc3OzGhsbdeyxx6qlpfRT\nCQAAMDZPbthf0tPFaaQYi/OTb7+FvHOhVsmnvtYFvXMBHJg55PjaOv7DZet09x83258USsEXqdZ4\n2joH9A/X/ElPFO6TKdM8aaRPRH/7xDbX96+f12R/bWcO+ZWVZXOuTzUHhjLa1dZnP6/nNrbplcKu\nZH6lKLOa6rV5d5e27evVy9tLs3te3VU89szLbfbX1iLpG597nyR3wG3Tri67dMrqNzOWZtSSleXg\n+D5huIJz3syifHPc4PPF2WOoeEwlz2GiWIt/b0PvpE9Ay2+XMMNQyW5l1nc5R0PqumQ+gDKzqbij\n1/RC5thXb16jG+4rNr51zpmlj27VN5c868qYsB7T+vts3dOjb9/+vF7d5V4w1SUM39JJv7Ky/qFM\nSUaRt6zOOQec8g2Vi9+nMjnXQtk6Z6y/5szGelcwOoh3fvYPjdxo1gqgVbL4dUomEq7SnMMPnaG/\nenu+VM75Nwj63Q31icAAtVRaJuYtvfQ2cffvIeT/2Pl578k8cgSbJr3nkOOfzC9oYmcOVfh40xvr\nJqSs7E8te3Tvo1v0X/es9b9BBRlqFmsnyKB7eN+GNhYCG873VFdwqHD+/nz5y3plR6d+vWpryWO2\ndQ3+f/bePN6OozwTfno7y933q83aNy+SNxkv2MbGxjiQjxDiJQZCSJiPkJAACUPCEAh8zJeEkBDI\nTMhAAngCQ8AOAUKwwWCDF3nBq7xblmRJ1nIl3avl7uece073/NFd1VVvVXWfc69sltTz++mn26e7\nq6u7q7urnnre51XaOcueGUUR/uWHz+OeJ9Jvp3idxHBKE6Zn568ccpq+uylmq3UcSb6bR4gqKAwj\n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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f266a07fc18>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"metadata": {
"id": "5mdLdqAuDN59",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"Here we can see that there is a spike of releases around January 2016. After that, the releases seem to be regular, so let's redraw the graph by looking after January 2016 only:"
]
},
{
"metadata": {
"id": "2xXAZ3kiDO1D",
"colab_type": "code",
"outputId": "944d756e-e8d9-4bc0-a045-26cdf664b205",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 437
}
},
"cell_type": "code",
"source": [
"results.plot(x=\"date\",y=\"numofreleases\",figsize=(20,6),ylim=(0,1200), xlim=('2016-01-01','2018-11-22'), rot=90)"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7f266a07f2e8>"
]
},
"metadata": {
"tags": []
},
"execution_count": 40
},
{
"output_type": "display_data",
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABIcAAAGSCAYAAAB5UqEUAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAIABJREFUeJzs3XmAHHWd9/FPdffcmZCDGSAeLOIK\nq1zysIsgPMoiGvXxkX04hCy47rLr4wp4PNkVZVfFZXeVR3G9UB8BAUEuuQweBBUQlQDqmBCCEBKu\nXCQzyVyZnqO7qp4/qn/VVdXdM5OePqqn369/MumZ6anUdOrX9f19D8t1XVcAAAAAAABoSol6HwAA\nAAAAAADqh+AQAAAAAABAEyM4BAAAAAAA0MQIDgEAAAAAADQxgkMAAAAAAABNjOAQAAAAAABAE5tV\ncGjjxo1629vepptuukmStGPHDn3gAx/Qeeedpw984APq7++XJK1atUpnnHGGzjrrLP3gBz+QJGUy\nGa1cuVLnnnuuzjvvPG3ZsqVK/xQAAAAAAADsqxmDQ+l0WpdffrlOOOEE/7GvfOUrOvvss3XTTTfp\ntNNO03XXXad0Oq2rrrpK119/vW688UbdcMMNGhoa0o9+9CMtXLhQt9xyiz70oQ/pyiuvrOo/CAAA\nAAAAALM3Y3CotbVVV199tXp7e/3HPvvZz+od73iHJGnx4sUaGhrSunXrdOSRR6q7u1vt7e069thj\n1dfXpzVr1ui0006TJJ144onq6+ur0j8FAAAAAAAA+2rG4FAqlVJ7e3vosc7OTiWTSdm2rZtvvlnv\nec97NDAwoCVLlvhfs2TJEvX394ceTyQSsixLU1NTFf5nAAAAAAAAoBxlN6S2bVuf+MQn9KY3vSlU\ncma4rlv0+0o9HpTN2uUeFgAAAAAAAPZBqtxv/NSnPqWDDz5YF110kSSpt7dXAwMD/ud37dqlY445\nRr29verv79fhhx+uTCYj13XV2to67XMPDqbLPayK6OnpVn//aF2PAfXD7x+8BiDxOmhm/O7BawAS\nr4Nmxu8e8/k10NPTXfTxsjKHVq1apZaWFn3kIx/xHzv66KO1fv16jYyMaGxsTH19fTruuOP05je/\nWffdd58k6cEHH9Txxx9fzo8EAAAAAABAFcyYOfTkk0/qiiuu0LZt25RKpbR69Wrt3r1bbW1tOv/8\n8yVJhx56qC677DKtXLlSF1xwgSzL0oUXXqju7m69613v0iOPPKJzzz1Xra2t+sIXvlD1fxQAAAAA\nAABmx3Jn0wSoxuqdvjWfU8gwM37/4DUAiddBM+N3D14DkHgdNDN+95jPr4GKlpUBAAAAAABgfiA4\nBAAAAAAA0MQIDgEAAAAAADQxgkMAAAAAAABNjOAQAAAx88cXB7V523C9DwMAAAA5L774gs4553/p\njjtundXXn3nme5ROp6t8VJVDcAgAgJj54i1/0H/c+Pt6HwYAAABynnrqSZ1wwpt15pnn1PtQqiJV\n7wMAAAAAAACYi5/85F498cRaDQ0N6qWXXtSKFefr+uuv1fe+d5s6Ozv1jW98Ra95zaGSpLVr+zQ0\nNKTnn39OH/zgP+rnP1+tF154Xp/5zL/rDW84QjfccIN++MN7JUknn/wWvfvd79WNN16niYkJHXTQ\nMj388IP+c33oQxfpP//zcxodHZVt2/rYx/5Zr33tn/rHNTDQr89//nJlsxklEgldcsmndeCBB+qW\nW27SQw/9Qo7j6IQT3qy/+7sPauPGp3XllVeopaVFra2t+tznPq9kMlH0+W+66Xr98pcPKpFI6M1v\nPlnvf//fzen8ERwCAAAAAAAVcfsDm/Tbp3dV9Dn//PBenf2Xr53x6zZv3qRvf/u72rp1iz772UtL\nft2WLS/pm9+8Rvfee49uuul6ffe739dPf3qvfv7z1Vq8eLHuvvtufetb10mSPvjBv9Epp7xN5533\nAT333Gadffa5fnDo9NPP1PXXX6Pjjz9R73nP6Xr++ef01a9+SV/5yjf9n3X11d/SOef8tf78z4/X\nmjW/1g03XKNLLvlXSdI3v3mNEomEzj77vXrf+1boJz+5V3/1V2dq+fJ36/e//6327NmtBx/8edHn\nv/XWm3TPPfcpmUzqnnvunOMZJjgEAAAAAADmgSOOOErJZFI9Pb0aG9tb8usOP/z1sixLS5fur0MP\n/VMlk0ktXrxUY2Pr9Oyzz+joo49WKuWFS4488mht2rSx4Dn+7M+OkCStX/+EhoYGtXr1TyRJk5MT\noa978skn9NJLL+qGG66V4zhatGixJKm9vV0XXfRBJZNJDQ0NaWRkRCed9BZ96Utf0JYtL+nUU0/T\nwQf/Scnnf+tbT9XHPvZhnXbacr397cvneOYIDgEAAAAAgAo5+y9fO6ssn2pIJpP+x67ryrIs/+/Z\n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\nAAAAAMBg/wdcCrKPQYvTzgAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f266a4d7ac8>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"metadata": {
"id": "Sp0eZXRCNztf",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"Since 2016 to 2018 seems to be a good example, we will use it 2017 for annual calculations for the indicators that require so."
]
},
{
"metadata": {
"id": "YwHEUFCrOY6_",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"###2.2. Full Process Information\n",
"\n",
"*Here, we verify the stages of the contracting process included in data*"
]
},
{
"metadata": {
"id": "veQOqkUZO4F3",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"As seen before, Paraguay publishes a record for each contracting process and each of one has its own compiledRelease with the full information about the process. Let's verify which tags are used:"
]
},
{
"metadata": {
"id": "8R1b8_9eO13y",
"colab_type": "code",
"outputId": "10efee7a-8e27-4e63-d108-3d6050297298",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 173
}
},
"cell_type": "code",
"source": [
"querystring = base_querystring + \"\"\"\n",
"\n",
" SELECT\n",
" releases ->> 'tag' AS tags,\n",
" COUNT( DISTINCT data->> 'ocid' ) AS ocidCount\n",
" FROM\n",
" records\n",
" CROSS JOIN jsonb_array_elements(data -> 'releases') AS releases\n",
" WHERE\n",
" data -> 'compiledRelease' IS NOT NULL\n",
" GROUP BY releases ->> 'tag'\n",
"\"\"\"\n",
"\n",
"cur.execute(\"\"\"rollback\"\"\")\n",
"\n",
"cur.execute(querystring)\n",
"\n",
"results = getResults(cur)\n",
"\n",
"results"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>tags</th>\n",
" <th>ocidcount</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>[\"award\"]</td>\n",
" <td>29702</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>[\"contract\"]</td>\n",
" <td>29700</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>[\"planning\"]</td>\n",
" <td>36033</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>[\"tender\"]</td>\n",
" <td>36033</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" tags ocidcount\n",
"0 [\"award\"] 29702 \n",
"1 [\"contract\"] 29700 \n",
"2 [\"planning\"] 36033 \n",
"3 [\"tender\"] 36033 "
]
},
"metadata": {
"tags": []
},
"execution_count": 41
}
]
},
{
"metadata": {
"id": "QuunAvgYPZ8C",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"\n",
"We can see that Records use the tags related to the required contracting stages for this exercise: tender, award and contract."
]
},
{
"metadata": {
"id": "CGvg_YJt6tEN",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"### 2.3. Suppliers information\n",
"\n",
"*Here, we determine how suppliers are uniquely identified.*"
]
},
{
"metadata": {
"id": "ZCWzOxrbX18D",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"The identity and number of suppliers are pieces of information that are nice to have on public procurement. For the calculations involving suppliers to be accurate, we need a way to identify uniquely each one. \n",
"\n",
"OCDS defines the type `Identifier` for organisations, which allows publishers to use a national organisation register or list to identify them. This field is exactly what we need to be sure that we are not counting each supplier more than once. Let's see if this field is in use in the Paraguay dataset:"
]
},
{
"metadata": {
"id": "8A5XTsv66jIY",
"colab_type": "code",
"outputId": "7a4e647c-f99c-4fcd-82ab-b1db4e8c6300",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 2989
}
},
"cell_type": "code",
"source": [
"querystring = base_querystring + \"\"\"\n",
" \n",
" SELECT DISTINCT\n",
" suppliers -> 'name' AS Name,\n",
" suppliers -> 'identifier' ->> 'scheme' AS scheme,\n",
" suppliers -> 'identifier' ->> 'id' AS ID\n",
" FROM\n",
" records\n",
" CROSS JOIN\n",
" jsonb_array_elements(data -> 'compiledRelease' -> 'awards') AS awards\n",
" CROSS JOIN\n",
" jsonb_array_elements(awards -> 'suppliers') AS suppliers\n",
" WHERE\n",
" data -> 'compiledRelease' IS NOT NULL\n",
" AND \n",
" data -> 'compiledRelease' -> 'awards' IS NOT NULL\n",
" ORDER BY\n",
" suppliers -> 'identifier' ->> 'id'\n",
" \n",
"\"\"\"\n",
"\n",
"cur.execute(\"\"\"rollback\"\"\")\n",
"\n",
"cur.execute(querystring)\n",
"\n",
"results = getResults(cur)\n",
"\n",
"results"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>name</th>\n",
" <th>scheme</th>\n",
" <th>id</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>ALSTOM GRID ENERGIA LTDA.</td>\n",
" <td>Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay</td>\n",
" <td>05.356.949/0001-42</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>WEG EQUIPAMENTOS ELETRICOS S.A.</td>\n",
" <td>Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay</td>\n",
" <td>07.175.725_0001-60</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>PURIFICACION MOREL ALFONSO</td>\n",
" <td>Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay</td>\n",
" <td>1001174-9</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>RAMON LEOPOLDO SALVIONI GONZALEZ</td>\n",
" <td>Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay</td>\n",
" <td>1001661-9</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>MARIA JULIA PLANAS GOMEZ DE BENITEZ</td>\n",
" <td>Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay</td>\n",
" <td>1002623-1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>MATEO CARDOZO ORTEGA</td>\n",
" <td>Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay</td>\n",
" <td>1002970-2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>JACK CESAR FLORENTIN TORRES</td>\n",
" <td>Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay</td>\n",
" <td>1003587-7</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>ALFONSO HORACIO RIVAS RODRIGUEZ</td>\n",
" <td>Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay</td>\n",
" <td>1004093-5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>MARIA ESTELA FERNANDEZ GONZALEZ</td>\n",
" <td>Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay</td>\n",
" <td>1004405-1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>CARLOS GOMEZ</td>\n",
" <td>Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay</td>\n",
" <td>1004662-3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>LUIS ADOLFO DANIEL EVALY CASSANELLO</td>\n",
" <td>Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay</td>\n",
" <td>1005539-8</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>AUGUSTO CACERES</td>\n",
" <td>Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay</td>\n",
" <td>1005746-3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>ANIBAL LEOPOLDO CARDOZO FLEYTAS</td>\n",
" <td>Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay</td>\n",
" <td>1008372-3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>LOURDES GOSSEN ROMERO</td>\n",
" <td>Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay</td>\n",
" <td>1009013-4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>NELIDA AIDEE MENDOZA RUFFINELLI</td>\n",
" <td>Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay</td>\n",
" <td>1009022-3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>RUBEN ANSELMO AGUILERA</td>\n",
" <td>Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay</td>\n",
" <td>1009418-0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>MARIA LUCIA VAZQUEZ</td>\n",
" <td>Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay</td>\n",
" <td>1009611-6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>LAURO NÉSTOR PENAYO CABRERA</td>\n",
" <td>Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay</td>\n",
" <td>1014643-1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>Agustina Figueredo de Wagener</td>\n",
" <td>Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay</td>\n",
" <td>101510-9</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>MIGUEL ANGEL CABRERA</td>\n",
" <td>Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay</td>\n",
" <td>1017086-3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>CRISTINO MARTINEZ GALEANO</td>\n",
" <td>Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay</td>\n",
" <td>1017663-2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>DIGNA ESTHER RAMOS DE RIQUELME</td>\n",
" <td>Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay</td>\n",
" <td>1017774-4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>BEATO AMARILLA ROMERO</td>\n",
" <td>Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay</td>\n",
" <td>1019200-0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>MOREL GALEANO, BIENVENIDO RAMON</td>\n",
" <td>Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay</td>\n",
" <td>1019787-7</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>OMAR EDUARDO PEREZ ZABALA</td>\n",
" <td>Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay</td>\n",
" <td>1020198-0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>Peter Penner</td>\n",
" <td>Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay</td>\n",
" <td>1020804-6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>RENDY VOTH PENNER</td>\n",
" <td>Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay</td>\n",
" <td>1021413-5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td>JOAQUIN CHAPARRO CRISTALDO</td>\n",
" <td>Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay</td>\n",
" <td>1021486-0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28</th>\n",
" <td>Maria Translación Mercado Garcete</td>\n",
" <td>Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay</td>\n",
" <td>1021537-9</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29</th>\n",
" <td>MAXAM FANEXA S.A.M</td>\n",
" <td>Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay</td>\n",
" <td>1023249027</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5933</th>\n",
" <td>DI FIORE S.A.</td>\n",
" <td>Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay</td>\n",
" <td>null</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5934</th>\n",
" <td>CONSORCIO YPANE</td>\n",
" <td>Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay</td>\n",
" <td>null</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5935</th>\n",
" <td>NOEMI NUÑEZ YBARRA</td>\n",
" <td>Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay</td>\n",
" <td>null</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5936</th>\n",
" <td>ROCIO ARACELI JARA AYALA</td>\n",
" <td>Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay</td>\n",
" <td>null</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5937</th>\n",
" <td>CONDOMINIO VANESSA MONTSERRAT NAVARRO Y OTRA</td>\n",
" <td>Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay</td>\n",
" <td>null</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5938</th>\n",
" <td>UNIVERSO DE CREDITOS Y CONSUMO S.A</td>\n",
" <td>Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay</td>\n",
" <td>null</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5939</th>\n",
" <td>ANGEL EMILIO GENES DUARTE</td>\n",
" <td>Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay</td>\n",
" <td>null</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5940</th>\n",
" <td>SERGIO RAMON BAREIRO DAVALOS</td>\n",
" <td>Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay</td>\n",
" <td>null</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5941</th>\n",
" <td>MARCOS DAVID CHUDYK OLEÑIK</td>\n",
" <td>Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay</td>\n",
" <td>null</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5942</th>\n",
" <td>ALBERTO HELFON DUARTE ANTEBI</td>\n",
" <td>Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay</td>\n",
" <td>null</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5943</th>\n",
" <td>NELIDA NOEMI FARAONE SAMUDIO</td>\n",
" <td>Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay</td>\n",
" <td>null</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5944</th>\n",
" <td>CINTHIA MERCEDES PRESENTADO ZARZA</td>\n",
" <td>Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay</td>\n",
" <td>null</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5945</th>\n",
" <td>DIANA ESTHER ALARCON LUSICH</td>\n",
" <td>Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay</td>\n",
" <td>null</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5946</th>\n",
" <td>OJEDA AGUILERA, DIANA JAZMIN</td>\n",
" <td>Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay</td>\n",
" <td>null</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5947</th>\n",
" <td>MARIA VICTORIA LEZCANO OCAMPO</td>\n",
" <td>Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay</td>\n",
" <td>null</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5948</th>\n",
" <td>ERNANI JOAO KUNKEL</td>\n",
" <td>Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay</td>\n",
" <td>null</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5949</th>\n",
" <td>AMANDA LETICIA LOPEZ LUGO</td>\n",
" <td>Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay</td>\n",
" <td>null</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5950</th>\n",
" <td>MIGUEL ANGEL ZARATE AGUERO</td>\n",
" <td>Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay</td>\n",
" <td>null</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5951</th>\n",
" <td>EDGAR ABDON COLMAN MIRANDA</td>\n",
" <td>Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay</td>\n",
" <td>null</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5952</th>\n",
" <td>CONSORCIO IT</td>\n",
" <td>Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay</td>\n",
" <td>null</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5953</th>\n",
" <td>FARIÑA RIOS JUNIPERO E.I.R.L</td>\n",
" <td>Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay</td>\n",
" <td>null</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5954</th>\n",
" <td>ELIEL ARINALIS DE JESUS</td>\n",
" <td>Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay</td>\n",
" <td>null</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5955</th>\n",
" <td>FABIA FROILANA GIMENEZ MEZA</td>\n",
" <td>Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay</td>\n",
" <td>null</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5956</th>\n",
" <td>JULIO CESAR PAREDES</td>\n",
" <td>Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay</td>\n",
" <td>null</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5957</th>\n",
" <td>CONSORCIO SIEMENS - RIEDER - 500 KV</td>\n",
" <td>Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay</td>\n",
" <td>null</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5958</th>\n",
" <td>UPE PARAGUAY SENASA, IDP INGENIERÍA Y ARQUITECTURA IBERIA, S.L IDP BRASIL ENGENHARIA LTDA UNIÓN TEMPORAL DE EMPRESAS, LEY 18/1982 DE 26 DE MAYO.</td>\n",
" <td>Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay</td>\n",
" <td>U66849092</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5959</th>\n",
" <td>MARTINEZ *, FLORDELINA *</td>\n",
" <td>Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay</td>\n",
" <td>X-08651</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5960</th>\n",
" <td>FLEITAS CARDOZO, FLORENCIO *</td>\n",
" <td>Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay</td>\n",
" <td>X-08996</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5961</th>\n",
" <td>BENITEZ VDA. DE FRANCO JUSTINA</td>\n",
" <td>Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay</td>\n",
" <td>X-15951</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5962</th>\n",
" <td>LEZCANO FERREIRA MARCIA AURORA</td>\n",
" <td>Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay</td>\n",
" <td>X-16859</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>5963 rows × 3 columns</p>\n",
"</div>"
],
"text/plain": [
" name \\\n",
"0 ALSTOM GRID ENERGIA LTDA. \n",
"1 WEG EQUIPAMENTOS ELETRICOS S.A. \n",
"2 PURIFICACION MOREL ALFONSO \n",
"3 RAMON LEOPOLDO SALVIONI GONZALEZ \n",
"4 MARIA JULIA PLANAS GOMEZ DE BENITEZ \n",
"5 MATEO CARDOZO ORTEGA \n",
"6 JACK CESAR FLORENTIN TORRES \n",
"7 ALFONSO HORACIO RIVAS RODRIGUEZ \n",
"8 MARIA ESTELA FERNANDEZ GONZALEZ \n",
"9 CARLOS GOMEZ \n",
"10 LUIS ADOLFO DANIEL EVALY CASSANELLO \n",
"11 AUGUSTO CACERES \n",
"12 ANIBAL LEOPOLDO CARDOZO FLEYTAS \n",
"13 LOURDES GOSSEN ROMERO \n",
"14 NELIDA AIDEE MENDOZA RUFFINELLI \n",
"15 RUBEN ANSELMO AGUILERA \n",
"16 MARIA LUCIA VAZQUEZ \n",
"17 LAURO NÉSTOR PENAYO CABRERA \n",
"18 Agustina Figueredo de Wagener \n",
"19 MIGUEL ANGEL CABRERA \n",
"20 CRISTINO MARTINEZ GALEANO \n",
"21 DIGNA ESTHER RAMOS DE RIQUELME \n",
"22 BEATO AMARILLA ROMERO \n",
"23 MOREL GALEANO, BIENVENIDO RAMON \n",
"24 OMAR EDUARDO PEREZ ZABALA \n",
"25 Peter Penner \n",
"26 RENDY VOTH PENNER \n",
"27 JOAQUIN CHAPARRO CRISTALDO \n",
"28 Maria Translación Mercado Garcete \n",
"29 MAXAM FANEXA S.A.M \n",
"... ... \n",
"5933 DI FIORE S.A. \n",
"5934 CONSORCIO YPANE \n",
"5935 NOEMI NUÑEZ YBARRA \n",
"5936 ROCIO ARACELI JARA AYALA \n",
"5937 CONDOMINIO VANESSA MONTSERRAT NAVARRO Y OTRA \n",
"5938 UNIVERSO DE CREDITOS Y CONSUMO S.A \n",
"5939 ANGEL EMILIO GENES DUARTE \n",
"5940 SERGIO RAMON BAREIRO DAVALOS \n",
"5941 MARCOS DAVID CHUDYK OLEÑIK \n",
"5942 ALBERTO HELFON DUARTE ANTEBI \n",
"5943 NELIDA NOEMI FARAONE SAMUDIO \n",
"5944 CINTHIA MERCEDES PRESENTADO ZARZA \n",
"5945 DIANA ESTHER ALARCON LUSICH \n",
"5946 OJEDA AGUILERA, DIANA JAZMIN \n",
"5947 MARIA VICTORIA LEZCANO OCAMPO \n",
"5948 ERNANI JOAO KUNKEL \n",
"5949 AMANDA LETICIA LOPEZ LUGO \n",
"5950 MIGUEL ANGEL ZARATE AGUERO \n",
"5951 EDGAR ABDON COLMAN MIRANDA \n",
"5952 CONSORCIO IT \n",
"5953 FARIÑA RIOS JUNIPERO E.I.R.L \n",
"5954 ELIEL ARINALIS DE JESUS \n",
"5955 FABIA FROILANA GIMENEZ MEZA \n",
"5956 JULIO CESAR PAREDES \n",
"5957 CONSORCIO SIEMENS - RIEDER - 500 KV \n",
"5958 UPE PARAGUAY SENASA, IDP INGENIERÍA Y ARQUITECTURA IBERIA, S.L IDP BRASIL ENGENHARIA LTDA UNIÓN TEMPORAL DE EMPRESAS, LEY 18/1982 DE 26 DE MAYO. \n",
"5959 MARTINEZ *, FLORDELINA * \n",
"5960 FLEITAS CARDOZO, FLORENCIO * \n",
"5961 BENITEZ VDA. DE FRANCO JUSTINA \n",
"5962 LEZCANO FERREIRA MARCIA AURORA \n",
"\n",
" scheme \\\n",
"0 Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay \n",
"1 Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay \n",
"2 Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay \n",
"3 Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay \n",
"4 Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay \n",
"5 Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay \n",
"6 Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay \n",
"7 Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay \n",
"8 Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay \n",
"9 Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay \n",
"10 Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay \n",
"11 Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay \n",
"12 Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay \n",
"13 Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay \n",
"14 Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay \n",
"15 Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay \n",
"16 Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay \n",
"17 Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay \n",
"18 Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay \n",
"19 Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay \n",
"20 Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay \n",
"21 Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay \n",
"22 Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay \n",
"23 Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay \n",
"24 Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay \n",
"25 Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay \n",
"26 Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay \n",
"27 Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay \n",
"28 Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay \n",
"29 Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay \n",
"... ... \n",
"5933 Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay \n",
"5934 Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay \n",
"5935 Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay \n",
"5936 Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay \n",
"5937 Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay \n",
"5938 Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay \n",
"5939 Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay \n",
"5940 Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay \n",
"5941 Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay \n",
"5942 Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay \n",
"5943 Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay \n",
"5944 Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay \n",
"5945 Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay \n",
"5946 Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay \n",
"5947 Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay \n",
"5948 Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay \n",
"5949 Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay \n",
"5950 Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay \n",
"5951 Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay \n",
"5952 Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay \n",
"5953 Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay \n",
"5954 Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay \n",
"5955 Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay \n",
"5956 Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay \n",
"5957 Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay \n",
"5958 Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay \n",
"5959 Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay \n",
"5960 Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay \n",
"5961 Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay \n",
"5962 Registro Único de Contribuyente emitido por el Ministerio de Hacienda del Gobierno de Paraguay \n",
"\n",
" id \n",
"0 05.356.949/0001-42 \n",
"1 07.175.725_0001-60 \n",
"2 1001174-9 \n",
"3 1001661-9 \n",
"4 1002623-1 \n",
"5 1002970-2 \n",
"6 1003587-7 \n",
"7 1004093-5 \n",
"8 1004405-1 \n",
"9 1004662-3 \n",
"10 1005539-8 \n",
"11 1005746-3 \n",
"12 1008372-3 \n",
"13 1009013-4 \n",
"14 1009022-3 \n",
"15 1009418-0 \n",
"16 1009611-6 \n",
"17 1014643-1 \n",
"18 101510-9 \n",
"19 1017086-3 \n",
"20 1017663-2 \n",
"21 1017774-4 \n",
"22 1019200-0 \n",
"23 1019787-7 \n",
"24 1020198-0 \n",
"25 1020804-6 \n",
"26 1021413-5 \n",
"27 1021486-0 \n",
"28 1021537-9 \n",
"29 1023249027 \n",
"... ... \n",
"5933 null \n",
"5934 null \n",
"5935 null \n",
"5936 null \n",
"5937 null \n",
"5938 null \n",
"5939 null \n",
"5940 null \n",
"5941 null \n",
"5942 null \n",
"5943 null \n",
"5944 null \n",
"5945 null \n",
"5946 null \n",
"5947 null \n",
"5948 null \n",
"5949 null \n",
"5950 null \n",
"5951 null \n",
"5952 null \n",
"5953 null \n",
"5954 null \n",
"5955 null \n",
"5956 null \n",
"5957 null \n",
"5958 U66849092 \n",
"5959 X-08651 \n",
"5960 X-08996 \n",
"5961 X-15951 \n",
"5962 X-16859 \n",
"\n",
"[5963 rows x 3 columns]"
]
},
"metadata": {
"tags": []
},
"execution_count": 43
}
]
},
{
"metadata": {
"id": "MwoMwtv_SNrS",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"They seem to use a standard scheme, but still we can see some issues:\n",
"\n",
"* The use of some dummy values as Supplier ID\n",
"* Some suppliers don't have a identifier ID \n",
"\n",
"So although we can make calculations on suppliers, these will not be totally accurate. Cleaning the data is possible but it requires a lot of work, so we will not do it here."
]
},
{
"metadata": {
"id": "jT6p_YDtoOLQ",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"###2.4. Award and Contract value information\n",
"\n",
"*Here, we determine whether award and contract values are available.*"
]
},
{
"metadata": {
"id": "myZMn-V0oX0q",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"In OCDS, a `value` section is included in both `awards` and `contracts` sections, because the awarded value may differ from the actual value of the signed contract. \n",
"\n",
"Let's see if the `value` information is completed in the `awards` section first:\n",
"\n"
]
},
{
"metadata": {
"id": "SqdwtKblrQqV",
"colab_type": "code",
"outputId": "2accce87-8a28-4d99-dab0-122a276afe44",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 1969
}
},
"cell_type": "code",
"source": [
"querystring = base_querystring + \"\"\"\n",
" \n",
" SELECT\n",
" data -> 'compiledRelease' ->> 'ocid' AS ocid,\n",
" data -> 'compiledRelease' ->> 'date' AS publicationDate,\n",
" awards -> 'value' ->> 'amount' AS amount,\n",
" awards -> 'value' ->> 'currency' AS currency,\n",
" awards -> 'status' AS status\n",
" FROM\n",
" records\n",
" CROSS JOIN\n",
" jsonb_array_elements(data -> 'compiledRelease' -> 'awards') AS awards\n",
" WHERE\n",
" data -> 'compiledRelease' IS NOT NULL\n",
" AND\n",
" data -> 'compiledRelease' -> 'awards' IS NOT NULL\n",
" AND\n",
" (\n",
" awards -> 'value' IS NULL \n",
" OR \n",
" awards -> 'value' ->> 'amount' IS NULL\n",
" OR\n",
" awards -> 'value' ->> 'amount' = '0'\n",
" OR\n",
" awards -> 'value' ->> 'amount' = ''\n",
" OR\n",
" awards -> 'value' ->> 'currency' IS NULL\n",
" OR\n",
" awards -> 'value' ->> 'currency' = ''\n",
" )\n",
"\"\"\"\n",
"\n",
"cur.execute(\"\"\"rollback\"\"\")\n",
"\n",
"cur.execute(querystring)\n",
"\n",
"results = getResults(cur)\n",
"\n",
"results"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>ocid</th>\n",
" <th>publicationdate</th>\n",
" <th>amount</th>\n",
" <th>currency</th>\n",
" <th>status</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>ocds-03ad3f-294170</td>\n",
" <td>2018-11-23T21:43:38Z</td>\n",
" <td>0</td>\n",
" <td>PYG</td>\n",
" <td>unsuccessful</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>ocds-03ad3f-302754</td>\n",
" <td>2018-11-23T18:08:12Z</td>\n",
" <td>0</td>\n",
" <td>PYG</td>\n",
" <td>unsuccessful</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>ocds-03ad3f-303228</td>\n",
" <td>2018-11-23T17:05:30Z</td>\n",
" <td>0</td>\n",
" <td>PYG</td>\n",
" <td>unsuccessful</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>ocds-03ad3f-303602</td>\n",
" <td>2018-11-23T16:19:13Z</td>\n",
" <td>0</td>\n",
" <td>PYG</td>\n",
" <td>unsuccessful</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>ocds-03ad3f-306847</td>\n",
" <td>2018-11-23T10:37:55Z</td>\n",
" <td>0</td>\n",
" <td>PYG</td>\n",
" <td>unsuccessful</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>ocds-03ad3f-307470</td>\n",
" <td>2018-11-23T09:34:33Z</td>\n",
" <td>0</td>\n",
" <td>PYG</td>\n",
" <td>unsuccessful</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>ocds-03ad3f-307775</td>\n",
" <td>2018-11-23T09:06:09Z</td>\n",
" <td>0</td>\n",
" <td>PYG</td>\n",
" <td>unsuccessful</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>ocds-03ad3f-309900</td>\n",
" <td>2018-11-23T06:34:43Z</td>\n",
" <td>0</td>\n",
" <td>PYG</td>\n",
" <td>unsuccessful</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>ocds-03ad3f-310323</td>\n",
" <td>2018-11-23T06:07:15Z</td>\n",
" <td>0</td>\n",
" <td>PYG</td>\n",
" <td>unsuccessful</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>ocds-03ad3f-312714</td>\n",
" <td>2018-11-23T03:03:40Z</td>\n",
" <td>0</td>\n",
" <td>PYG</td>\n",
" <td>unsuccessful</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>ocds-03ad3f-313190</td>\n",
" <td>2018-11-23T02:17:51Z</td>\n",
" <td>0</td>\n",
" <td>PYG</td>\n",
" <td>unsuccessful</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>ocds-03ad3f-313281</td>\n",
" <td>2018-11-23T02:08:47Z</td>\n",
" <td>0</td>\n",
" <td>PYG</td>\n",
" <td>unsuccessful</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>ocds-03ad3f-313530</td>\n",
" <td>2018-11-23T01:53:24Z</td>\n",
" <td>0</td>\n",
" <td>PYG</td>\n",
" <td>unsuccessful</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>ocds-03ad3f-313738</td>\n",
" <td>2018-11-23T01:37:20Z</td>\n",
" <td>0</td>\n",
" <td>PYG</td>\n",
" <td>unsuccessful</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>ocds-03ad3f-314844</td>\n",
" <td>2018-11-23T00:06:47Z</td>\n",
" <td>0</td>\n",
" <td>PYG</td>\n",
" <td>unsuccessful</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>ocds-03ad3f-315104</td>\n",
" <td>2018-11-22T23:45:21Z</td>\n",
" <td>0</td>\n",
" <td>PYG</td>\n",
" <td>unsuccessful</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>ocds-03ad3f-317469</td>\n",
" <td>2018-11-22T20:11:26Z</td>\n",
" <td>0</td>\n",
" <td>PYG</td>\n",
" <td>unsuccessful</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>ocds-03ad3f-317498</td>\n",
" <td>2018-11-22T20:08:09Z</td>\n",
" <td>0</td>\n",
" <td>PYG</td>\n",
" <td>unsuccessful</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>ocds-03ad3f-317551</td>\n",
" <td>2018-11-22T20:02:52Z</td>\n",
" <td>0</td>\n",
" <td>PYG</td>\n",
" <td>unsuccessful</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>ocds-03ad3f-318409</td>\n",
" <td>2018-11-22T18:12:27Z</td>\n",
" <td>0</td>\n",
" <td>PYG</td>\n",
" <td>unsuccessful</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>ocds-03ad3f-318971</td>\n",
" <td>2018-11-22T17:08:40Z</td>\n",
" <td>0</td>\n",
" <td>PYG</td>\n",
" <td>unsuccessful</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>ocds-03ad3f-319418</td>\n",
" <td>2018-11-22T16:26:01Z</td>\n",
" <td>0</td>\n",
" <td>PYG</td>\n",
" <td>unsuccessful</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>ocds-03ad3f-319755</td>\n",
" <td>2018-11-22T15:49:05Z</td>\n",
" <td>0</td>\n",
" <td>PYG</td>\n",
" <td>unsuccessful</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>ocds-03ad3f-319764</td>\n",
" <td>2018-11-22T15:48:22Z</td>\n",
" <td>0</td>\n",
" <td>PYG</td>\n",
" <td>unsuccessful</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>ocds-03ad3f-319892</td>\n",
" <td>2018-11-22T15:36:36Z</td>\n",
" <td>0</td>\n",
" <td>PYG</td>\n",
" <td>unsuccessful</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>ocds-03ad3f-319893</td>\n",
" <td>2018-11-22T15:36:31Z</td>\n",
" <td>0</td>\n",
" <td>PYG</td>\n",
" <td>unsuccessful</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>ocds-03ad3f-319908</td>\n",
" <td>2018-11-22T15:35:17Z</td>\n",
" <td>0</td>\n",
" <td>PYG</td>\n",
" <td>unsuccessful</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td>ocds-03ad3f-319918</td>\n",
" <td>2018-11-22T15:34:18Z</td>\n",
" <td>0</td>\n",
" <td>PYG</td>\n",
" <td>unsuccessful</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28</th>\n",
" <td>ocds-03ad3f-320775</td>\n",
" <td>2018-11-22T14:07:35Z</td>\n",
" <td>0</td>\n",
" <td>PYG</td>\n",
" <td>unsuccessful</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29</th>\n",
" <td>ocds-03ad3f-316773</td>\n",
" <td>2018-11-22T21:19:42Z</td>\n",
" <td>0</td>\n",
" <td>PYG</td>\n",
" <td>unsuccessful</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>63</th>\n",
" <td>ocds-03ad3f-336379</td>\n",
" <td>2018-11-21T13:06:43Z</td>\n",
" <td>0</td>\n",
" <td>PYG</td>\n",
" <td>unsuccessful</td>\n",
" </tr>\n",
" <tr>\n",
" <th>64</th>\n",
" <td>ocds-03ad3f-337144</td>\n",
" <td>2018-11-21T11:28:33Z</td>\n",
" <td>0</td>\n",
" <td>PYG</td>\n",
" <td>unsuccessful</td>\n",
" </tr>\n",
" <tr>\n",
" <th>65</th>\n",
" <td>ocds-03ad3f-337145</td>\n",
" <td>2018-11-21T11:28:30Z</td>\n",
" <td>0</td>\n",
" <td>PYG</td>\n",
" <td>unsuccessful</td>\n",
" </tr>\n",
" <tr>\n",
" <th>66</th>\n",
" <td>ocds-03ad3f-337181</td>\n",
" <td>2018-11-21T11:25:02Z</td>\n",
" <td>0</td>\n",
" <td>PYG</td>\n",
" <td>unsuccessful</td>\n",
" </tr>\n",
" <tr>\n",
" <th>67</th>\n",
" <td>ocds-03ad3f-337324</td>\n",
" <td>2018-11-21T11:09:11Z</td>\n",
" <td>0</td>\n",
" <td>PYG</td>\n",
" <td>unsuccessful</td>\n",
" </tr>\n",
" <tr>\n",
" <th>68</th>\n",
" <td>ocds-03ad3f-337702</td>\n",
" <td>2018-11-21T10:23:38Z</td>\n",
" <td>0</td>\n",
" <td>PYG</td>\n",
" <td>active</td>\n",
" </tr>\n",
" <tr>\n",
" <th>69</th>\n",
" <td>ocds-03ad3f-330963</td>\n",
" <td>2018-11-21T22:54:53Z</td>\n",
" <td>0</td>\n",
" <td>PYG</td>\n",
" <td>active</td>\n",
" </tr>\n",
" <tr>\n",
" <th>70</th>\n",
" <td>ocds-03ad3f-336872</td>\n",
" <td>2018-11-21T12:05:11Z</td>\n",
" <td>0</td>\n",
" <td>PYG</td>\n",
" <td>unsuccessful</td>\n",
" </tr>\n",
" <tr>\n",
" <th>71</th>\n",
" <td>ocds-03ad3f-338014</td>\n",
" <td>2018-11-21T09:53:24Z</td>\n",
" <td>0</td>\n",
" <td>PYG</td>\n",
" <td>unsuccessful</td>\n",
" </tr>\n",
" <tr>\n",
" <th>72</th>\n",
" <td>ocds-03ad3f-339230</td>\n",
" <td>2018-11-21T08:10:51Z</td>\n",
" <td>0</td>\n",
" <td>PYG</td>\n",
" <td>active</td>\n",
" </tr>\n",
" <tr>\n",
" <th>73</th>\n",
" <td>ocds-03ad3f-339403</td>\n",
" <td>2018-11-21T07:50:11Z</td>\n",
" <td>0</td>\n",
" <td>PYG</td>\n",
" <td>unsuccessful</td>\n",
" </tr>\n",
" <tr>\n",
" <th>74</th>\n",
" <td>ocds-03ad3f-339743</td>\n",
" <td>2018-11-21T07:19:42Z</td>\n",
" <td>0</td>\n",
" <td>PYG</td>\n",
" <td>unsuccessful</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75</th>\n",
" <td>ocds-03ad3f-339791</td>\n",
" <td>2018-11-21T07:15:59Z</td>\n",
" <td>0</td>\n",
" <td>PYG</td>\n",
" <td>unsuccessful</td>\n",
" </tr>\n",
" <tr>\n",
" <th>76</th>\n",
" <td>ocds-03ad3f-339868</td>\n",
" <td>2018-11-21T07:09:27Z</td>\n",
" <td>0</td>\n",
" <td>PYG</td>\n",
" <td>unsuccessful</td>\n",
" </tr>\n",
" <tr>\n",
" <th>77</th>\n",
" <td>ocds-03ad3f-340319</td>\n",
" <td>2018-11-21T06:39:59Z</td>\n",
" <td>0</td>\n",
" <td>PYG</td>\n",
" <td>unsuccessful</td>\n",
" </tr>\n",
" <tr>\n",
" <th>78</th>\n",
" <td>ocds-03ad3f-340877</td>\n",
" <td>2018-11-21T05:51:19Z</td>\n",
" <td>0</td>\n",
" <td>PYG</td>\n",
" <td>unsuccessful</td>\n",
" </tr>\n",
" <tr>\n",
" <th>79</th>\n",
" <td>ocds-03ad3f-341029</td>\n",
" <td>2018-11-21T05:39:57Z</td>\n",
" <td>0</td>\n",
" <td>PYG</td>\n",
" <td>unsuccessful</td>\n",
" </tr>\n",
" <tr>\n",
" <th>80</th>\n",
" <td>ocds-03ad3f-342046</td>\n",
" <td>2018-11-21T04:28:55Z</td>\n",
" <td>0</td>\n",
" <td>PYG</td>\n",
" <td>unsuccessful</td>\n",
" </tr>\n",
" <tr>\n",
" <th>81</th>\n",
" <td>ocds-03ad3f-344652</td>\n",
" <td>2018-11-21T01:47:43Z</td>\n",
" <td>0</td>\n",
" <td>PYG</td>\n",
" <td>unsuccessful</td>\n",
" </tr>\n",
" <tr>\n",
" <th>82</th>\n",
" <td>ocds-03ad3f-345643</td>\n",
" <td>2018-11-21T00:50:20Z</td>\n",
" <td>0</td>\n",
" <td>PYG</td>\n",
" <td>unsuccessful</td>\n",
" </tr>\n",
" <tr>\n",
" <th>83</th>\n",
" <td>ocds-03ad3f-346220</td>\n",
" <td>2018-11-21T00:17:30Z</td>\n",
" <td>0</td>\n",
" <td>PYG</td>\n",
" <td>unsuccessful</td>\n",
" </tr>\n",
" <tr>\n",
" <th>84</th>\n",
" <td>ocds-03ad3f-346251</td>\n",
" <td>2018-11-21T00:16:09Z</td>\n",
" <td>0</td>\n",
" <td>PYG</td>\n",
" <td>unsuccessful</td>\n",
" </tr>\n",
" <tr>\n",
" <th>85</th>\n",
" <td>ocds-03ad3f-347279</td>\n",
" <td>2018-11-20T23:14:29Z</td>\n",
" <td>0</td>\n",
" <td>PYG</td>\n",
" <td>unsuccessful</td>\n",
" </tr>\n",
" <tr>\n",
" <th>86</th>\n",
" <td>ocds-03ad3f-348184</td>\n",
" <td>2018-11-20T22:20:41Z</td>\n",
" <td>0</td>\n",
" <td>PYG</td>\n",
" <td>unsuccessful</td>\n",
" </tr>\n",
" <tr>\n",
" <th>87</th>\n",
" <td>ocds-03ad3f-348944</td>\n",
" <td>2018-11-20T21:13:55Z</td>\n",
" <td>0</td>\n",
" <td>PYG</td>\n",
" <td>unsuccessful</td>\n",
" </tr>\n",
" <tr>\n",
" <th>88</th>\n",
" <td>ocds-03ad3f-348959</td>\n",
" <td>2018-11-20T21:12:04Z</td>\n",
" <td>0</td>\n",
" <td>PYG</td>\n",
" <td>unsuccessful</td>\n",
" </tr>\n",
" <tr>\n",
" <th>89</th>\n",
" <td>ocds-03ad3f-350877</td>\n",
" <td>2018-11-20T18:20:42Z</td>\n",
" <td>0</td>\n",
" <td>PYG</td>\n",
" <td>unsuccessful</td>\n",
" </tr>\n",
" <tr>\n",
" <th>90</th>\n",
" <td>ocds-03ad3f-289945</td>\n",
" <td>2018-11-23T21:52:40Z</td>\n",
" <td>0</td>\n",
" <td>PYG</td>\n",
" <td>unsuccessful</td>\n",
" </tr>\n",
" <tr>\n",
" <th>91</th>\n",
" <td>ocds-03ad3f-301634</td>\n",
" <td>2018-11-23T20:21:06Z</td>\n",
" <td>0</td>\n",
" <td>PYG</td>\n",
" <td>unsuccessful</td>\n",
" </tr>\n",
" <tr>\n",
" <th>92</th>\n",
" <td>ocds-03ad3f-302022</td>\n",
" <td>2018-11-23T19:59:11Z</td>\n",
" <td>0</td>\n",
" <td>PYG</td>\n",
" <td>unsuccessful</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>93 rows × 5 columns</p>\n",
"</div>"
],
"text/plain": [
" ocid publicationdate amount currency status\n",
"0 ocds-03ad3f-294170 2018-11-23T21:43:38Z 0 PYG unsuccessful\n",
"1 ocds-03ad3f-302754 2018-11-23T18:08:12Z 0 PYG unsuccessful\n",
"2 ocds-03ad3f-303228 2018-11-23T17:05:30Z 0 PYG unsuccessful\n",
"3 ocds-03ad3f-303602 2018-11-23T16:19:13Z 0 PYG unsuccessful\n",
"4 ocds-03ad3f-306847 2018-11-23T10:37:55Z 0 PYG unsuccessful\n",
"5 ocds-03ad3f-307470 2018-11-23T09:34:33Z 0 PYG unsuccessful\n",
"6 ocds-03ad3f-307775 2018-11-23T09:06:09Z 0 PYG unsuccessful\n",
"7 ocds-03ad3f-309900 2018-11-23T06:34:43Z 0 PYG unsuccessful\n",
"8 ocds-03ad3f-310323 2018-11-23T06:07:15Z 0 PYG unsuccessful\n",
"9 ocds-03ad3f-312714 2018-11-23T03:03:40Z 0 PYG unsuccessful\n",
"10 ocds-03ad3f-313190 2018-11-23T02:17:51Z 0 PYG unsuccessful\n",
"11 ocds-03ad3f-313281 2018-11-23T02:08:47Z 0 PYG unsuccessful\n",
"12 ocds-03ad3f-313530 2018-11-23T01:53:24Z 0 PYG unsuccessful\n",
"13 ocds-03ad3f-313738 2018-11-23T01:37:20Z 0 PYG unsuccessful\n",
"14 ocds-03ad3f-314844 2018-11-23T00:06:47Z 0 PYG unsuccessful\n",
"15 ocds-03ad3f-315104 2018-11-22T23:45:21Z 0 PYG unsuccessful\n",
"16 ocds-03ad3f-317469 2018-11-22T20:11:26Z 0 PYG unsuccessful\n",
"17 ocds-03ad3f-317498 2018-11-22T20:08:09Z 0 PYG unsuccessful\n",
"18 ocds-03ad3f-317551 2018-11-22T20:02:52Z 0 PYG unsuccessful\n",
"19 ocds-03ad3f-318409 2018-11-22T18:12:27Z 0 PYG unsuccessful\n",
"20 ocds-03ad3f-318971 2018-11-22T17:08:40Z 0 PYG unsuccessful\n",
"21 ocds-03ad3f-319418 2018-11-22T16:26:01Z 0 PYG unsuccessful\n",
"22 ocds-03ad3f-319755 2018-11-22T15:49:05Z 0 PYG unsuccessful\n",
"23 ocds-03ad3f-319764 2018-11-22T15:48:22Z 0 PYG unsuccessful\n",
"24 ocds-03ad3f-319892 2018-11-22T15:36:36Z 0 PYG unsuccessful\n",
"25 ocds-03ad3f-319893 2018-11-22T15:36:31Z 0 PYG unsuccessful\n",
"26 ocds-03ad3f-319908 2018-11-22T15:35:17Z 0 PYG unsuccessful\n",
"27 ocds-03ad3f-319918 2018-11-22T15:34:18Z 0 PYG unsuccessful\n",
"28 ocds-03ad3f-320775 2018-11-22T14:07:35Z 0 PYG unsuccessful\n",
"29 ocds-03ad3f-316773 2018-11-22T21:19:42Z 0 PYG unsuccessful\n",
".. ... ... .. ... ...\n",
"63 ocds-03ad3f-336379 2018-11-21T13:06:43Z 0 PYG unsuccessful\n",
"64 ocds-03ad3f-337144 2018-11-21T11:28:33Z 0 PYG unsuccessful\n",
"65 ocds-03ad3f-337145 2018-11-21T11:28:30Z 0 PYG unsuccessful\n",
"66 ocds-03ad3f-337181 2018-11-21T11:25:02Z 0 PYG unsuccessful\n",
"67 ocds-03ad3f-337324 2018-11-21T11:09:11Z 0 PYG unsuccessful\n",
"68 ocds-03ad3f-337702 2018-11-21T10:23:38Z 0 PYG active \n",
"69 ocds-03ad3f-330963 2018-11-21T22:54:53Z 0 PYG active \n",
"70 ocds-03ad3f-336872 2018-11-21T12:05:11Z 0 PYG unsuccessful\n",
"71 ocds-03ad3f-338014 2018-11-21T09:53:24Z 0 PYG unsuccessful\n",
"72 ocds-03ad3f-339230 2018-11-21T08:10:51Z 0 PYG active \n",
"73 ocds-03ad3f-339403 2018-11-21T07:50:11Z 0 PYG unsuccessful\n",
"74 ocds-03ad3f-339743 2018-11-21T07:19:42Z 0 PYG unsuccessful\n",
"75 ocds-03ad3f-339791 2018-11-21T07:15:59Z 0 PYG unsuccessful\n",
"76 ocds-03ad3f-339868 2018-11-21T07:09:27Z 0 PYG unsuccessful\n",
"77 ocds-03ad3f-340319 2018-11-21T06:39:59Z 0 PYG unsuccessful\n",
"78 ocds-03ad3f-340877 2018-11-21T05:51:19Z 0 PYG unsuccessful\n",
"79 ocds-03ad3f-341029 2018-11-21T05:39:57Z 0 PYG unsuccessful\n",
"80 ocds-03ad3f-342046 2018-11-21T04:28:55Z 0 PYG unsuccessful\n",
"81 ocds-03ad3f-344652 2018-11-21T01:47:43Z 0 PYG unsuccessful\n",
"82 ocds-03ad3f-345643 2018-11-21T00:50:20Z 0 PYG unsuccessful\n",
"83 ocds-03ad3f-346220 2018-11-21T00:17:30Z 0 PYG unsuccessful\n",
"84 ocds-03ad3f-346251 2018-11-21T00:16:09Z 0 PYG unsuccessful\n",
"85 ocds-03ad3f-347279 2018-11-20T23:14:29Z 0 PYG unsuccessful\n",
"86 ocds-03ad3f-348184 2018-11-20T22:20:41Z 0 PYG unsuccessful\n",
"87 ocds-03ad3f-348944 2018-11-20T21:13:55Z 0 PYG unsuccessful\n",
"88 ocds-03ad3f-348959 2018-11-20T21:12:04Z 0 PYG unsuccessful\n",
"89 ocds-03ad3f-350877 2018-11-20T18:20:42Z 0 PYG unsuccessful\n",
"90 ocds-03ad3f-289945 2018-11-23T21:52:40Z 0 PYG unsuccessful\n",
"91 ocds-03ad3f-301634 2018-11-23T20:21:06Z 0 PYG unsuccessful\n",
"92 ocds-03ad3f-302022 2018-11-23T19:59:11Z 0 PYG unsuccessful\n",
"\n",
"[93 rows x 5 columns]"
]
},
"metadata": {
"tags": []
},
"execution_count": 52
}
]
},
{
"metadata": {
"id": "qHPcJzbrr8SQ",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"As we see here, there are a few awards with missing amounts. Most of them have the status unsuccesful, what makes sense. But in some cases the status is active, this seems to be a publication issue, because the amount is very low for the number of releases with awards sections (93 awards vs 29702 records with award sections). Since the number is very low, we can ignore these missing amounts in the calculations.\n",
"\n",
"Let's do the same now for values in the `contracts` section. When dealing with contracts from this source, we have to know that Paraguay's [DNCP](https://www.contrataciones.gov.py/datos/open-contracting-info) extends OCDS 1.0 to include contract amendments as a OCDS contracts. A contract amendment is related to its original contract by using the field `extendsContractID`. Additionally, the field `dncpContractCode` contains the code used by DNCP. If this last field is not present or is not valid (with the value 'Pendiente de Emisión' for example) the contract is pending. So let's query the contracts that doesn't have the field `extendsContractID` and does have a valid `dncpContractCode`:"
]
},
{
"metadata": {
"id": "cvnH_RMitJNJ",
"colab_type": "code",
"outputId": "702ab893-d272-4d36-fa99-9007d26381a7",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 49
}
},
"cell_type": "code",
"source": [
"querystring = base_querystring + \"\"\"\n",
" \n",
" SELECT\n",
" data -> 'compiledRelease' ->> 'ocid' AS ocid,\n",
" contracts -> 'period' ->> 'endDate' AS publicationDate,\n",
" contracts -> 'value' ->> 'amount' AS amount,\n",
" contracts -> 'value' ->> 'currency' AS currency\n",
" FROM\n",
" records\n",
" CROSS JOIN\n",
" jsonb_array_elements(data -> 'compiledRelease' -> 'contracts') AS contracts\n",
" WHERE\n",
" jsonb_array_length(data -> 'compiledRelease' -> 'contracts') > 0\n",
" AND\n",
" data -> 'compiledRelease' IS NOT NULL\n",
" AND\n",
" contracts -> 'extendsContractID' IS NULL \n",
" AND\n",
" contracts ->> 'dncpContractCode' <> 'Pendiente de Emisión' \n",
" AND(\n",
" contracts -> 'value' IS NULL \n",
" OR \n",
" contracts -> 'value' ->> 'amount' IS NULL\n",
" OR\n",
" contracts -> 'value' ->> 'amount' = '0'\n",
" OR\n",
" contracts -> 'value' ->> 'amount' = ''\n",
" OR\n",
" contracts -> 'value' ->> 'currency' IS NULL\n",
" OR\n",
" contracts -> 'value' ->> 'currency' = ''\n",
" )\n",
"\"\"\"\n",
"\n",
"cur.execute(\"\"\"rollback\"\"\")\n",
"\n",
"cur.execute(querystring)\n",
"\n",
"results = getResults(cur)\n",
"\n",
"results"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>ocid</th>\n",
" <th>publicationdate</th>\n",
" <th>amount</th>\n",
" <th>currency</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
"Empty DataFrame\n",
"Columns: [ocid, publicationdate, amount, currency]\n",
"Index: []"
]
},
"metadata": {
"tags": []
},
"execution_count": 53
}
]
},
{
"metadata": {
"id": "CaNG1frut3be",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"The number of contracts with missing amounts is 0. From here on, we will include the filter for the contracts that doesn't have the `extendsContractID` field and have a valid `dncpContractCode`."
]
},
{
"metadata": {
"id": "GmYR1mQ6S-XL",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"###2.5. Currencies used\n",
"\n",
"*Here, we determine whether we need to account for different currencies.*"
]
},
{
"metadata": {
"id": "Vk1pl2ibesml",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"Some of the indicators include calculations of quantities that may use different currencies. First, let's check which currencies are used in the `contracts` sections:"
]
},
{
"metadata": {
"id": "yeiY8wSSfjai",
"colab_type": "code",
"outputId": "06ba789b-c75a-4fdf-a947-e9f586730559",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 111
}
},
"cell_type": "code",
"source": [
"querystring = base_querystring + \"\"\"\n",
" \n",
" SELECT\n",
" contracts -> 'value' ->> 'currency' AS currency,\n",
" COUNT(*) AS numContracts\n",
" FROM\n",
" records\n",
" CROSS JOIN\n",
" jsonb_array_elements(data -> 'compiledRelease' -> 'contracts') AS contracts\n",
" WHERE\n",
" data -> 'compiledRelease' -> 'contracts' IS NOT NULL\n",
" GROUP BY\n",
" contracts -> 'value' ->> 'currency'\n",
" \n",
"\"\"\"\n",
"\n",
"cur.execute(\"\"\"rollback\"\"\")\n",
"\n",
"cur.execute(querystring)\n",
"\n",
"results = getResults(cur)\n",
"\n",
"results"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>currency</th>\n",
" <th>numcontracts</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>PYG</td>\n",
" <td>45424</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>USD</td>\n",
" <td>162</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" currency numcontracts\n",
"0 PYG 45424 \n",
"1 USD 162 "
]
},
"metadata": {
"tags": []
},
"execution_count": 55
}
]
},
{
"metadata": {
"id": "ebakLY9ChrSE",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"In total we have 2 different currencies used, included the Paraguayan currency, Guarani. Converting currency accurately can be a problem: conversion rates change daily, and most important, we do not know exactly how currency exchange is managed in the procurement system. For calculating percentages and comparisons, an approximate exchange rate may be good enough, especially if most of the transactions use the same single currency. As we see in the results, the Paraguayan Guarani is the most used currency in data, by far.\n",
"\n",
"We can look at the currency exchange rates [online](https://www.xe.com/currencycharts/) and pick an approximate average from the last two years for each currency used. Below is the conversion rates chosen to convert all foreign currencies to the Paraguayan national currency; we will use these rates in all calculations that involve currencies."
]
},
{
"metadata": {
"id": "laBvhRZvKZbO",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"#### Conversion rates to Paraguayan Guarani\n",
"\n",
"* [1 USD = 5900 PYG](https://www.xe.com/currencycharts/?from=USD&to=PYG&view=2Y)\n"
]
},
{
"metadata": {
"id": "47ZO-CGPJa1V",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"## 3. MAPS Indicators"
]
},
{
"metadata": {
"id": "LekLlmKtzosY",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"Now that we clarified some things, we can go ahead and calculate the quantitative indicators."
]
},
{
"metadata": {
"id": "QMDgeke2Jgga",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"### 3.1. Key Procurement Information published along the procurement cycle (in % of total number of contracts)\n"
]
},
{
"metadata": {
"id": "Wtc3_DFasPrP",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"#### 3.1.1. Invitation to bid (in % of total number of contracts)"
]
},
{
"metadata": {
"id": "kyC95fRQ63UH",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"We look at sub-indicator 7(a)(c) to understand what this indicator means in the OCDS context ([MAPS specification](http://www.mapsinitiative.org/methodology/MAPS-methodology-for-assessing-procurement-systems.pdf), page 41, emphasis added):\n",
"\n",
">*The information system provides for the publication of: *\n",
"\n",
">* *procurement plans*\n",
">* *information related to specific procurements, at a minimum, **advertisements or notices of procurement opportunities,** procurement method, contract awards and contract implementation, including amendments, payments and appeals decisions*\n",
">* *linkages to rules and regulations and other information relevant for promoting competition and transparency.*\n",
"\n",
"The non-bolded items all correspond to other indicators, so the bold items must correspond to this indicator. Thus, \"invitation to bid\", in the context of OCDS, means the publication of a tender notice.\n",
"\n",
"OCDS defines the `tender/documents` section in which links to these kind of documents can be included. Specifically, we should look for the `documentType` called `tenderNotice` and for any other custom type that may have a similar meaning.\n",
"\n",
"Let's start by looking at the `documentTypes` used in the `tender` stage:"
]
},
{
"metadata": {
"id": "zRtZidUfW7oO",
"colab_type": "code",
"outputId": "f61ccb48-b4c2-4e7c-bdfb-35f1c144e327",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 1969
}
},
"cell_type": "code",
"source": [
"querystring = base_querystring + \"\"\"\n",
" \n",
" SELECT\n",
" DISTINCT documents->'documentType' as documentType\n",
" FROM\n",
" records\n",
" CROSS JOIN\n",
" jsonb_array_elements(data -> 'compiledRelease' -> 'tender' -> 'documents') AS documents\n",
"\"\"\"\n",
"\n",
"cur.execute(\"\"\"rollback\"\"\")\n",
"\n",
"cur.execute(querystring)\n",
"\n",
"results = getResults(cur)\n",
"\n",
"results"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>documenttype</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>Nota de Rectificación</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>technicalSpecifications</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>Países Elegibles - Consultores BID</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>environmentalImpact</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>Resolución Cancelación Llamado</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>Permiso Municipal</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>Condiciones Generales del Contrato - Obras por Subasta</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>Autorización del Equipo Ec. para Vehiculos</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>Condiciones Generales del Contrato - Seguridad y Vigilancia</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>Notificación al Oferente</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>Datos Estadisticos Referenciales</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>Instrucción a los Oferentes - Servicios de Limpieza Subasta</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>Instrucción a los Oferentes - Seguros Subasta</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>Flujo de fondos</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>Justificación de abastecimiento simultáneo</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>awardNotice</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>Resolución del Convenio</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>Condiciones Generales del Contrato - Obras BID</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>Nota de Respuesta Llamado</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>Instrucción a los Oferentes - Provision de Pasajes Aereos</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>Justificación de Contratación de Carácter Internacional</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>Certificado de DGEP</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>Dictamen del Llamado</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>No objeción</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>Nota de Reparo</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>Dictamen Justificativo de Declaración Desierta</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>Carta de Invitación</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td>Instrucción a los Oferentes - Seguridad y Vigilancia Subasta</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28</th>\n",
" <td>Nota de Contestación</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29</th>\n",
" <td>Llamado publicado</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>70</th>\n",
" <td>Nota de Comunicación Adenda/Aclaracion (opcional)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>71</th>\n",
" <td>Condiciones Generales del Contrato - Obras</td>\n",
" </tr>\n",
" <tr>\n",
" <th>72</th>\n",
" <td>Condiciones Generales del Contrato - Servicios de Limpieza</td>\n",
" </tr>\n",
" <tr>\n",
" <th>73</th>\n",
" <td>Publicación en periódicos</td>\n",
" </tr>\n",
" <tr>\n",
" <th>74</th>\n",
" <td>Nota Comunicación</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75</th>\n",
" <td>Proforma de Contrato CD</td>\n",
" </tr>\n",
" <tr>\n",
" <th>76</th>\n",
" <td>Condiciones Generales del Contrato - Bienes y Servicios por Subasta</td>\n",
" </tr>\n",
" <tr>\n",
" <th>77</th>\n",
" <td>Adenda</td>\n",
" </tr>\n",
" <tr>\n",
" <th>78</th>\n",
" <td>Nota de Observacion</td>\n",
" </tr>\n",
" <tr>\n",
" <th>79</th>\n",
" <td>evaluationReports</td>\n",
" </tr>\n",
" <tr>\n",
" <th>80</th>\n",
" <td>Instrucción a los Oferentes - Seguridad y Vigilancia</td>\n",
" </tr>\n",
" <tr>\n",
" <th>81</th>\n",
" <td>Constancia Adreferendum</td>\n",
" </tr>\n",
" <tr>\n",
" <th>82</th>\n",
" <td>Informe de catástro</td>\n",
" </tr>\n",
" <tr>\n",
" <th>83</th>\n",
" <td>Carta de invitación a los oferentes</td>\n",
" </tr>\n",
" <tr>\n",
" <th>84</th>\n",
" <td>Fotocopia de Título</td>\n",
" </tr>\n",
" <tr>\n",
" <th>85</th>\n",
" <td>Evaluación Impacto Ambiental</td>\n",
" </tr>\n",
" <tr>\n",
" <th>86</th>\n",
" <td>Condiciones Generales del Contrato - Seguros Subasta</td>\n",
" </tr>\n",
" <tr>\n",
" <th>87</th>\n",
" <td>Instrucción a los Oferentes - Obras BID</td>\n",
" </tr>\n",
" <tr>\n",
" <th>88</th>\n",
" <td>Nota de Solicitud Adenda (Opcional)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>89</th>\n",
" <td>Lista de precios</td>\n",
" </tr>\n",
" <tr>\n",
" <th>90</th>\n",
" <td>Condiciones Generales del Contrato - Almuerzo Escolar</td>\n",
" </tr>\n",
" <tr>\n",
" <th>91</th>\n",
" <td>Instrucción para los Consultores</td>\n",
" </tr>\n",
" <tr>\n",
" <th>92</th>\n",
" <td>biddingDocuments</td>\n",
" </tr>\n",
" <tr>\n",
" <th>93</th>\n",
" <td>Países Elegibles</td>\n",
" </tr>\n",
" <tr>\n",
" <th>94</th>\n",
" <td>Justificación Contrato Abierto</td>\n",
" </tr>\n",
" <tr>\n",
" <th>95</th>\n",
" <td>Condiciones Generales del Contrato - Provision de Pasajes Aereos</td>\n",
" </tr>\n",
" <tr>\n",
" <th>96</th>\n",
" <td>Informe de gravámenes y dominios</td>\n",
" </tr>\n",
" <tr>\n",
" <th>97</th>\n",
" <td>Instrucción a los Oferentes - Obras por Subasta</td>\n",
" </tr>\n",
" <tr>\n",
" <th>98</th>\n",
" <td>Dictamen Justificativo de Cancelación Llamado</td>\n",
" </tr>\n",
" <tr>\n",
" <th>99</th>\n",
" <td>Nota de Cancelación</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>100 rows × 1 columns</p>\n",
"</div>"
],
"text/plain": [
" documenttype\n",
"0 Nota de Rectificación \n",
"1 technicalSpecifications \n",
"2 Países Elegibles - Consultores BID \n",
"3 environmentalImpact \n",
"4 Resolución Cancelación Llamado \n",
"5 Permiso Municipal \n",
"6 Condiciones Generales del Contrato - Obras por Subasta \n",
"7 Autorización del Equipo Ec. para Vehiculos \n",
"8 Condiciones Generales del Contrato - Seguridad y Vigilancia \n",
"9 Notificación al Oferente \n",
"10 Datos Estadisticos Referenciales \n",
"11 Instrucción a los Oferentes - Servicios de Limpieza Subasta \n",
"12 Instrucción a los Oferentes - Seguros Subasta \n",
"13 Flujo de fondos \n",
"14 Justificación de abastecimiento simultáneo \n",
"15 awardNotice \n",
"16 Resolución del Convenio \n",
"17 Condiciones Generales del Contrato - Obras BID \n",
"18 Nota de Respuesta Llamado \n",
"19 Instrucción a los Oferentes - Provision de Pasajes Aereos \n",
"20 Justificación de Contratación de Carácter Internacional \n",
"21 Certificado de DGEP \n",
"22 Dictamen del Llamado \n",
"23 No objeción \n",
"24 Nota de Reparo \n",
"25 Dictamen Justificativo de Declaración Desierta \n",
"26 Carta de Invitación \n",
"27 Instrucción a los Oferentes - Seguridad y Vigilancia Subasta \n",
"28 Nota de Contestación \n",
"29 Llamado publicado \n",
".. ... \n",
"70 Nota de Comunicación Adenda/Aclaracion (opcional) \n",
"71 Condiciones Generales del Contrato - Obras \n",
"72 Condiciones Generales del Contrato - Servicios de Limpieza \n",
"73 Publicación en periódicos \n",
"74 Nota Comunicación \n",
"75 Proforma de Contrato CD \n",
"76 Condiciones Generales del Contrato - Bienes y Servicios por Subasta\n",
"77 Adenda \n",
"78 Nota de Observacion \n",
"79 evaluationReports \n",
"80 Instrucción a los Oferentes - Seguridad y Vigilancia \n",
"81 Constancia Adreferendum \n",
"82 Informe de catástro \n",
"83 Carta de invitación a los oferentes \n",
"84 Fotocopia de Título \n",
"85 Evaluación Impacto Ambiental \n",
"86 Condiciones Generales del Contrato - Seguros Subasta \n",
"87 Instrucción a los Oferentes - Obras BID \n",
"88 Nota de Solicitud Adenda (Opcional) \n",
"89 Lista de precios \n",
"90 Condiciones Generales del Contrato - Almuerzo Escolar \n",
"91 Instrucción para los Consultores \n",
"92 biddingDocuments \n",
"93 Países Elegibles \n",
"94 Justificación Contrato Abierto \n",
"95 Condiciones Generales del Contrato - Provision de Pasajes Aereos \n",
"96 Informe de gravámenes y dominios \n",
"97 Instrucción a los Oferentes - Obras por Subasta \n",
"98 Dictamen Justificativo de Cancelación Llamado \n",
"99 Nota de Cancelación \n",
"\n",
"[100 rows x 1 columns]"
]
},
"metadata": {
"tags": []
},
"execution_count": 56
}
]
},
{
"metadata": {
"id": "UkfEo4akXWF0",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"Between these 100 documents types we see a few useful types: *Carta de invitación a los oferentes* (Invitation letter to bidders), *Publicación en periódicos* (Newspaper Adverts), *Carta de Invitación* (Invitation letter), which complies with the announcement of opportunities this indicator is trying to measure. We use the following to count the tenders with invitations: "
]
},
{
"metadata": {
"id": "KO8ugCB_X56S",
"colab_type": "code",
"outputId": "1923bc6a-2abe-44c2-a040-e0d188b9c125",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 80
}
},
"cell_type": "code",
"source": [
"querystring = base_querystring + \"\"\"\n",
" \n",
" SELECT\n",
" COUNT(DISTINCT data -> 'compiledRelease' ->> 'ocid') AS processCount\n",
" FROM\n",
" records\n",
" CROSS JOIN\n",
" jsonb_array_elements(data -> 'compiledRelease' -> 'tender' -> 'documents') AS documents\n",
" WHERE documents->>'documentType' IN ('Carta de invitación a los oferentes', 'Publicación en periódicos','Carta de Invitación')\n",
"\"\"\"\n",
"\n",
"cur.execute(\"\"\"rollback\"\"\")\n",
"\n",
"cur.execute(querystring)\n",
"\n",
"results = getResults(cur)\n",
"\n",
"results"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>processcount</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>25969</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" processcount\n",
"0 25969 "
]
},
"metadata": {
"tags": []
},
"execution_count": 58
}
]
},
{
"metadata": {
"colab_type": "text",
"id": "x8o-pvECc18U"
},
"cell_type": "markdown",
"source": [
"Looking at the results, the number of tenders open to bids is 25969/36033 = **72.1%**."
]
},
{
"metadata": {
"id": "ZXUzPU4Hsis2",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"#### 3.1.2. Contract awards (purpose, supplier, value, variations/amendments)"
]
},
{
"metadata": {
"id": "DzLDDvB569N6",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"Lets see which OCDS fields we can use to calculate each piece of information required for this indicator:\n",
"\n",
"* *Purpose*: arguably, MAPS uses the term purpose to refer to *what* is being purchased. In OCDS this information is contained in the `tender/items` section.\n",
"* *Supplier*: included in the `suppliers` field, should be at least one for each `award`.\n",
"* *Value*: `value` should be present for each `awards` item. We know from previous sections that this is true for almost all releases.\n",
"* *Variations/Amendments*: we know that the amendments are included as contracts that specify the field extendsContractID, therefore we know that they include amendments. Now, we can't verify that amendment information is complete or correct, so here we show how to calculate how many contracts include amendments only.\n",
"\n",
"So, from the list, we can check the suppliers and variations/amendments information."
]
},
{
"metadata": {
"id": "xvKiHZHdhGtX",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"Let's start with the items information. Is there any missing or empty list of items?"
]
},
{
"metadata": {
"id": "O7sCtn3-hrO2",
"colab_type": "code",
"outputId": "ed909345-d92e-4b28-efac-122b6e33789b",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 49
}
},
"cell_type": "code",
"source": [
"querystring = base_querystring + \"\"\"\n",
" \n",
" SELECT\n",
" data -> 'compiledRelease' ->> 'ocid' AS ocid\n",
" FROM\n",
" records\n",
" WHERE\n",
" data -> 'compiledRelease' ? 'award'\n",
" AND\n",
" (data -> 'compiledRelease' -> 'tender' -> 'items' IS NULL OR jsonb_array_length(data -> 'compiledRelease' -> 'tender' -> 'items') = 0)\n",
"\"\"\"\n",
"\n",
"cur.execute(\"\"\"rollback\"\"\")\n",
"\n",
"cur.execute(querystring)\n",
"\n",
"results = getResults(cur)\n",
"\n",
"results"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>ocid</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
"Empty DataFrame\n",
"Columns: [ocid]\n",
"Index: []"
]
},
"metadata": {
"tags": []
},
"execution_count": 59
}
]
},
{
"metadata": {
"id": "_cdk3hMQaJiP",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"Good! Seems like all procurement processes have a non-empty list of items."
]
},
{
"metadata": {
"id": "xL3Mr9CQpz2y",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"Now, let's go to the suppliers: do any contract awards have an invalid supplier list?"
]
},
{
"metadata": {
"id": "m_Zq-mpxm9A_",
"colab_type": "code",
"outputId": "ff8d9e1f-c9d2-420c-f952-99d34b969556",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 49
}
},
"cell_type": "code",
"source": [
"querystring = base_querystring + \"\"\"\n",
" \n",
" SELECT\n",
" data -> 'compiledRelease' ->> 'ocid' AS ocid\n",
" FROM\n",
" records\n",
" CROSS JOIN\n",
" jsonb_array_elements(data -> 'compiledRelease' -> 'awards') AS awards\n",
" WHERE\n",
" data -> 'compiledRelease' IS NOT NULL\n",
" AND\n",
" data -> 'compiledRelease' -> 'awards' IS NOT NULL\n",
" AND(\n",
" awards -> 'suppliers' IS NULL \n",
" OR \n",
" jsonb_array_length(awards -> 'suppliers') = 0\n",
" )\n",
" AND awards ->> 'status' <> 'unsuccessful'\n",
"\"\"\"\n",
"\n",
"cur.execute(\"\"\"rollback\"\"\")\n",
"\n",
"cur.execute(querystring)\n",
"\n",
"results = getResults(cur)\n",
"\n",
"results"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>ocid</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
"Empty DataFrame\n",
"Columns: [ocid]\n",
"Index: []"
]
},
"metadata": {
"tags": []
},
"execution_count": 65
}
]
},
{
"metadata": {
"id": "DF1gD1cPr31E",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"Great! 100% of contract awards include supplier information.\n",
"\n",
"Now, let's move to the amendment information:"
]
},
{
"metadata": {
"id": "XP1sV0IEFTik",
"colab_type": "code",
"outputId": "76b6a363-d971-473d-c57a-aad182ccdca5",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 80
}
},
"cell_type": "code",
"source": [
"querystring = base_querystring + \"\"\"\n",
" \n",
" SELECT\n",
" COUNT(*) AS numberOfAmendedAwards\n",
" FROM\n",
" records\n",
" CROSS JOIN\n",
" jsonb_array_elements(data -> 'compiledRelease' -> 'contracts') AS contracts\n",
" WHERE\n",
" data -> 'compiledRelease' IS NOT NULL\n",
" AND\n",
" data -> 'compiledRelease' -> 'contracts' IS NOT NULL\n",
" AND\n",
" contracts -> 'extendsContractID' IS NOT NULL\n",
" \n",
"\"\"\"\n",
"\n",
"cur.execute(\"\"\"rollback\"\"\")\n",
"\n",
"cur.execute(querystring)\n",
"\n",
"results = getResults(cur)\n",
"\n",
"results"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>numberofamendedawards</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>6435</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" numberofamendedawards\n",
"0 6435 "
]
},
"metadata": {
"tags": []
},
"execution_count": 75
}
]
},
{
"metadata": {
"id": "uA5vTiPuXiun",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"Looking at the results, the number of amendments is 6435/36033 = **17,8%** of contracting processes."
]
},
{
"metadata": {
"id": "KNRmQ7HyLInQ",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"#### 3.1.3. Details related to contract implementation (milestones, completion and payment)\n",
"\n"
]
},
{
"metadata": {
"id": "8hflO2Zw7ApB",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"As before, let's separate the details of this indicator to check which OCDS fields we can use:\n",
"\n",
"* *Milestones*: present in the `contracts/implementation/milestones` field, Paraguay doesn't publish this data.\n",
"* *Completion*: completion of a contract cannot be assessed using OCDS in its current version. \n",
"* *Payment*: present in the `contracts/implementation/transactions` field, Paraguay doesn't publish this data..\n",
"\n",
"Let's verify this by checking if there are releases that use the `contracts/implementation` section."
]
},
{
"metadata": {
"id": "nVB_BlPH0AA7",
"colab_type": "code",
"outputId": "07664383-b92c-4a90-a506-719c1ca1a395",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 80
}
},
"cell_type": "code",
"source": [
"querystring = base_querystring + \"\"\"\n",
" \n",
" SELECT\n",
" COUNT(DISTINCT data -> 'compiledRelease' ->> 'ocid') AS processCount\n",
" FROM\n",
" records\n",
" CROSS JOIN jsonb_array_elements(data -> 'compiledRelease' -> 'contracts') AS contracts\n",
" WHERE\n",
" contracts ? 'implementation' -- does this key exists in contracts?\n",
"\"\"\"\n",
"\n",
"cur.execute(\"\"\"rollback\"\"\")\n",
"\n",
"cur.execute(querystring)\n",
"\n",
"results = getResults(cur)\n",
"\n",
"results"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>processcount</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" processcount\n",
"0 0 "
]
},
"metadata": {
"tags": []
},
"execution_count": 105
}
]
},
{
"metadata": {
"id": "uZSJzP5N0DMn",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"We can conclude that Paraguay does not publish any contract implementation information."
]
},
{
"metadata": {
"id": "YaYwnTGRkynx",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"### 3.2 Annual Procurement Statistics"
]
},
{
"metadata": {
"id": "7FA-fj1G7E_b",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"The indicator *Annual procurement statistics* measures if these are published each year: information that can not measure with OCDS. But a complete dataset in OCDS format can still be useful for a publisher that wants to meet this indicator; therefore, in this section we show how to calculate a few annual statistics with OCDS data.\n",
"\n",
"MAPS does not specify what information should be included in annual statistics, but we can try a few basic ones.\n",
"\n",
"We will use the year chosen on section 2.1 for the following:"
]
},
{
"metadata": {
"id": "6rCQQQzpyZmJ",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"#### How many tenders were conducted?"
]
},
{
"metadata": {
"id": "yJQ2tAwAk3gN",
"colab_type": "code",
"outputId": "6b4471de-e21f-47c0-84c3-0c407f3dea51",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 80
}
},
"cell_type": "code",
"source": [
"querystring = \"\"\"\n",
" WITH releases AS (\n",
" SELECT\n",
" data -> 'compiledRelease' AS data,\n",
" releases -> 'tag' AS tag\n",
" FROM\n",
" data\n",
" JOIN\n",
" record on data.id = record.data_id\n",
" JOIN\n",
" collection_file_status ON record.collection_file_status_id = collection_file_status.id\n",
" JOIN\n",
" collection ON collection_file_status.collection_id = collection.id\n",
" CROSS JOIN\n",
" jsonb_array_elements(data -> 'releases') AS releases\n",
" WHERE\n",
" source_id ='\"\"\" + source_id + \"\"\"' and data_version='\"\"\" + data_version + \"\"\"'\n",
" AND\n",
" EXTRACT(year FROM CAST(releases ->> 'date' AS TIMESTAMP)) = 2017\n",
" AND \n",
" data -> 'compiledRelease' IS NOT NULL\n",
" )\n",
" \n",
" SELECT\n",
" COUNT(DISTINCT data -> 'ocid') AS numberoftenders\n",
" FROM\n",
" releases\n",
" WHERE\n",
" tag ? 'tender'\n",
"\"\"\"\n",
"\n",
"cur.execute(\"\"\"rollback\"\"\")\n",
"\n",
"cur.execute(querystring)\n",
"\n",
"results = getResults(cur)\n",
"\n",
"results"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>numberoftenders</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>13014</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" numberoftenders\n",
"0 13014 "
]
},
"metadata": {
"tags": []
},
"execution_count": 80
}
]
},
{
"metadata": {
"id": "sHtIiQrHoTKB",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"#### How many contracts were awarded?"
]
},
{
"metadata": {
"id": "-4pobrRUoVyz",
"colab_type": "code",
"outputId": "d65c36d9-8c71-4708-9e3a-737028b50dad",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 80
}
},
"cell_type": "code",
"source": [
"querystring = \"\"\"\n",
" WITH releases AS (\n",
" SELECT\n",
" contracts AS data\n",
" FROM\n",
" data\n",
" JOIN\n",
" record on data.id = record.data_id\n",
" JOIN\n",
" collection_file_status ON record.collection_file_status_id = collection_file_status.id\n",
" JOIN\n",
" collection ON collection_file_status.collection_id = collection.id\n",
" CROSS JOIN\n",
" jsonb_array_elements(data -> 'releases') AS releases\n",
" CROSS JOIN\n",
" jsonb_array_elements(data-> 'compiledRelease' -> 'contracts') AS contracts\n",
" WHERE\n",
" source_id ='\"\"\" + source_id + \"\"\"' and data_version='\"\"\" + data_version + \"\"\"'\n",
" AND \n",
" data -> 'compiledRelease' IS NOT NULL\n",
" AND\n",
" EXTRACT(year FROM CAST(releases ->> 'date' AS TIMESTAMP)) = 2017\n",
" AND \n",
" data -> 'compiledRelease' -> 'contracts' IS NOT NULL\n",
" AND \n",
" contracts ->> 'dncpContractCode' <> 'Pendiente de Emisión'\n",
" AND \n",
" contracts ->> 'extendedContractId' IS NULL\n",
" )\n",
" \n",
" SELECT\n",
" COUNT(DISTINCT data -> 'id') AS number_of_contracts\n",
" FROM\n",
" releases\n",
"\"\"\"\n",
"\n",
"cur.execute(\"\"\"rollback\"\"\")\n",
"\n",
"cur.execute(querystring)\n",
"\n",
"results = getResults(cur)\n",
"\n",
"results"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>number_of_contracts</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>19692</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" number_of_contracts\n",
"0 19692 "
]
},
"metadata": {
"tags": []
},
"execution_count": 81
}
]
},
{
"metadata": {
"id": "GMUJtkcyp1NF",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"#### Top 10 Suppliers in 2017"
]
},
{
"metadata": {
"id": "Z9bL7iOknNNq",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"Although we can't know for sure how many suppliers are duplicated, we include the following to demonstrate how suppliers information can be used. \n",
"\n",
"Let's calculate how much each supplier earned in Paraguayan Guarani and pick the top 10:"
]
},
{
"metadata": {
"id": "V_YwRpUUp5Zd",
"colab_type": "code",
"outputId": "676e9d4d-66bf-4899-9fee-9a5aaa7d1f43",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 359
}
},
"cell_type": "code",
"source": [
"querystring = \"\"\"\n",
" WITH data AS (\n",
" SELECT\n",
" data -> 'compiledRelease' AS data\n",
" FROM\n",
" data\n",
" JOIN\n",
" record on data.id = record.data_id\n",
" JOIN\n",
" collection_file_status ON record.collection_file_status_id = collection_file_status.id\n",
" JOIN\n",
" collection ON collection_file_status.collection_id = collection.id\n",
" CROSS JOIN\n",
" jsonb_array_elements(data -> 'releases') AS releases\n",
" WHERE\n",
" source_id ='\"\"\" + source_id + \"\"\"' and data_version='\"\"\" + data_version + \"\"\"'\n",
" AND\n",
" EXTRACT(year FROM CAST(releases ->> 'date' AS TIMESTAMP)) = 2017\n",
" AND\n",
" releases -> 'tag' ? 'contract'\n",
" ), \n",
" \n",
" currencies AS (\n",
" SELECT\n",
" *\n",
" FROM (VALUES\n",
" ('USD', 5900),\n",
" ('PYG', 1))\n",
" AS t(currency,value)\n",
" )\n",
" \n",
" SELECT\n",
" contracts-> 'suppliers' ->> 'name' AS name,\n",
" SUM((contracts -> 'value' ->> 'amount')::NUMERIC * currencies.value) as totalContractValue\n",
" FROM\n",
" data\n",
" CROSS JOIN\n",
" jsonb_array_elements(data -> 'contracts') AS contracts\n",
" JOIN \n",
" currencies\n",
" ON\n",
" currencies.currency = contracts -> 'value' ->> 'currency'\n",
" WHERE\n",
" contracts -> 'value' ->> 'amount' IS NOT NULL\n",
" AND \n",
" contracts-> 'suppliers' ->> 'name' IS NOT NULL\n",
" GROUP BY\n",
" contracts-> 'suppliers' ->> 'name'\n",
" ORDER BY\n",
" SUM((contracts -> 'value' ->> 'amount')::NUMERIC * currencies.value) DESC\n",
" LIMIT\n",
" 10\n",
" \n",
"\"\"\"\n",
"\n",
"cur.execute(\"\"\"rollback\"\"\")\n",
"\n",
"cur.execute(querystring)\n",
"\n",
"results = getResults(cur)\n",
"\n",
"results"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>name</th>\n",
" <th>totalcontractvalue</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>GLENCORE INTERNATIONAL AG</td>\n",
" <td>1785807962112.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>Trafigura Pte Ltd</td>\n",
" <td>922496073728.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>Lukoil Pan Americas, LLC</td>\n",
" <td>733038051328.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>EUROQUIMICA S.A.</td>\n",
" <td>710245203392.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>ECOMIPA S.A.</td>\n",
" <td>610722973696.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>PROSALUDFARMA S.A.</td>\n",
" <td>555766755744.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>VICENTE SCAVONE &amp; CIA. S.A.E</td>\n",
" <td>487380284588.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>Consorcio TBI</td>\n",
" <td>478828232704.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>PANCHITA G DE NAVEGACION S.A.</td>\n",
" <td>478799986688.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>INDEX S.A.C.I.</td>\n",
" <td>404761568012.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" name totalcontractvalue\n",
"0 GLENCORE INTERNATIONAL AG 1785807962112.0 \n",
"1 Trafigura Pte Ltd 922496073728.0 \n",
"2 Lukoil Pan Americas, LLC 733038051328.0 \n",
"3 EUROQUIMICA S.A. 710245203392.0 \n",
"4 ECOMIPA S.A. 610722973696.0 \n",
"5 PROSALUDFARMA S.A. 555766755744.0 \n",
"6 VICENTE SCAVONE & CIA. S.A.E 487380284588.0 \n",
"7 Consorcio TBI 478828232704.0 \n",
"8 PANCHITA G DE NAVEGACION S.A. 478799986688.0 \n",
"9 INDEX S.A.C.I. 404761568012.0 "
]
},
"metadata": {
"tags": []
},
"execution_count": 82
}
]
},
{
"metadata": {
"id": "blI06C2EpE0C",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"Here we used the currency exchange rates picked in section 2.5, to have all the results in Paraguayan Guarani."
]
},
{
"metadata": {
"id": "JnpiS-uNg_o0",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"### 3.3. Uptake of e-Procurement"
]
},
{
"metadata": {
"id": "EH60T4T1hf1N",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"#### 3.3.1. Number of e-Procurement procedures in % of total number of procedures"
]
},
{
"metadata": {
"id": "q78qlmnsfOgP",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"Here, we will use the field `tender/submissionMethod` to distinguish e-procurement procedures from the ones that use other methods."
]
},
{
"metadata": {
"id": "HhvebZQRUArl",
"colab_type": "code",
"outputId": "593fadd7-a0c3-4d3e-e558-9d5e5d92ac9d",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 111
}
},
"cell_type": "code",
"source": [
"querystring = base_querystring + \"\"\"\n",
" \n",
" SELECT DISTINCT\n",
" data -> 'compiledRelease' -> 'tender' ->> 'submissionMethod' AS submissionMethod,\n",
" COUNT(*) AS numberOfProcedures\n",
" FROM\n",
" records\n",
" WHERE \n",
" data -> 'compiledRelease' is not null\n",
" AND\n",
" data -> 'compiledRelease' -> 'tender' ->> 'submissionMethod' IS NOT NULL\n",
" GROUP BY\n",
" data -> 'compiledRelease' -> 'tender' ->> 'submissionMethod'\n",
"\"\"\"\n",
"\n",
"cur.execute(\"\"\"rollback\"\"\")\n",
"\n",
"cur.execute(querystring)\n",
"\n",
"results = getResults(cur)\n",
"\n",
"results"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>submissionmethod</th>\n",
" <th>numberofprocedures</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>[\"electronicAuction\"]</td>\n",
" <td>2085</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>[\"written\"]</td>\n",
" <td>33948</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" submissionmethod numberofprocedures\n",
"0 [\"electronicAuction\"] 2085 \n",
"1 [\"written\"] 33948 "
]
},
"metadata": {
"tags": []
},
"execution_count": 83
}
]
},
{
"metadata": {
"id": "q5LoVHH-t9LV",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"The proportion of procedures that use an e-procurement method is 2085/36033 = **5.7%**."
]
},
{
"metadata": {
"id": "IR6oBerLiK7-",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"#### 3.3.2. Value of e-Procurement procedures in % of total value of procedures"
]
},
{
"metadata": {
"id": "7HfJgz-0Eo2t",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"We can expand the previous query to add value information. Since the final value of a procurement procedure is defined in the contract signing, we will use the procedures that reached the contract stage only, and the values contained in the field `contracts/value`."
]
},
{
"metadata": {
"id": "5iBa3edWRF9m",
"colab_type": "code",
"outputId": "b134bbfe-dd36-4bf5-dd47-c6f821bcda1f",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 111
}
},
"cell_type": "code",
"source": [
"querystring = base_querystring + \"\"\"\n",
" ,\n",
" currencies AS (\n",
" SELECT\n",
" *\n",
" FROM (VALUES\n",
" ('PYG', 1),\n",
" ('USD', 5900))\n",
" AS t(currency,value)\n",
" )\n",
" \n",
" SELECT\n",
" data -> 'compiledRelease' -> 'tender' ->> 'submissionMethod' AS submissionMethod,\n",
" COUNT(DISTINCT data -> 'compiledRelease' ->> 'ocid') AS numOfProcedures,\n",
" SUM((contracts -> 'value' ->> 'amount')::decimal * currencies.value) AS totalValue\n",
" FROM\n",
" records\n",
" CROSS JOIN\n",
" jsonb_array_elements(data -> 'compiledRelease' -> 'contracts') AS contracts\n",
" INNER JOIN currencies \n",
" ON currencies.currency = contracts -> 'value' ->> 'currency'\n",
" WHERE\n",
" data -> 'compiledRelease' IS NOT NULL\n",
" AND\n",
" data -> 'compiledRelease' -> 'contracts' IS NOT NULL\n",
" GROUP BY\n",
" data -> 'compiledRelease' -> 'tender' ->> 'submissionMethod'\n",
" \n",
"\"\"\"\n",
"\n",
"cur.execute(\"\"\"rollback\"\"\")\n",
"\n",
"cur.execute(querystring)\n",
"\n",
"results = getResults(cur)\n",
"\n",
"results"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>submissionmethod</th>\n",
" <th>numofprocedures</th>\n",
" <th>totalvalue</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>[\"electronicAuction\"]</td>\n",
" <td>1515</td>\n",
" <td>14660209373990.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>[\"written\"]</td>\n",
" <td>27016</td>\n",
" <td>23146891807737.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" submissionmethod numofprocedures totalvalue\n",
"0 [\"electronicAuction\"] 1515 14660209373990.0\n",
"1 [\"written\"] 27016 23146891807737.0"
]
},
"metadata": {
"tags": []
},
"execution_count": 85
}
]
},
{
"metadata": {
"id": "xIqsKeCCT3qP",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"Let's put these results in a nicer table to find the answer:\n",
"\n",
"| Submission Method | Value | % |\n",
"|--|--|--|\n",
"| Written | 23,146,891,807,737 | 61 |\n",
"| Electronic Auction | 14,660,209,373,990 | 39 |\n",
"| **Total** | **3,780710118×10¹³** | **100** |\n",
"\n",
"\n",
"Only the **39%** of the procurement value corresponds to e-procurement procedures."
]
},
{
"metadata": {
"id": "7yTfcWQphmgy",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"### 3.4. Total Number of Contracts"
]
},
{
"metadata": {
"id": "5gQfTpfLp9ba",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"We can get this information by counting the contracts contained in the `contracts` array."
]
},
{
"metadata": {
"id": "aUOxGPq_1NIz",
"colab_type": "code",
"outputId": "cc67d44f-c98a-4648-bdc8-1ac7f774f7ca",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 80
}
},
"cell_type": "code",
"source": [
"querystring = base_querystring + \"\"\"\n",
" \n",
" SELECT\n",
" COUNT(*)\n",
" FROM\n",
" records\n",
" CROSS JOIN\n",
" jsonb_array_elements(data -> 'compiledRelease' -> 'contracts') AS contracts\n",
" WHERE\n",
" data -> 'compiledRelease' IS NOT NULL\n",
" AND\n",
" contracts -> 'extendsContractID' IS NULL \n",
" AND \n",
" contracts ->> 'dncpContractCode' <> 'Pendiente de Emisión'\n",
"\"\"\"\n",
"\n",
"cur.execute(\"\"\"rollback\"\"\")\n",
"\n",
"cur.execute(querystring)\n",
"\n",
"results = getResults(cur)\n",
"\n",
"results"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>count</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>37272</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" count\n",
"0 37272"
]
},
"metadata": {
"tags": []
},
"execution_count": 86
}
]
},
{
"metadata": {
"id": "UqePMv-BvxHS",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"We have 37,272 contracts for the total publishing period."
]
},
{
"metadata": {
"id": "qfLIIBGwiRj8",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"### 3.5. Total Value of Contracts"
]
},
{
"metadata": {
"id": "wXMtI5Z28cuC",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"We can take the total value of procedures in section 2.3.3 to know the answer: \t**3,780710118×10¹³\tPYG**."
]
},
{
"metadata": {
"id": "Lkov9MHEiVWq",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"### 3.6. Public procurement as a share of government expenditure and as share of GDP"
]
},
{
"metadata": {
"id": "DQnVW5hUPuLU",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"We will calculate this indicator by using contracts signed in 2017 data only, to facilitate comparison."
]
},
{
"metadata": {
"id": "YMx8EfGpP5Nd",
"colab_type": "code",
"outputId": "0a7d80d7-250f-459c-b542-1374c477bea0",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 80
}
},
"cell_type": "code",
"source": [
"querystring = base_querystring + \"\"\"\n",
" , \n",
" currencies AS (\n",
" SELECT\n",
" *\n",
" FROM (VALUES\n",
" ('PYG', 1),\n",
" ('USD', 5900))\n",
" AS t(currency,value)\n",
" )\n",
" \n",
" SELECT\n",
" SUM((contracts -> 'value' ->> 'amount')::DECIMAL * currencies.value) AS total\n",
" FROM\n",
" records\n",
" CROSS JOIN\n",
" jsonb_array_elements(data -> 'compiledRelease' -> 'contracts') AS contracts\n",
" JOIN\n",
" currencies\n",
" ON\n",
" contracts -> 'value' ->> 'currency' = currencies.currency\n",
" WHERE\n",
" data -> 'compiledRelease' IS NOT NULL\n",
" AND\n",
" data -> 'compiledRelease' -> 'contracts' IS NOT NULL\n",
" AND \n",
" contracts ->> 'dateSigned' IS NOT NULL\n",
" AND\n",
" contracts ->> 'dateSigned' BETWEEN '2017-01-01' AND '2018-01-01'\n",
"\"\"\"\n",
"\n",
"cur.execute(\"\"\"rollback\"\"\")\n",
"\n",
"cur.execute(querystring)\n",
"\n",
"results = getResults(cur)\n",
"\n",
"results"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>total</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>14441334704010.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" total\n",
"0 14441334704010.0"
]
},
"metadata": {
"tags": []
},
"execution_count": 87
}
]
},
{
"metadata": {
"id": "XXEKrMTYwzK7",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"So we have 14.441.334.704.010 PYG as the total expenses on public procurement for 2017. According to [this source](https://datos.hacienda.gov.py/), the total expenditure for 2017 was 62,208,156,000,000 PYG. The proportion would be:\n",
"\n",
"14.441.334.704.010/62,208,156,000,000=**~23%**.\n",
"\n",
"Paraguay's GDP in 2017, according to [this source](https://data.worldbank.org/indicator/NY.GDP.MKTP.CD?end=2017&start=2017), is 175,435,910 millions PYG, so the share of GDP would be:\n",
"\n",
"14.441.334.704.010/175,435,910,000,000=·**~8%**."
]
},
{
"metadata": {
"id": "rEJibw6Yig4W",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"### 3.7. Total value of contracts awarded through competitive methods in the most recent fiscal year"
]
},
{
"metadata": {
"id": "NUHyqJRTab-h",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"As Paraguay doesn't publish the procurement method type, let's calculate contract values by using the document types found in section 3.1.1, for the contracts that were awarded in 2017:"
]
},
{
"metadata": {
"id": "dFxnKEuxQmCr",
"colab_type": "code",
"outputId": "095e9f62-09d3-44a9-c62c-1a11159d9b37",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 80
}
},
"cell_type": "code",
"source": [
"querystring = \"\"\"\n",
" WITH data AS (\n",
" SELECT\n",
" distinct data -> 'compiledRelease' AS data\n",
" FROM\n",
" data\n",
" JOIN\n",
" record on data.id = record.data_id\n",
" JOIN\n",
" collection_file_status ON record.collection_file_status_id = collection_file_status.id\n",
" JOIN\n",
" collection ON collection_file_status.collection_id = collection.id\n",
" CROSS JOIN\n",
" jsonb_array_elements(data-> 'compiledRelease' -> 'tender' -> 'documents') AS documents\n",
" WHERE\n",
" source_id ='\"\"\" + source_id + \"\"\"' and data_version='\"\"\" + data_version + \"\"\"'\n",
" AND \n",
" documents ->> 'documentType' IN ('Carta de invitación a los oferentes', 'Publicación en periódicos','Carta de Invitación')\n",
" ), \n",
" currencies AS (\n",
" SELECT\n",
" *\n",
" FROM (VALUES\n",
" ('PYG', 1),\n",
" ('USD', 5900))\n",
" AS t(currency,value)\n",
" )\n",
" \n",
" SELECT\n",
" SUM((contracts -> 'value' ->> 'amount')::DECIMAL * currencies.value) AS total\n",
" FROM\n",
" data\n",
" CROSS JOIN\n",
" jsonb_array_elements(data -> 'contracts') AS contracts\n",
" JOIN\n",
" currencies\n",
" ON\n",
" contracts -> 'value' ->> 'currency' = currencies.currency\n",
" WHERE\n",
" data -> 'contracts' IS NOT NULL\n",
" AND \n",
" contracts -> 'extendsContractID' IS NULL\n",
" AND\n",
" contracts ->> 'dateSigned' BETWEEN '2017-01-01' AND '2018-01-01'\n",
"\"\"\"\n",
"\n",
"cur.execute(\"\"\"rollback\"\"\")\n",
"\n",
"cur.execute(querystring)\n",
"\n",
"results = getResults(cur)\n",
"\n",
"results"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>total</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>2794937146406.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" total\n",
"0 2794937146406.0"
]
},
"metadata": {
"tags": []
},
"execution_count": 93
}
]
},
{
"metadata": {
"id": "QvQy7GffciLh",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"According to the results, the total value of contracts is **2.794.937.146.406 PYG**."
]
},
{
"metadata": {
"id": "azwVrLoOinH5",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"### 3.8. Share of contracts with complete and accurate records and databases (in %)"
]
},
{
"metadata": {
"id": "2apz59tyV0Zb",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"For obvious reasons we cannot verify the accuracy of the data, but we can check that important information is not being omitted. For starters, we look if the following information is present for all contracts:\n",
"\n",
"* Contract dates (signing, beggining, end)\n",
"* Contract value\n",
"* Items\n",
"* Awarded suppliers\n",
"\n",
"The awarded suppliers were already verified in the indicator 3.1.2 and we know that there is a small amount of missing contract values from section 2.4.\n",
"\n",
"Let's calculate the remaining information, starting with contract dates:"
]
},
{
"metadata": {
"id": "0QrFQ1zURMPr",
"colab_type": "code",
"outputId": "8df4327e-0084-4f9d-fb77-03847bb69410",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 1969
}
},
"cell_type": "code",
"source": [
"querystring = base_querystring + \"\"\"\n",
" \n",
" SELECT\n",
" data -> 'compiledRelease' ->> 'ocid' AS ocid,\n",
" contracts ->> 'id' AS contractId,\n",
" contracts ->> 'dateSigned' AS dateSigned,\n",
" contracts -> 'period' AS period\n",
" FROM\n",
" records\n",
" CROSS JOIN\n",
" jsonb_array_elements(data -> 'compiledRelease' -> 'contracts') AS contracts\n",
" WHERE\n",
" data -> 'compiledRelease' -> 'contracts' IS NOT NULL\n",
" AND(\n",
" contracts -> 'dateSigned' IS NULL\n",
" OR\n",
" contracts ->> 'dateSigned' = ''\n",
" OR\n",
" contracts -> 'period' IS NULL\n",
" OR\n",
" contracts -> 'period' ->> 'startDate' IS NULL\n",
" OR\n",
" contracts -> 'period' ->> 'endDate' IS NULL\n",
" OR\n",
" contracts -> 'period' ->> 'startDate' = ''\n",
" OR\n",
" contracts -> 'period' ->> 'endDate' = ''\n",
" )\n",
" AND \n",
" contracts -> 'extendsContractID' IS NULL\n",
" AND\n",
" contracts ->> 'dncpContractCode' <> 'Pendiente de Emisión'\n",
"\"\"\"\n",
"\n",
"cur.execute(\"\"\"rollback\"\"\")\n",
"\n",
"cur.execute(querystring)\n",
"\n",
"dates_results = getResults(cur)\n",
"\n",
"dates_results"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>ocid</th>\n",
" <th>contractid</th>\n",
" <th>datesigned</th>\n",
" <th>period</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>ocds-03ad3f-292776</td>\n",
" <td>292776-brick-s-a-3</td>\n",
" <td>2016-06-27T12:00:00Z</td>\n",
" <td>{'endDate': None, 'startDate': None}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>ocds-03ad3f-301517</td>\n",
" <td>301517-chaco-i-industrial-comercial-sa-12</td>\n",
" <td>None</td>\n",
" <td>{'endDate': None, 'startDate': None}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>ocds-03ad3f-301517</td>\n",
" <td>301517-codex-s-r-l-20</td>\n",
" <td>None</td>\n",
" <td>{'endDate': None, 'startDate': None}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>ocds-03ad3f-302118</td>\n",
" <td>302118-distribuidora-ypacarai-sa-3</td>\n",
" <td>None</td>\n",
" <td>{'endDate': None, 'startDate': None}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>ocds-03ad3f-303072</td>\n",
" <td>303072-ingemant-sa-5</td>\n",
" <td>None</td>\n",
" <td>{'endDate': None, 'startDate': None}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>ocds-03ad3f-303072</td>\n",
" <td>303072-provindus-sa-3</td>\n",
" <td>None</td>\n",
" <td>{'endDate': None, 'startDate': None}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>ocds-03ad3f-303072</td>\n",
" <td>303072-waldemar-willms-lowen-4</td>\n",
" <td>None</td>\n",
" <td>{'endDate': None, 'startDate': None}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>ocds-03ad3f-303199</td>\n",
" <td>303199-provindus-sa-1</td>\n",
" <td>2016-10-17T12:00:00Z</td>\n",
" <td>{'endDate': None, 'startDate': None}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>ocds-03ad3f-303807</td>\n",
" <td>303807-gustavo-enrique-fatecha-ortiz-3</td>\n",
" <td>None</td>\n",
" <td>{'endDate': None, 'startDate': None}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>ocds-03ad3f-303807</td>\n",
" <td>303807-trovato-c-i-s-a-2</td>\n",
" <td>None</td>\n",
" <td>{'endDate': None, 'startDate': None}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>ocds-03ad3f-303899</td>\n",
" <td>303899-distribuidora-policlinica-s-a-3</td>\n",
" <td>None</td>\n",
" <td>{'endDate': None, 'startDate': None}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>ocds-03ad3f-304228</td>\n",
" <td>304228-sensicred-s-a-3</td>\n",
" <td>2016-09-06T12:00:00Z</td>\n",
" <td>{'endDate': None, 'startDate': None}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>ocds-03ad3f-305393</td>\n",
" <td>305393-santillana-s-a-1</td>\n",
" <td>None</td>\n",
" <td>{'endDate': None, 'startDate': None}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>ocds-03ad3f-305501</td>\n",
" <td>305501-emporio-ferreteria-s-r-l-5</td>\n",
" <td>2016-06-20T12:00:00Z</td>\n",
" <td>{'endDate': None, 'startDate': None}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>ocds-03ad3f-305501</td>\n",
" <td>305501-ever-marcial-chamorro-pena-4</td>\n",
" <td>2016-06-20T12:00:00Z</td>\n",
" <td>{'endDate': None, 'startDate': None}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>ocds-03ad3f-305594</td>\n",
" <td>305594-papelera-guaira-srl-12</td>\n",
" <td>2016-11-21T12:00:00Z</td>\n",
" <td>{'endDate': None, 'startDate': None}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>ocds-03ad3f-306043</td>\n",
" <td>306043-artes-graficas-zamphiropolos-sa-1</td>\n",
" <td>None</td>\n",
" <td>{'endDate': None, 'startDate': None}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>ocds-03ad3f-306178</td>\n",
" <td>306178-santiago-adolfo-vega-espinola-20</td>\n",
" <td>None</td>\n",
" <td>{'endDate': None, 'startDate': None}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>ocds-03ad3f-306927</td>\n",
" <td>306927-aseguradora-yacyreta-s-a-seguros-4</td>\n",
" <td>2018-04-17T12:00:00Z</td>\n",
" <td>{'endDate': None, 'startDate': None}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>ocds-03ad3f-307183</td>\n",
" <td>307183-m-f-industrial-comercial-representaciones-s-a-3</td>\n",
" <td>2016-12-13T12:00:00Z</td>\n",
" <td>{'endDate': None, 'startDate': None}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>ocds-03ad3f-307341</td>\n",
" <td>307341-excelsis-sa-comercial-ind-ganadera-excelsis-sacig-4</td>\n",
" <td>2016-12-13T12:00:00Z</td>\n",
" <td>{'endDate': None, 'startDate': None}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>ocds-03ad3f-307341</td>\n",
" <td>307341-mba-s-a-3</td>\n",
" <td>2016-12-13T12:00:00Z</td>\n",
" <td>{'endDate': None, 'startDate': None}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>ocds-03ad3f-307341</td>\n",
" <td>307341-one-s-a-5</td>\n",
" <td>2016-12-13T12:00:00Z</td>\n",
" <td>{'endDate': None, 'startDate': None}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>ocds-03ad3f-307357</td>\n",
" <td>307357-engineering-s-a-2</td>\n",
" <td>2016-10-27T12:00:00Z</td>\n",
" <td>{'endDate': None, 'startDate': None}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>ocds-03ad3f-307367</td>\n",
" <td>307367-comtel-sociedad-anonima-7</td>\n",
" <td>2016-12-23T12:00:00Z</td>\n",
" <td>{'endDate': None, 'startDate': None}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>ocds-03ad3f-307367</td>\n",
" <td>307367-diviserv-sa-6</td>\n",
" <td>2016-12-23T12:00:00Z</td>\n",
" <td>{'endDate': None, 'startDate': None}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>ocds-03ad3f-307367</td>\n",
" <td>307367-j-fleischman-cia-srl-4</td>\n",
" <td>2016-12-23T12:00:00Z</td>\n",
" <td>{'endDate': None, 'startDate': None}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td>ocds-03ad3f-307367</td>\n",
" <td>307367-logicalis-paraguay-s-a-5</td>\n",
" <td>2016-12-23T12:00:00Z</td>\n",
" <td>{'endDate': None, 'startDate': None}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28</th>\n",
" <td>ocds-03ad3f-307460</td>\n",
" <td>307460-editorial-azeta-s-a-5</td>\n",
" <td>None</td>\n",
" <td>{'endDate': None, 'startDate': None}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29</th>\n",
" <td>ocds-03ad3f-307460</td>\n",
" <td>307460-editorial-pais-sa-4</td>\n",
" <td>None</td>\n",
" <td>{'endDate': None, 'startDate': None}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4266</th>\n",
" <td>ocds-03ad3f-353304</td>\n",
" <td>353304-romeo-josef-ruoss-1</td>\n",
" <td>2018-11-07T12:00:00Z</td>\n",
" <td>{'endDate': None, 'startDate': None}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4267</th>\n",
" <td>ocds-03ad3f-353308</td>\n",
" <td>353308-g-3-transportes-s-a-1</td>\n",
" <td>2018-11-05T08:22:00Z</td>\n",
" <td>{'endDate': None, 'startDate': None}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4268</th>\n",
" <td>ocds-03ad3f-353310</td>\n",
" <td>353310-gilberto-flores-vera-1</td>\n",
" <td>2018-11-12T12:00:00Z</td>\n",
" <td>{'endDate': None, 'startDate': None}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4269</th>\n",
" <td>ocds-03ad3f-353315</td>\n",
" <td>353315-sonia-elizabeth-benitez-torales-1</td>\n",
" <td>2018-11-08T15:00:00Z</td>\n",
" <td>{'endDate': None, 'startDate': None}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4270</th>\n",
" <td>ocds-03ad3f-353318</td>\n",
" <td>353318-blas-sebastian-santacruz-arevalos-1</td>\n",
" <td>2018-11-06T15:00:00Z</td>\n",
" <td>{'endDate': None, 'startDate': None}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4271</th>\n",
" <td>ocds-03ad3f-353399</td>\n",
" <td>353399-agromecanica-martinez-s-a-1</td>\n",
" <td>2018-11-13T12:00:00Z</td>\n",
" <td>{'endDate': None, 'startDate': None}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4272</th>\n",
" <td>ocds-03ad3f-353448</td>\n",
" <td>353448-nestor-antonio-gonzalez-ortiz-1</td>\n",
" <td>2018-11-06T15:00:00Z</td>\n",
" <td>{'endDate': None, 'startDate': None}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4273</th>\n",
" <td>ocds-03ad3f-353452</td>\n",
" <td>353452-rigoberto-nery-riveros-caceres-1</td>\n",
" <td>2018-11-13T10:00:00Z</td>\n",
" <td>{'endDate': None, 'startDate': None}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4274</th>\n",
" <td>ocds-03ad3f-353509</td>\n",
" <td>353509-gilberto-flores-vera-1</td>\n",
" <td>2018-11-14T12:00:00Z</td>\n",
" <td>{'endDate': None, 'startDate': None}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4275</th>\n",
" <td>ocds-03ad3f-353528</td>\n",
" <td>353528-rolando-porfirio-amarilla-servian-1</td>\n",
" <td>2018-11-13T12:00:00Z</td>\n",
" <td>{'endDate': None, 'startDate': None}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4276</th>\n",
" <td>ocds-03ad3f-353530</td>\n",
" <td>353530-ignacio-javier-edwars-rojas-1</td>\n",
" <td>2018-11-12T12:00:00Z</td>\n",
" <td>{'endDate': None, 'startDate': None}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4277</th>\n",
" <td>ocds-03ad3f-353534</td>\n",
" <td>353534-ignacio-javier-edwars-rojas-1</td>\n",
" <td>2018-11-12T12:00:00Z</td>\n",
" <td>{'endDate': None, 'startDate': None}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4278</th>\n",
" <td>ocds-03ad3f-353884</td>\n",
" <td>353884-jaco-friderico-klassen-1</td>\n",
" <td>2018-11-13T09:00:00Z</td>\n",
" <td>{'endDate': None, 'startDate': None}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4279</th>\n",
" <td>ocds-03ad3f-300359</td>\n",
" <td>300359-sda-paraguay-sa-3</td>\n",
" <td>None</td>\n",
" <td>{'endDate': None, 'startDate': None}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4280</th>\n",
" <td>ocds-03ad3f-300551</td>\n",
" <td>300551-falcon-com-ind-s-r-l-13</td>\n",
" <td>2017-06-09T12:00:00Z</td>\n",
" <td>{'endDate': None, 'startDate': None}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4281</th>\n",
" <td>ocds-03ad3f-301256</td>\n",
" <td>301256-agr-sa-servicios-graficos-3</td>\n",
" <td>None</td>\n",
" <td>{'endDate': None, 'startDate': None}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4282</th>\n",
" <td>ocds-03ad3f-301256</td>\n",
" <td>301256-industrias-graficas-nobel-s-a-4</td>\n",
" <td>None</td>\n",
" <td>{'endDate': None, 'startDate': None}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4283</th>\n",
" <td>ocds-03ad3f-301256</td>\n",
" <td>301256-mercurio-s-a-5</td>\n",
" <td>None</td>\n",
" <td>{'endDate': None, 'startDate': None}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4284</th>\n",
" <td>ocds-03ad3f-302221</td>\n",
" <td>302221-panal-compania-seguros-generales-sa-propiedad-cooperativa-4</td>\n",
" <td>2017-09-15T12:00:00Z</td>\n",
" <td>{'endDate': None, 'startDate': None}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4285</th>\n",
" <td>ocds-03ad3f-302222</td>\n",
" <td>302222-v-v-s-a-1</td>\n",
" <td>None</td>\n",
" <td>{'endDate': None, 'startDate': None}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4286</th>\n",
" <td>ocds-03ad3f-302421</td>\n",
" <td>302421-pintupar-srl-3</td>\n",
" <td>2016-10-19T12:00:00Z</td>\n",
" <td>{'endDate': None, 'startDate': None}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4287</th>\n",
" <td>ocds-03ad3f-302421</td>\n",
" <td>302421-piro-y-s-a-2</td>\n",
" <td>None</td>\n",
" <td>{'endDate': None, 'startDate': None}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4288</th>\n",
" <td>ocds-03ad3f-302711</td>\n",
" <td>302711-emporio-ferreteria-s-r-l-6</td>\n",
" <td>None</td>\n",
" <td>{'endDate': None, 'startDate': None}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4289</th>\n",
" <td>ocds-03ad3f-302711</td>\n",
" <td>302711-ferreteria-industrial-srl-5</td>\n",
" <td>None</td>\n",
" <td>{'endDate': None, 'startDate': None}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4290</th>\n",
" <td>ocds-03ad3f-302711</td>\n",
" <td>302711-gabriel-tiburcio-sanchez-valdez-8</td>\n",
" <td>None</td>\n",
" <td>{'endDate': None, 'startDate': None}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4291</th>\n",
" <td>ocds-03ad3f-302711</td>\n",
" <td>302711-t-max-sa-7</td>\n",
" <td>None</td>\n",
" <td>{'endDate': None, 'startDate': None}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4292</th>\n",
" <td>ocds-03ad3f-302769</td>\n",
" <td>302769-electropar-sa-4</td>\n",
" <td>None</td>\n",
" <td>{'endDate': None, 'startDate': None}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4293</th>\n",
" <td>ocds-03ad3f-302769</td>\n",
" <td>302769-emporio-ferreteria-s-r-l-3</td>\n",
" <td>None</td>\n",
" <td>{'endDate': None, 'startDate': None}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4294</th>\n",
" <td>ocds-03ad3f-302769</td>\n",
" <td>302769-piro-y-s-a-5</td>\n",
" <td>None</td>\n",
" <td>{'endDate': None, 'startDate': None}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4295</th>\n",
" <td>ocds-03ad3f-294481</td>\n",
" <td>294481-aditivos-colorantes-s-r-l-1</td>\n",
" <td>None</td>\n",
" <td>{'endDate': None, 'startDate': None}</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>4296 rows × 4 columns</p>\n",
"</div>"
],
"text/plain": [
" ocid \\\n",
"0 ocds-03ad3f-292776 \n",
"1 ocds-03ad3f-301517 \n",
"2 ocds-03ad3f-301517 \n",
"3 ocds-03ad3f-302118 \n",
"4 ocds-03ad3f-303072 \n",
"5 ocds-03ad3f-303072 \n",
"6 ocds-03ad3f-303072 \n",
"7 ocds-03ad3f-303199 \n",
"8 ocds-03ad3f-303807 \n",
"9 ocds-03ad3f-303807 \n",
"10 ocds-03ad3f-303899 \n",
"11 ocds-03ad3f-304228 \n",
"12 ocds-03ad3f-305393 \n",
"13 ocds-03ad3f-305501 \n",
"14 ocds-03ad3f-305501 \n",
"15 ocds-03ad3f-305594 \n",
"16 ocds-03ad3f-306043 \n",
"17 ocds-03ad3f-306178 \n",
"18 ocds-03ad3f-306927 \n",
"19 ocds-03ad3f-307183 \n",
"20 ocds-03ad3f-307341 \n",
"21 ocds-03ad3f-307341 \n",
"22 ocds-03ad3f-307341 \n",
"23 ocds-03ad3f-307357 \n",
"24 ocds-03ad3f-307367 \n",
"25 ocds-03ad3f-307367 \n",
"26 ocds-03ad3f-307367 \n",
"27 ocds-03ad3f-307367 \n",
"28 ocds-03ad3f-307460 \n",
"29 ocds-03ad3f-307460 \n",
"... ... \n",
"4266 ocds-03ad3f-353304 \n",
"4267 ocds-03ad3f-353308 \n",
"4268 ocds-03ad3f-353310 \n",
"4269 ocds-03ad3f-353315 \n",
"4270 ocds-03ad3f-353318 \n",
"4271 ocds-03ad3f-353399 \n",
"4272 ocds-03ad3f-353448 \n",
"4273 ocds-03ad3f-353452 \n",
"4274 ocds-03ad3f-353509 \n",
"4275 ocds-03ad3f-353528 \n",
"4276 ocds-03ad3f-353530 \n",
"4277 ocds-03ad3f-353534 \n",
"4278 ocds-03ad3f-353884 \n",
"4279 ocds-03ad3f-300359 \n",
"4280 ocds-03ad3f-300551 \n",
"4281 ocds-03ad3f-301256 \n",
"4282 ocds-03ad3f-301256 \n",
"4283 ocds-03ad3f-301256 \n",
"4284 ocds-03ad3f-302221 \n",
"4285 ocds-03ad3f-302222 \n",
"4286 ocds-03ad3f-302421 \n",
"4287 ocds-03ad3f-302421 \n",
"4288 ocds-03ad3f-302711 \n",
"4289 ocds-03ad3f-302711 \n",
"4290 ocds-03ad3f-302711 \n",
"4291 ocds-03ad3f-302711 \n",
"4292 ocds-03ad3f-302769 \n",
"4293 ocds-03ad3f-302769 \n",
"4294 ocds-03ad3f-302769 \n",
"4295 ocds-03ad3f-294481 \n",
"\n",
" contractid \\\n",
"0 292776-brick-s-a-3 \n",
"1 301517-chaco-i-industrial-comercial-sa-12 \n",
"2 301517-codex-s-r-l-20 \n",
"3 302118-distribuidora-ypacarai-sa-3 \n",
"4 303072-ingemant-sa-5 \n",
"5 303072-provindus-sa-3 \n",
"6 303072-waldemar-willms-lowen-4 \n",
"7 303199-provindus-sa-1 \n",
"8 303807-gustavo-enrique-fatecha-ortiz-3 \n",
"9 303807-trovato-c-i-s-a-2 \n",
"10 303899-distribuidora-policlinica-s-a-3 \n",
"11 304228-sensicred-s-a-3 \n",
"12 305393-santillana-s-a-1 \n",
"13 305501-emporio-ferreteria-s-r-l-5 \n",
"14 305501-ever-marcial-chamorro-pena-4 \n",
"15 305594-papelera-guaira-srl-12 \n",
"16 306043-artes-graficas-zamphiropolos-sa-1 \n",
"17 306178-santiago-adolfo-vega-espinola-20 \n",
"18 306927-aseguradora-yacyreta-s-a-seguros-4 \n",
"19 307183-m-f-industrial-comercial-representaciones-s-a-3 \n",
"20 307341-excelsis-sa-comercial-ind-ganadera-excelsis-sacig-4 \n",
"21 307341-mba-s-a-3 \n",
"22 307341-one-s-a-5 \n",
"23 307357-engineering-s-a-2 \n",
"24 307367-comtel-sociedad-anonima-7 \n",
"25 307367-diviserv-sa-6 \n",
"26 307367-j-fleischman-cia-srl-4 \n",
"27 307367-logicalis-paraguay-s-a-5 \n",
"28 307460-editorial-azeta-s-a-5 \n",
"29 307460-editorial-pais-sa-4 \n",
"... ... \n",
"4266 353304-romeo-josef-ruoss-1 \n",
"4267 353308-g-3-transportes-s-a-1 \n",
"4268 353310-gilberto-flores-vera-1 \n",
"4269 353315-sonia-elizabeth-benitez-torales-1 \n",
"4270 353318-blas-sebastian-santacruz-arevalos-1 \n",
"4271 353399-agromecanica-martinez-s-a-1 \n",
"4272 353448-nestor-antonio-gonzalez-ortiz-1 \n",
"4273 353452-rigoberto-nery-riveros-caceres-1 \n",
"4274 353509-gilberto-flores-vera-1 \n",
"4275 353528-rolando-porfirio-amarilla-servian-1 \n",
"4276 353530-ignacio-javier-edwars-rojas-1 \n",
"4277 353534-ignacio-javier-edwars-rojas-1 \n",
"4278 353884-jaco-friderico-klassen-1 \n",
"4279 300359-sda-paraguay-sa-3 \n",
"4280 300551-falcon-com-ind-s-r-l-13 \n",
"4281 301256-agr-sa-servicios-graficos-3 \n",
"4282 301256-industrias-graficas-nobel-s-a-4 \n",
"4283 301256-mercurio-s-a-5 \n",
"4284 302221-panal-compania-seguros-generales-sa-propiedad-cooperativa-4 \n",
"4285 302222-v-v-s-a-1 \n",
"4286 302421-pintupar-srl-3 \n",
"4287 302421-piro-y-s-a-2 \n",
"4288 302711-emporio-ferreteria-s-r-l-6 \n",
"4289 302711-ferreteria-industrial-srl-5 \n",
"4290 302711-gabriel-tiburcio-sanchez-valdez-8 \n",
"4291 302711-t-max-sa-7 \n",
"4292 302769-electropar-sa-4 \n",
"4293 302769-emporio-ferreteria-s-r-l-3 \n",
"4294 302769-piro-y-s-a-5 \n",
"4295 294481-aditivos-colorantes-s-r-l-1 \n",
"\n",
" datesigned period \n",
"0 2016-06-27T12:00:00Z {'endDate': None, 'startDate': None} \n",
"1 None {'endDate': None, 'startDate': None} \n",
"2 None {'endDate': None, 'startDate': None} \n",
"3 None {'endDate': None, 'startDate': None} \n",
"4 None {'endDate': None, 'startDate': None} \n",
"5 None {'endDate': None, 'startDate': None} \n",
"6 None {'endDate': None, 'startDate': None} \n",
"7 2016-10-17T12:00:00Z {'endDate': None, 'startDate': None} \n",
"8 None {'endDate': None, 'startDate': None} \n",
"9 None {'endDate': None, 'startDate': None} \n",
"10 None {'endDate': None, 'startDate': None} \n",
"11 2016-09-06T12:00:00Z {'endDate': None, 'startDate': None} \n",
"12 None {'endDate': None, 'startDate': None} \n",
"13 2016-06-20T12:00:00Z {'endDate': None, 'startDate': None} \n",
"14 2016-06-20T12:00:00Z {'endDate': None, 'startDate': None} \n",
"15 2016-11-21T12:00:00Z {'endDate': None, 'startDate': None} \n",
"16 None {'endDate': None, 'startDate': None} \n",
"17 None {'endDate': None, 'startDate': None} \n",
"18 2018-04-17T12:00:00Z {'endDate': None, 'startDate': None} \n",
"19 2016-12-13T12:00:00Z {'endDate': None, 'startDate': None} \n",
"20 2016-12-13T12:00:00Z {'endDate': None, 'startDate': None} \n",
"21 2016-12-13T12:00:00Z {'endDate': None, 'startDate': None} \n",
"22 2016-12-13T12:00:00Z {'endDate': None, 'startDate': None} \n",
"23 2016-10-27T12:00:00Z {'endDate': None, 'startDate': None} \n",
"24 2016-12-23T12:00:00Z {'endDate': None, 'startDate': None} \n",
"25 2016-12-23T12:00:00Z {'endDate': None, 'startDate': None} \n",
"26 2016-12-23T12:00:00Z {'endDate': None, 'startDate': None} \n",
"27 2016-12-23T12:00:00Z {'endDate': None, 'startDate': None} \n",
"28 None {'endDate': None, 'startDate': None} \n",
"29 None {'endDate': None, 'startDate': None} \n",
"... ... ... \n",
"4266 2018-11-07T12:00:00Z {'endDate': None, 'startDate': None} \n",
"4267 2018-11-05T08:22:00Z {'endDate': None, 'startDate': None} \n",
"4268 2018-11-12T12:00:00Z {'endDate': None, 'startDate': None} \n",
"4269 2018-11-08T15:00:00Z {'endDate': None, 'startDate': None} \n",
"4270 2018-11-06T15:00:00Z {'endDate': None, 'startDate': None} \n",
"4271 2018-11-13T12:00:00Z {'endDate': None, 'startDate': None} \n",
"4272 2018-11-06T15:00:00Z {'endDate': None, 'startDate': None} \n",
"4273 2018-11-13T10:00:00Z {'endDate': None, 'startDate': None} \n",
"4274 2018-11-14T12:00:00Z {'endDate': None, 'startDate': None} \n",
"4275 2018-11-13T12:00:00Z {'endDate': None, 'startDate': None} \n",
"4276 2018-11-12T12:00:00Z {'endDate': None, 'startDate': None} \n",
"4277 2018-11-12T12:00:00Z {'endDate': None, 'startDate': None} \n",
"4278 2018-11-13T09:00:00Z {'endDate': None, 'startDate': None} \n",
"4279 None {'endDate': None, 'startDate': None} \n",
"4280 2017-06-09T12:00:00Z {'endDate': None, 'startDate': None} \n",
"4281 None {'endDate': None, 'startDate': None} \n",
"4282 None {'endDate': None, 'startDate': None} \n",
"4283 None {'endDate': None, 'startDate': None} \n",
"4284 2017-09-15T12:00:00Z {'endDate': None, 'startDate': None} \n",
"4285 None {'endDate': None, 'startDate': None} \n",
"4286 2016-10-19T12:00:00Z {'endDate': None, 'startDate': None} \n",
"4287 None {'endDate': None, 'startDate': None} \n",
"4288 None {'endDate': None, 'startDate': None} \n",
"4289 None {'endDate': None, 'startDate': None} \n",
"4290 None {'endDate': None, 'startDate': None} \n",
"4291 None {'endDate': None, 'startDate': None} \n",
"4292 None {'endDate': None, 'startDate': None} \n",
"4293 None {'endDate': None, 'startDate': None} \n",
"4294 None {'endDate': None, 'startDate': None} \n",
"4295 None {'endDate': None, 'startDate': None} \n",
"\n",
"[4296 rows x 4 columns]"
]
},
"metadata": {
"tags": []
},
"execution_count": 96
}
]
},
{
"metadata": {
"id": "TTLyjULcadg1",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"In total, 4,296 out of 37,272 contracts are incomplete because they do not provide date information (~11%).\n",
"\n",
"We already know that there are contracts with missing values, but let's run the query again to have the `ocid`s of the releases involved:"
]
},
{
"metadata": {
"id": "wcyfItMcda_U",
"colab_type": "code",
"outputId": "117b3eae-2617-4e48-dbda-3748feb5a58b",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 793
}
},
"cell_type": "code",
"source": [
"querystring = base_querystring + \"\"\"\n",
" \n",
" SELECT\n",
" data -> 'compiledRelease' ->> 'ocid' AS ocid,\n",
" contracts ->> 'id' AS contractId,\n",
" contracts -> 'value' AS value\n",
" FROM\n",
" records\n",
" CROSS JOIN\n",
" jsonb_array_elements(data -> 'compiledRelease' -> 'contracts') AS contracts\n",
" WHERE\n",
" data -> 'compiledRelease' -> 'contracts' IS NOT NULL\n",
" AND(\n",
" contracts -> 'value' IS NULL\n",
" OR\n",
" contracts -> 'value' ->> 'currency' IS NULL\n",
" OR\n",
" contracts -> 'value' ->> 'amount' IS NULL\n",
" OR\n",
" contracts -> 'value' ->> 'currency' = ''\n",
" OR\n",
" contracts -> 'value' ->> 'amount' = ''\n",
" OR\n",
" (contracts -> 'value' ->> 'amount')::decimal = 0.0\n",
" )\n",
" AND\n",
" contracts -> 'extendsContractID' IS NULL\n",
" AND \n",
" contracts ->> 'dncpContractCode' <> 'Pendiente de Emisión'\n",
"\"\"\"\n",
"\n",
"cur.execute(\"\"\"rollback\"\"\")\n",
"\n",
"cur.execute(querystring)\n",
"\n",
"values_results = getResults(cur)\n",
"\n",
"values_results"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>ocid</th>\n",
" <th>contractid</th>\n",
" <th>value</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>ocds-03ad3f-304994</td>\n",
" <td>304994-shirosawa-company-saic-13</td>\n",
" <td>{'amount': 0.0, 'currency': 'PYG'}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>ocds-03ad3f-311107</td>\n",
" <td>311107-office-compu-sa-7</td>\n",
" <td>{'amount': 0.0, 'currency': 'PYG'}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>ocds-03ad3f-317133</td>\n",
" <td>317133-nelson-federico-segovia-azucas-1</td>\n",
" <td>{'amount': 0.0, 'currency': 'PYG'}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>ocds-03ad3f-321331</td>\n",
" <td>321331-ingenieria-tecnica-especializada-sa-1</td>\n",
" <td>{'amount': 0.0, 'currency': 'PYG'}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>ocds-03ad3f-321471</td>\n",
" <td>321471-multimerc-s-r-l-8</td>\n",
" <td>{'amount': 0.0, 'currency': 'PYG'}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>ocds-03ad3f-322570</td>\n",
" <td>322570-aqua-group-s-a-1</td>\n",
" <td>{'amount': 0.0, 'currency': 'PYG'}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>ocds-03ad3f-324848</td>\n",
" <td>324848-disal-paraguay-srl-1</td>\n",
" <td>{'amount': 0.0, 'currency': 'PYG'}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>ocds-03ad3f-325806</td>\n",
" <td>325806-christian-andres-santacruz-gomez-3</td>\n",
" <td>{'amount': 0.0, 'currency': 'PYG'}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>ocds-03ad3f-326625</td>\n",
" <td>326625-comvence-s-a-10</td>\n",
" <td>{'amount': 0.0, 'currency': 'PYG'}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>ocds-03ad3f-329893</td>\n",
" <td>329893-nancy-carolina-caballero-gimenez-3</td>\n",
" <td>{'amount': 0.0, 'currency': 'PYG'}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>ocds-03ad3f-334071</td>\n",
" <td>334071-nelson-federico-segovia-azucas-1</td>\n",
" <td>{'amount': 0.0, 'currency': 'PYG'}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>ocds-03ad3f-334720</td>\n",
" <td>334720-asfalto-tecnologico-s-a-2</td>\n",
" <td>{'amount': 0.0, 'currency': 'PYG'}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>ocds-03ad3f-335186</td>\n",
" <td>335186-data-systems-sa-emisora-capital-abierto-5</td>\n",
" <td>{'amount': 0.0, 'currency': 'PYG'}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>ocds-03ad3f-336221</td>\n",
" <td>336221-everest-ingenieria-s-r-l-2</td>\n",
" <td>{'amount': 0.0, 'currency': 'PYG'}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>ocds-03ad3f-337702</td>\n",
" <td>337702-real-providencia-s-a-1</td>\n",
" <td>{'amount': 0.0, 'currency': 'PYG'}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>ocds-03ad3f-338183</td>\n",
" <td>338183-tecnoedil-s-a-constructora-4</td>\n",
" <td>{'amount': 0.0, 'currency': 'PYG'}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>ocds-03ad3f-337595</td>\n",
" <td>337595-la-comercial-asuncena-s-r-l-21</td>\n",
" <td>{'amount': 0.0, 'currency': 'PYG'}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>ocds-03ad3f-337602</td>\n",
" <td>337602-sara-cristina-acosta-perez-26</td>\n",
" <td>{'amount': 0.0, 'currency': 'PYG'}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>ocds-03ad3f-339351</td>\n",
" <td>339351-mundo-neumaticos-s-a-1</td>\n",
" <td>{'amount': 0.0, 'currency': 'PYG'}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>ocds-03ad3f-340991</td>\n",
" <td>340991-mundo-neumaticos-s-a-1</td>\n",
" <td>{'amount': 0.0, 'currency': 'PYG'}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>ocds-03ad3f-342903</td>\n",
" <td>342903-hugo-felix-benitez-peralta-10</td>\n",
" <td>{'amount': 0.0, 'currency': 'PYG'}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>ocds-03ad3f-343454</td>\n",
" <td>343454-casa-sao-paulo-s-a-4</td>\n",
" <td>{'amount': 0.0, 'currency': 'PYG'}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>ocds-03ad3f-344315</td>\n",
" <td>344315-alternativa-s-a-10</td>\n",
" <td>{'amount': 0.0, 'currency': 'PYG'}</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>ocds-03ad3f-344451</td>\n",
" <td>344451-jorge-rafael-cuevas-ozuna-1</td>\n",
" <td>{'amount': 0.0, 'currency': 'PYG'}</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" ocid contractid \\\n",
"0 ocds-03ad3f-304994 304994-shirosawa-company-saic-13 \n",
"1 ocds-03ad3f-311107 311107-office-compu-sa-7 \n",
"2 ocds-03ad3f-317133 317133-nelson-federico-segovia-azucas-1 \n",
"3 ocds-03ad3f-321331 321331-ingenieria-tecnica-especializada-sa-1 \n",
"4 ocds-03ad3f-321471 321471-multimerc-s-r-l-8 \n",
"5 ocds-03ad3f-322570 322570-aqua-group-s-a-1 \n",
"6 ocds-03ad3f-324848 324848-disal-paraguay-srl-1 \n",
"7 ocds-03ad3f-325806 325806-christian-andres-santacruz-gomez-3 \n",
"8 ocds-03ad3f-326625 326625-comvence-s-a-10 \n",
"9 ocds-03ad3f-329893 329893-nancy-carolina-caballero-gimenez-3 \n",
"10 ocds-03ad3f-334071 334071-nelson-federico-segovia-azucas-1 \n",
"11 ocds-03ad3f-334720 334720-asfalto-tecnologico-s-a-2 \n",
"12 ocds-03ad3f-335186 335186-data-systems-sa-emisora-capital-abierto-5 \n",
"13 ocds-03ad3f-336221 336221-everest-ingenieria-s-r-l-2 \n",
"14 ocds-03ad3f-337702 337702-real-providencia-s-a-1 \n",
"15 ocds-03ad3f-338183 338183-tecnoedil-s-a-constructora-4 \n",
"16 ocds-03ad3f-337595 337595-la-comercial-asuncena-s-r-l-21 \n",
"17 ocds-03ad3f-337602 337602-sara-cristina-acosta-perez-26 \n",
"18 ocds-03ad3f-339351 339351-mundo-neumaticos-s-a-1 \n",
"19 ocds-03ad3f-340991 340991-mundo-neumaticos-s-a-1 \n",
"20 ocds-03ad3f-342903 342903-hugo-felix-benitez-peralta-10 \n",
"21 ocds-03ad3f-343454 343454-casa-sao-paulo-s-a-4 \n",
"22 ocds-03ad3f-344315 344315-alternativa-s-a-10 \n",
"23 ocds-03ad3f-344451 344451-jorge-rafael-cuevas-ozuna-1 \n",
"\n",
" value \n",
"0 {'amount': 0.0, 'currency': 'PYG'} \n",
"1 {'amount': 0.0, 'currency': 'PYG'} \n",
"2 {'amount': 0.0, 'currency': 'PYG'} \n",
"3 {'amount': 0.0, 'currency': 'PYG'} \n",
"4 {'amount': 0.0, 'currency': 'PYG'} \n",
"5 {'amount': 0.0, 'currency': 'PYG'} \n",
"6 {'amount': 0.0, 'currency': 'PYG'} \n",
"7 {'amount': 0.0, 'currency': 'PYG'} \n",
"8 {'amount': 0.0, 'currency': 'PYG'} \n",
"9 {'amount': 0.0, 'currency': 'PYG'} \n",
"10 {'amount': 0.0, 'currency': 'PYG'} \n",
"11 {'amount': 0.0, 'currency': 'PYG'} \n",
"12 {'amount': 0.0, 'currency': 'PYG'} \n",
"13 {'amount': 0.0, 'currency': 'PYG'} \n",
"14 {'amount': 0.0, 'currency': 'PYG'} \n",
"15 {'amount': 0.0, 'currency': 'PYG'} \n",
"16 {'amount': 0.0, 'currency': 'PYG'} \n",
"17 {'amount': 0.0, 'currency': 'PYG'} \n",
"18 {'amount': 0.0, 'currency': 'PYG'} \n",
"19 {'amount': 0.0, 'currency': 'PYG'} \n",
"20 {'amount': 0.0, 'currency': 'PYG'} \n",
"21 {'amount': 0.0, 'currency': 'PYG'} \n",
"22 {'amount': 0.0, 'currency': 'PYG'} \n",
"23 {'amount': 0.0, 'currency': 'PYG'} "
]
},
"metadata": {
"tags": []
},
"execution_count": 97
}
]
},
{
"metadata": {
"id": "j2QVSTHRKe3z",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"23 contracts out of 37,272 (**~0,06%**) have missing value information.\n",
"\n",
"Last, let's check the items of the contract. In Paraguay dataset, the items are included in the `contracts` section only, because multiple contracts can be related to a single award. "
]
},
{
"metadata": {
"id": "1PKGmMDRMaTA",
"colab_type": "code",
"outputId": "1c9858f2-2176-447f-d690-288f6066952c",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 328
}
},
"cell_type": "code",
"source": [
"querystring = base_querystring + \"\"\"\n",
" \n",
" SELECT DISTINCT\n",
" data -> 'compiledRelease' ->> 'ocid' AS ocid,\n",
" contracts ->> 'id' AS contractId\n",
" FROM\n",
" records\n",
" CROSS JOIN\n",
" jsonb_array_elements(data -> 'compiledRelease' -> 'awards') AS awards\n",
" JOIN\n",
" jsonb_array_elements(data -> 'compiledRelease' -> 'contracts') AS contracts\n",
" ON\n",
" contracts ->> 'awardID' = awards ->> 'id'\n",
" AND \n",
" contracts -> 'extendsContractID' is null\n",
" AND \n",
" contracts ->> 'dncpContractCode' <> 'Pendiente de Emisión'\n",
" WHERE\n",
" contracts -> 'items' IS NULL\n",
" OR\n",
" jsonb_array_length(contracts -> 'items') < 1\n",
"\"\"\"\n",
"\n",
"cur.execute(\"\"\"rollback\"\"\")\n",
"\n",
"cur.execute(querystring)\n",
"\n",
"items_results = getResults(cur)\n",
"\n",
"items_results"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>ocid</th>\n",
" <th>contractid</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>ocds-03ad3f-338439</td>\n",
" <td>338439-dental-sudamericana-s-r-l-8</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>ocds-03ad3f-326625</td>\n",
" <td>326625-comvence-s-a-10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>ocds-03ad3f-337595</td>\n",
" <td>337595-la-comercial-asuncena-s-r-l-21</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>ocds-03ad3f-322108</td>\n",
" <td>322108-nelson-francisco-vera-quintana-16</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>ocds-03ad3f-329503</td>\n",
" <td>329503-master-soft-srl-6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>ocds-03ad3f-304994</td>\n",
" <td>304994-shirosawa-company-saic-13</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>ocds-03ad3f-300124</td>\n",
" <td>300124-neri-javier-caballero-paez-9</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>ocds-03ad3f-337602</td>\n",
" <td>337602-sara-cristina-acosta-perez-26</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>ocds-03ad3f-321182</td>\n",
" <td>321182-industrias-graficas-nobel-s-a-56</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" ocid contractid\n",
"0 ocds-03ad3f-338439 338439-dental-sudamericana-s-r-l-8 \n",
"1 ocds-03ad3f-326625 326625-comvence-s-a-10 \n",
"2 ocds-03ad3f-337595 337595-la-comercial-asuncena-s-r-l-21 \n",
"3 ocds-03ad3f-322108 322108-nelson-francisco-vera-quintana-16\n",
"4 ocds-03ad3f-329503 329503-master-soft-srl-6 \n",
"5 ocds-03ad3f-304994 304994-shirosawa-company-saic-13 \n",
"6 ocds-03ad3f-300124 300124-neri-javier-caballero-paez-9 \n",
"7 ocds-03ad3f-337602 337602-sara-cristina-acosta-perez-26 \n",
"8 ocds-03ad3f-321182 321182-industrias-graficas-nobel-s-a-56 "
]
},
"metadata": {
"tags": []
},
"execution_count": 98
}
]
},
{
"metadata": {
"id": "aLJzzaZwNnZ9",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"We have 8 contracts out of 37,272 (**~0.02%**) that have missing information."
]
},
{
"metadata": {
"id": "wfHzD-l-MRig",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"## Summary"
]
},
{
"metadata": {
"id": "ZS034e2WrVwK",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"The table below contains the calculated results for all the MAPS quantitative indicators.\n",
"\n",
"| # | Item | Result |\n",
"| -- | -- | --|\n",
"| 1 | Key Procurement Information published along the procurement cycle (in % of total number of contracts) | - |\n",
"| 1.1 | Invitation to bid (in % of total number of contracts) | 72.1%. |\n",
"| 1.2 |Contract awards: | - |\n",
"| | Purpose | 100% |\n",
"| | Supplier | 100% | \n",
"| | Value | 100% | \n",
"| | Variations/amendments | Included (see section 1.2) |\n",
"| 1.3 | Details related to contract implementation | - | \n",
"| | Milestones | 0% |\n",
"| | Completion | 0% | \n",
"| | Payment | 0% |\n",
"| 2 | Annual procurement statistics | See section 3.2 |\n",
"| 3 | Uptake of e-Procurement | - |\n",
"| 3.1 |Number of e-Procurement procedures in % of total number of procedures | 5.7% |\n",
"| 3.2 | Value of e-Procurement procedures in % of total value of procedures | 39% |\n",
"| 4 | Total Number of Contracts | 37,272 |\n",
"| 5 |Total Value of Contracts | 3,780710118×10¹³ PYG. |\n",
"| 6 | Public procurement: | - | \n",
"| | As a share of government expenditure | 23% | \n",
"| | As share of GDP | 8% |\n",
"| 7 |Total value of contracts awarded through competitive methods in the most recent fiscal year | 2,794,937,146,406 PYG. |\n",
"| 8 | Share of contracts with complete ~~and accurate~~ records and databases (in %) | ~89%|\n",
"\n",
"As we have seen in here, MAPS quantitative indicators can be calculated by using OCDS data. But there are some things open to interpretation, like the value of procurement procedures: we used contracting values, but tendering and award values might be used as well if we want to include as many procurement procedures as possible. Having knowledge of how OCDS fields are filled would be an advantage.\n",
"\n",
"Completeness of the OCDS fields is important as well. Here we missed the opportunity to calculate parts of indicators because there is no contract implementation information available.\n",
"\n",
"As an ending note, we can point that the queries made here were simpler than they should be because Paraguay implements the record publication with the compiledRelease field. In the case of having releases, a good option would be to calculate the final state of each procurement process and save it in an additional table."
]
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment