Using AI to predict tenders suitable for micro, small and medium-sized enterprises in Paraguay
The problem
In short: Small businesses are missing out on tendering opportunities
Less than 9% of the money spent on public contracting in Paraguay is awarded to micro, small, and medium enterprises (MSMEs), despite these businesses representing about 95% of commerce in the country. Fewer than 300 MSMEs participate in a procurement market worth almost US$3 billion annually.
Many entrepreneurs face barriers such as unclear requirements for permits, licenses, and financial sustainability criteria that disproportionately affect smaller firms. Without a way to identify suitable opportunities, MSMEs miss out on contracts they could realistically win.
The project to increase participation of MSMEs in the procurement market was developed with the support of OCP’s Lift accelerator program, by a team of representatives from Paraguay’s government, civil society, and the private sector.
Why AI
In short: Because we have too much data but not enough time!
Paraguay’s procurement agency, the Dirección Nacional de Contrataciones Públicas (DNCP) publishes hundreds of thousands of procurement records through the Sistema de Información de Contrataciones Públicas (SICP). Manually reviewing each tender to determine its suitability for MSMEs would be impractical given the volume of data.
Previous expert analysis had identified some rules (such as specific procurement categories and modalities that historically favor MSMEs), but these rules alone could not capture the full complexity of the patterns in the data. Machine learning can learn from historical award outcomes to predict which new tenders are most likely to be won by smaller businesses, enabling automatic tagging at scale.
The solution
In short: Classify whether a tender is suitable for MSMEs using a Gradient Boosting Classifier trained on historical procurement data
The solution is machine learning models trained on historical procurement data from DNCP. Using the dataset of over 200,000 procurement award records (2010–2022) from the SICP, two AI models were trained: a Gradient Boosting Classifier to predict the probability of a tender being awarded to an MSME, and a k-Means clustering model to provide contextual information about similar tenders groups. The results are exposed through an API that the DNCP integrates into its public procurement portal, automatically flagging tenders as “suitable for MSMEs” and including contextual information for interpretation.
These flagged tenders are then displayed on a dedicated microsite where small businesses can easily find opportunities.
The results
In short: The model classifies most tenders correctly and small business participation is rising
The classification model achieved precision and recall values above 70% for both MSME and large-company classifications, with an overall accuracy of approximately 72%. The model confirmed that the most important variables for classification are the procuring entity (35.6%), the procurement category (33.5%), the UNSCP goods/services catalog level 1 (14.5%), the procurement method (8.4%), and the government level of the buyer (5.2%). Importantly, the model autonomously learned classification rules consistent with the expert-defined rules from prior consultancy work.
Since deployment, the impact has been measurable. By Q4 2023, 43% of tenders were tagged with the “suitable for SME” label, and 26% of those procedures were awarded to an MSME. Between Q1 2021 and Q4 2024, the share of bids by MSMEs rose from 10% to 17%, the share of unique MSME bidders rose from 7.7% to 17.4%, and the share of contracts awarded to MSMEs rose from 7.6% to 16.1%.
The detailed technical approach
This section describes the detailed technical approach we used for developing the solution. As per our previous blog: A gentle introduction to applying AI in procurement, we will describe the task, select the method, narrow the task, understand the input, and select the model
- Describing the task
The task is a supervised binary classification problem: given the characteristics of a procurement process, predict whether it is more likely to be awarded to an MSME or to a large company. The target variable is the supplier category (MIPYME (MSME) or GRANDE (LARGE)). The supplier category is derived from multiple data sources, including the Ministry of Industry and Commerce (MIC), the current DNCP suppliers registry, and historical DNCP records, using a priority-based resolution rule.
- Selecting the method
For the classification task, the most appropriate method was a Gradient Boosting Classifier, which trains a sequence of decision trees, with each successive tree correcting the errors of the previous one via gradient descent. This ensemble approach produces a robust classifier that outputs a probability of MSME award for each tender. The implementation used H2O’s Gradient Boosting within the KNIME analytics platform.
A complementary k-Means clustering model was also trained to group historical tenders by similarity, analyzing these groups by the binary attribute MSME and Large. The clustering provides contextual information (such as typical tender reference amounts, procurement category, and consultation periods) that helps interpret the classification results. The optimal number of clusters was determined using the Elbow method.
- Narrowing the task
The problem was narrowed by simplifying the supplier categories into two classes: MIPYME (micro, small, and medium) and GRANDE (large). Then, three expert rules from a prior consultancy were incorporated as a baseline: (1) Three procurement categories (office supplies, cleaning services and computer, education and printing equipment) historically have the most MSME awards; (2) the “Contratación Directa” procurement method favors MSMEs; and (3) National Public Tenders (LPN) with amounts below 6 billion guaraníes align with the MSME revenue threshold. The machine learning model was expected to learn these patterns autonomously and potentially discover additional ones.
- Understanding the input
The input data came from the SICP database, covering procurement awards from 2010 to 2022 (over 200,000 data points). The feature set included structured variables such as: the procuring entity and its government level, the procurement category, procurement method, and award type (by item, lot, or total), the reference amount, various dates (publication, tender deadline, inquiries deadline, award publication, contract dates), flags for multi-year contracts, reverse auctions, and ad referendum status, guarantee types, and Level 1 codes from the UNSPSC goods and services catalog.
Text fields like site visit requirements and financial capacity clauses were converted to boolean indicators. Data transformations included converting text fields to categorical variables, calculating time periods from dates, filtering null records, and unifying supplier categories using the MIC/DNCP priority rule.
- Selecting the model
The ultimate solution uses the H2O Gradient Boosting Classifier implemented through KNIME with the H2O Machine Learning plugin. Cross-validation was used for training/validation splits. The classification threshold was set at the second quartile (Q2, the median) of the predicted MSME probability distribution, meaning tenders with a predicted MSME probability above the median are classified as MIPYME.
Clustering Model: Using the received data, the H2O k-Means technique was trained to cluster the data according to similarity. Similarity was measured using an information entropy score for the study variable, supplier category, which takes the values MIPYME or GRANDE. That is, the greater the bias of a group towards one of the possible class values (MIPYME or GRANDE), the higher the entropy score, indicating greater desirability.
To find the optimal number of clusters, the Elbow method was used to find the minimum number of clusters at which an acceptable overall clustering score is reached. As the number of clusters increases, the growth of this score becomes significantly lower and no longer proportional to the increase in the number of clusters. The model returns:
- A cluster for classifying the contracting process, where the MSME or LARGE category can be identified.
- The centroid value of the cluster for classifying the contracting process indicates all the average values of the data variables for the subpopulation belonging to that cluster. This can be interpreted as contextual information that will help to provide an understanding of the data group where the process is classified.
The trained models are exported in Predictive Model Markup Language (PMML) format, an XML-based standard for machine learning model interchange. A Python API loads these PMML files and connects to the SICP database to run predictions on demand. The API receives a procurement process identifier, queries the database for its features, runs both the classification and clustering models, and returns the prediction (MIPYME/GRANDE), probability scores, and contextual cluster information.
Example result from the API:
[
{
"predict":"MIPYME",
"MIPYME":0.8090751685,
"GRANDE":0.1909248315,
"modalidad":"Concurso de Ofertas",
"categoria":"Consultorías, Asesorías e Investigaciones. Estudios y Proyectos de inversión",
"categoria_proveedor":"GRANDE",
"plurianual":"SI",
"forma_adjudicacion":"Por Total",
"monto_referencial":394307617.9728031158,
"garantia":"Póliza",
"nivel_1":"80000000",
"periodo_consulta":8.0794979079,
"periodo_llamado":17.3138075314,
"Cluster":"cluster_266"
}
]
Ready to try it out?
This project demonstrates how open contracting data and AI techniques can be combined to make public procurement more inclusive for smaller businesses. The approach is replicable: any procurement system with structured historical data on awards and supplier classification can benefit from a similar classification model.
Whether the goal is to increase SME participation, flag opportunities for disadvantaged groups, or improve procurement targeting more broadly, if you are interested in applying these techniques in your context, reach out to us.