desktop

Prozorro.sale 

Prozorro.sale is a system of online auctions for the sale and lease of property.

The Customer

Prozorro sale is the official portal and Sale of state and communal property belonging to liquidated banks, non-performing loans (NPLs), and lease rights.
The open URL is available: https://info.prozorro.sale/en.

 

It’s a Deposit Guarantee Fund (DGF) system that organizes the sale of property (assets), belonging to insolvent or liquidated banks, and the sale of non-performing loans. Such assets include collateralized property (like household appliances, cars, buildings, land lots) and loans (individuals’ receivables set and legal entities).

 

According to the Ukrainian laws such assets are sold through electronic exchanges based on rules similar to those of the EU or the US. In order to ensure transparent, effective and fair sale procedures DGF decided to apply the same software that is already proud to be effective in the prozorro system.

Read more

Tasks

Rapid development of “bidding procedures”,  easiness  of creating new procedures and configuring their timeline

01

Generation of protocols (contracts) based on data from procedures, auctions and billing service

02

Creating a billing service responsible for calculating payments based on trading results

03

Development of the auctions module with a front-end part, easiness of configuration of new types of auctions

04

Fast and transparent deployment, deployment of the system in a short period of time

05

Creating a service to provide the ability to synchronize data by platforms

06

Challenges

Due to the fact that the system had grown to such an extent that regular deployment could turn into a full-time operation without a guarantee of success.

code

components are scattered across many repositories, some of which are used in the procurement system

code

difficulties in understanding which versions of which components are deployed in a particular environment at the moment

code

violation of encapsulation of services and components, versions of dependencies were defined not by service, and in the course of deployment

code

manual assembly of services, which leads to the additional workload on the DevOps team and an increased probability of human error

code

the absence of versions of the code services and components

Technical Solutions

There are three main components of the system: the Central Database (CDB), the Auction Module and E-Trading venues.  It’s somewhat similar to the stock exchange and brokers. Venues interact with Central Database, while end users are free to choose any Venue they like. They still will be able to view all tenders available in the entire system. Vendors can bid on any tender, regardless of the venue it is announced through. This approach helps prevent one venue growing into an expensive and inefficient monopoly.


The typical e-procurement process will run as follows: the requestor publishes a tender for procurement at any chosen venue. The tender information is made available to all connected Venues via the Central Database. All users can view the tender conditions and may express their interest to participate in the tender.

 

Then, the amendment period begins:

 

Potential vendors can ask for clarifications regarding the tender or alert the requester of any errors in tender description or unfair conditions. The requestor will answer these questions and amend tender conditions if necessary. Bids aren’t accepted during this period. After the amendment period is over, the requestor can no longer modify the tender and vendors can submit their bid. Bids remain closed and the requestor cannot see company names or price offers at this stage. On the next day after bid submission, the revenue auction starts automatically. participants have three rounds to lower their bids and set the final price. During the auction, participants can see each other’s price offers, but not company names: each vendor is labeled with a number, e.g.: Bidder 1, Bidder 2, etc.


The reverse auction enables government buyers to obtain the lowest price for goods, products or services specified. Once the auction is completed, all bids are open and participant names, proposals and prices revealed, so participants can see competitors’ proposals. The requestor verifies bids starting from the lowest one. If the company that offered the best price meets pre-defined qualifications criteria, it must be selected as winner and the procurement process ends.

Procedures module (back-end part)

procedures-module

Auction model (back-end part)

procedures-module

Auction model (front-end part)

procedures-module

Bidding procedure example

procedures-module
replacement

For serialization / deserialization and access control to non-public data, it was decided to use the Schematics Python library, which is positioned as an ORM without a database layer.

replacement

Fault tolerance: The first step was containerization and the transfer of all services under the control of Kubernetes. The next one was the rejection of services in a single copy (each component was developed taking into account the fact that it will have several copies). The third is a guaranteed stateless architecture of all services. Another factor that ensures the stability of the solution is the full automation of deployment. All centralized database components, including infrastructure configuration, are stored in GitLab and delivered to environments using Helm and GitLab CI.

replacement

Replacement of the existing database management systems with MongoDB. As a result, fault tolerance was increased in general and the process of synchronization of the sites significantly simplified the process of synchronization of sites with centralized databases.

replacement

Several refactoring iterations were carried out before reaching a stable structure that satisfies both the requirements of optimality and the wishes of the business. The result was the selection of typical structures that are unchanged for all sales procedures, and their subsequent inheritance with changes inherent in a specific business process.

Technologies

Aiohttp

MongoDB

Elasticsearch

Prometheus

Grafana

GitLab CI

HELM

Swagger

GitLab

Python

Kubernetes

Docker

Results

Some numbers and Facts

State Entity Prozorro.sale established independent Supervisory Board

245k lots created

Successfully launched Small Privatization reform

50 marketplaces connected and authorized

15k participants

USD 890m in revenue

Rewards

Prozorro.sale became the best in the world in the field of open government and won the award Open Government Partnership Awards-2021. This was announced On December 15, 2021 in Seoul during the Global Summit "Open Government Partnership", dedicated to the 10th anniversary of the partnership.


The e-auction system has been recognized as the best among other projects, because thanks to it, open and transparent sale and rental of public assets.

Projects from 17 other countries competed with us, but we managed to win that victory.

 

Each of the participating countries could nominate for the award one accomplished within the Commitment Initiative, which brought significant positive changes in the lives of society and the state.


“Prozorro.sale” won the Impact Award category as a project that changes the country and increases the quality of life in society.

Have an idea?
Let’s discuss!

Do you have questions related to your project we can help you with?

Talk to Sales manager. She will make sure all is covered. Don’t waste your time for hours of googling - get all the answers from the relevant expert in an hour

First Name

Last Name

E-mail

Phone

Message