AI for Public Procurement: Collusion and Risk Detection

Every year, the budget loses up to 25% of funds due to [cartel collusion](https://ru.wikipedia.org/wiki/Картельный_сговор) and inflated starting prices in tenders. Manual audit of procurement under 44-FZ and 223-FZ cannot handle the volume: only the EIS publishes over 4 million contracts annually. A

AI Development Areas

Frequently Asked Questions

העבודות האחרונות

  • image_website-b2b-advance_0.webp
    B2B ADVANCE company website development
    1441
  • image_web-applications_feedme_466_0.webp
    Development of a web application for FEEDME
    1301
  • image_websites_belfingroup_462_0.webp
    Website development for BELFINGROUP
    998
  • image_ecommerce_furnoro_435_0.webp
    Development of an online store for the company FURNORO
    1267
  • image_logo-advance_0.webp
    B2B Advance company logo design
    713
  • image_crm_enviok_479_0.webp
    Development of a web application for Enviok
    1003

Every year, the budget loses up to 25% of funds due to cartel collusion and inflated starting prices in tenders. Manual audit of procurement under 44-FZ and 223-FZ cannot handle the volume: only the EIS publishes over 4 million contracts annually. According to the Accounts Chamber, up to 25% of budget funds are lost due to procurement violations. We developed an ML system that automatically analyzes all stages of procurement—from notice publication to contract execution—and identifies signs of violations that are inaccessible during superficial checks. Our team has experience in AI for the public sector and dozens of implementations in control authorities. In one project, we analyzed 5,000 auctions per quarter and identified 120 confirmed collusion cases, saving the budget $1.6M–2.3M. The ML system processes data 1,800 times faster than manual audit: one auction per second instead of an hour.

How the AI system for public procurement works

The process consists of three stages: data collection and enrichment, calculation of collusion and affiliation features, and generation of a risk report. Let's look at each in depth. The system continuously monitors all procurement stages, from notice publication to contract execution, and automatically generates a risk report.

Data and sources

The system connects to four key registers:

Source Data Use
EIS API (zakupki.gov.ru) Notices, contracts, suppliers, OKPD2 Main stream ~4 million records/year
USRLE (Federal Tax Service) Legal entities, founders, addresses Identifying affiliation
Rosstat Financial statements Checking supplier's real capabilities
Arbitration cases card index Court disputes History of dishonesty
data_sources = { 'eis_zakupki_gov_ru': { 'api': 'Открытые данные ЕИС API (44-ФЗ, 223-ФЗ)', 'entities': ['ContractNotice', 'ContractAward', 'Supplier', 'OKPD2'], 'volume': '~4 млн закупок в год' }, 'egrul_fns': { 'source': 'ЕГРЮЛ ФНС — данные о юрлицах', 'use': 'связи между поставщиками, аффилированность, учредители' }, 'rosstat': { 'source': 'финансовая отчётность компаний', 'use': 'реальные возможности поставщика vs. объём контракта' }, 'sudrf_ru': { 'source': 'арбитражные дела', 'use': 'история судебных споров поставщиков' } } 

Why ML is needed for cartel collusion detection

Classic signs—cover quotes, suppression of competition, bid rotation, and market sharing—are impractical to analyze manually across hundreds of auctions. ML calculates a collusion score in milliseconds, covering the entire procurement stream rather than selective checks. For example, on real data we discovered a scheme where three companies won 87% of auctions in one region over two years, swapping roles as winner and subcontractor—impossible to detect manually.

def detect_collusion_in_auction(auction_bids, auction_id): # ... (код без изменений) 

Compare approaches:

Criteria Manual audit AI system
Time per auction 30–60 minutes < 1 second
Check volume 10–20 procurements per day Entire EIS stream
Affiliation detection Random Guaranteed via graph of connections

How graph analysis reveals affiliation

Affiliated suppliers are the main threat to formal competition. We build a graph from USRLE: common founders, mass registration addresses, phone numbers. If two participants share a founder, they are not competitors. Graph approach uncovers hidden connections invisible in manual checks and automatically blocks such auctions. In one case, the system identified 23 companies registered at the same address and headed by one individual, participating in 340 auctions with formal competition.

def build_supplier_affiliation_graph(suppliers, egrul_data): # ... (код без изменений) 

What to do about inflated NMCP?

We compare the starting price with the median price of similar contracts (same OKPD2, region, volume). Deviation over 3 sigma is a sign of inflation. In a real case, we reduced NMCP by 15% across 200 contracts, saving the budget $1.1M–1.6M in a quarter. For accurate comparison, we use pgvector for semantic search of similar procurements.

def detect_inflated_nmck(procurement, similar_procurements): # ... (код без изменений) 

How we do it: stack and process

  • Stack: Python, PyTorch, Hugging Face Transformers for NLP processing of notices; LangChain for RAG agent on regulations; PostgreSQL with pgvector for similarity search.
  • MLOps: MLflow for experiment tracking, ONNX Runtime for inference on CPU/GPU.
  • Process: Analytics → architecture design → model training → EIS API integration → load testing → deployment in customer environment → user training.

Timeline roughly: basic module (collusion + NMCP) from 5 weeks, full functionality from 3 months. Exact scope is assessed after an audit of your data and processes. Contact us for a pilot module demonstration.

What's included in the work

  1. Analytics: audit of current procurement data, source configuration, feature selection.
  2. ML models: collusion detection, affiliation, price inflation, contract monitoring.
  3. Integration: REST API, XML/JSON export, update schedule configuration.
  4. Documentation: technical docs, operator manual, report template.
  5. Training: webinar for customer staff, 2 days of initial support.
  6. Sub-license: right to use the software for contract duration, model updates for 6 months.

Get a consultation on your procurements—we will prepare an offer tailored to your data. We guarantee results: precision >0.85 on validation data, certificate of compliance with Federal Law 44, and post-implementation support.