1 Introduction

Public procurement is the process by which the public sector buys goods, services, or works from companies (European Commission, 2017). The OECD estimates that the public authorities spend 9.5 trillion US dollars per year for goods and services using procurement processes (Futia et al., 2017). This amount corresponds to 14% of the GDP, while the corresponding share for the EU member states is 12%. Also, public contracts might constitute a significant share of the companies’ turnover (OECD, 2007) and could leverage competitive advantages in international markets. Thus, the operation of the public procurement market attracts the interest of the public authorities (authorities hereafter) and the economic operators (companies hereafter).

Competition plays a decisive role in public procurement because it enhances the efficient allocation of public spending. Good government procurement aims at the effective management of public wealth and strengthening citizens' trust. Therefore, public procurement is a tool for implementing government policies and achieving national strategic objectives and is recognized as one of the main goals of good governance (Phillips et al., 2007).

The public procurement market is of particular interest because monopsonies, oligopsonies, monopolies, and oligopolies could emerge in some sectors. The bureaucracy, the diverse legal framework, and the low expertise of public authorities raise entrance barriers to non-incumbents, especially small and medium-sized enterprises (SMEs) (Ferguson, 2018). Besides, insufficient information about the competitive conditions increases the uncertainty for firms leading to possible failures in decisions related to sales and supplies (Groves et al., 2014). Authorities as buyers examine the prospective sellers and analyze the risks of a competitive process such as cost overruns, not bidding, collusions, etc. For these reasons, the industrial organization has incorporated the analysis of the public procurement markets (Laffont & Tirole, 1993).

The public procurement market differs from the consumer markets because the buyers and sellers are usually few. It is, therefore, important to monitor the market from both sides, buyers, and sellers, using concentration indicators. However, even though the participants may have the same share, the distribution of contracts for each seller or buyer may not be uniform. Therefore, even though the market looks competitive, the sellers and buyers collaborate with limited partners. This could be a signal of collusion. For these reasons the agencies for the protection of competition (agency hereafter) national and international (e.g. the EU Directorate) usually put under scrutiny the operation of sectoral public procurement markets by developing new and more advanced monitoring tools.

Graph theory and network analysis have been used in decision-making systems for the procurement of companies (Oh & Behdad, 2017) to identify competing or cooperating groups or potential allies (Hansen et al., 2020). Graph databases have been a significant component of a Knowledge Management System (KMS) as they offer a way to represent the knowledge management processes as scenarios by using simple queries of nodes and relationships (Zhang, 2017). Graph databases can be used as a Decision Support System (DSS) or they can be a KMS that will synergize with an existing DSS (Bader, 2015). Xiubo et al. (2016) studied how to detect procurement fraud by employing big data analytics and network analysis. Van Erven et al. (2017) used graph databases to identify corruption and fraud in Brazilian government procurement processes. Mamavi et al. (2017) examined the influence of strategic networks on public contract awarding in France and found strong and weak ties positively affect the award of public contracts. Finally, Soylu et al. (2018) created a semantic knowledge graph using multiple sources across the EU to analyze public spending and corporate data.

This paper aims to contribute to the economic and decision-making literature by applying network analysis and graph database technology to monitor the sectoral public procurement markets. The network representing the interactions between authorities and companies is bipartite, undirected in unweighted and weighted form. We use the unweighted and weighted degree and entropy for each agent. These metrics show the role of each agent in the network. We compute the network and the conditional network entropies which measure the operation of the whole network. The network entropy offers information about the market competitive conditions from the authorities and seller’s point of view, and the conditional network entropy considers also the distribution of contracts across sellers or buyers for the average agent. These metrics could serve as a signal of dominant positions and preferential treatment. In the second stage, the agency could use the agents’ degrees and entropies, unweighted and weighted to investigate the possible preferential treatment or market dominance by specific agents. The algorithm could provide red signals for the sectors which exhibit non-competitive conditions either from the authorities or/and the companies. Besides, the algorithm could provide signals about specific authorities and companies. Finally, the time evolution of the metrics could also signal a path toward more competitive or non-competitive behaviors.

We apply this method in the sectoral public procurement market of pacemakers using data from the “Opentender” platform which covers 33 European countries for the period 2009–2019. The network entropy and the conditional network entropy reveal that competitive conditions prevailed during the examination period.

The conditional entropy as an additional tool indicates whether authorities concentrate their purchases on a few sellers even though no authority (-ies) dominates the market. A similar argument applies in the case of companies. Equal market shares for companies or authorities do not guarantee competitive conditions. If companies or authorities concentrate on a few clients or buyers it might represent a signal for collusion. Our findings indicate the participating companies, on average, signed contracts with many authorities following a more uniform distribution. Hence, collusive behavior possibly did not exist in this specific market during the examination period.

Our findings show the significance of the proposed methodology to monitor the competition and analyze the role of companies and authorities in a public procurement market. The analysis confirmed that graph databases could manage large volumes of data in a market. The methodology presented is a KMS that can function as a DSS or support an existing DSS. By implementing the algorithms of this study, it is possible to analyze the competition both in a sectoral market or a group of markets. The resulting information can be functional for the decision-making of contracting authorities and companies and for national and EU competition commissions.

The rest of the paper is organized as follows. Section 2 presents the methodology and the data. Section 3 presents the empirical findings and the discussion. Section 4 offers some concluding remarks.

2 Methodology and data

2.1 Methodology

The proposed monitoring tool is an application of network analysis and graph database technology. The sectoral public procurement market is represented by a network with authorities and companies as nodes. The number of contracts between the two groups defines the adjacency matrix. In the case of a weighted network, we use the contracts’ values as weights. The rows of the adjacency represent the contracting authorities and the columns of the companies. Each matrix element is the number (or the value in the case of the weighted network) of contracts awarded by an authority j to a company. The degree centrality and the entropy index (unweighted and weighted) offer a measure for the role of each authority and company in the network. The network consists of \({x}_{j}\) authorities, j \(\in\) {1…n} and \({y}_{i}\) companies, i \(\in\){1…m}. The degree centrality for the authority \({x}_{j}\) in the public procurement sector (Giuffre, 2015) is:

$$D_{c}^{k} \left( {x_{j} } \right) = {\text{deg}}^{k} \left( {x_{j} } \right) = \mathop \sum \limits_{i = 1}^{m} C_{{x_{j} \to y_{i} }}^{k}$$
(1)

where \({D}_{c}^{k}\left({x}_{j}\right)\) is the degree centrality of a node-authority j in the public procurement sector k, for a given graph G: = (N,E) with \(\left|N\right|\) nodes and \(\left|E\right|\) edges, \({\mathrm{deg}}^{k}({x}_{j})\) the total number (or the total value in the case of the weighted network) of contracts the authority \({x}_{j}\) signed with all companies \({y}_{i}\), and \({C}_{{x}_{j}\to {y}_{i}}^{k}\) is the number of contracts the authority \({x}_{j}\) awarded to the company \({y}_{i}\) in the public procurement sector k. In the same way, we calculate the degree centrality for the node-company \({y}_{i}\) as:

$$D_{c}^{k} \left( {y_{i} { }} \right) = {\text{deg}}^{k} \left( {y_{i} { }} \right) = \mathop \sum \limits_{j = 1}^{n} C_{{x_{j} \to y_{i} }}^{k}$$
(2)

Even though the degree and weighted degree centralities offer valuable information about the position of an agent, seller, or buyer, in the public procurement market, however, do not recognize a difference between quantity and quality (Hansen et al., 2020) because centralities do not provide information about the competitive conditions in the procurement market. The Shannon entropy index has been extensively used by the literature to measure market competition. We employ the entropy for the contracting authorities \({x}_{j}\) and the companies \({y}_{i}\) to investigate whether the agents, sellers or buyers, operate in the specific market under competitive conditions:

$$H\left({x}_{j}\right)=-\sum_{i=1}^{m}{P}_{({x}_{j}\to {y}_{i)}}\cdot {\mathrm{log}}_{2}({P}_{{x}_{j}\to {y}_{i}})$$
(3)

where: \(H\left({x}_{j}\right)\) is the authority \({x}_{j}\) entropy index. \({P}_{{x}_{j}\to {y}_{i}}\) is the percentage of contracts awarded by the authority \({x}_{j}\) to company\({y}_{i}\), \({P}_{{x}_{j}\to {y}_{i}}=\frac{{C}_{{x}_{j}\to {y}_{i}}^{k}}{\sum_{i=1}^{m}{C}_{{x}_{j}\to {y}_{i}}^{k}}\), in the sectoral market k, \({C}_{{x}_{j}\to {y}_{i}}^{k}\) is the number of the contracts that authority \({x}_{j}\) awarded to company\({y}_{i}\), and \(\sum_{i=1}^{m}{C}_{{x}_{j}\to {y}_{i}}^{k}\) is the total number of contracts awarded by the authority\({x}_{j}\). If the entropy index \(H\left({x}_{j}\right)\) is high the authority \({x}_{j}\) operates as a buyer in the sector k without preferential treatment for some sellers. On the other hand, if the entropy index \(H\left({x}_{j}\right)\) tends to zero the authority \({x}_{j}\) operates as a buyer in the sector k giving preference to few sellers.

The entropy index for the company \({y}_{i}\) is:

$$H\left({y}_{i}\right)=-\sum_{j=1}^{n}{P}_{({y}_{i}\to {x}_{j)}}\cdot {\mathrm{log}}_{2}\left({P}_{{y}_{i}\to {x}_{j}}\right)$$
(4)

where \(H\left({y}_{i}\right)\) is the company’s \({y}_{i}\) entropy. \({P}_{{y}_{i}\to {x}_{j}}\) is the percentage of contracts the company \({y}_{i}\) signed with the authority \({x}_{j},\) \({P}_{{y}_{i}\to {x}_{j}}=\frac{{C}_{{y}_{i}\to {x}_{j}}^{k}}{\sum_{j=1}^{n}{C}_{{y}_{i}\to {x}_{j}}^{k}}\). Where \({C}_{{y}_{i}\to {x}_{j}}^{k}\) is the number of contracts that company \({y}_{i}\) signed with authority \({x}_{j}\) in the sectoral market k. If the entropy index \(H\left({y}_{i}\right)\) is high the company \({y}_{i}\) operates as a seller in the sector k competitively without focusing on a limited number of buyers. If the entropy index \(H\left({y}_{i}\right)\) tends to zero the company \({y}_{i}\) operates as a seller in sector k by giving a special preference to a few buyers.

The network entropy is a measure of the sectoral public procurement market structure. The agency needs information concerning the sectoral markets per se. The network entropy offers additional information about the structure of the sectoral market. The network entropy from the authorities’ side is:

$$H\left(\mathrm{X}\right)=-\sum_{j=1}^{n}{P}_{({x}_{j})}\cdot {\mathrm{log}}_{2}({P}_{{x}_{j}})$$
(5)

where \({P}_{{x}_{j}}=\frac{\sum_{i=1}^{m}{C}_{{x}_{j}\to {y}_{i}}^{k}}{\sum_{j=1}^{n}\sum_{i=1}^{m}{C}_{{x}_{j}\to {y}_{i}}^{k}}\) is the share of contracts awarded by authority j in the market of sector k. The network entropy from the companies’ side is:

$$H\left(Y\right)=-\sum_{i=1}^{m}{P}_{({y}_{i})}\cdot {\mathrm{log}}_{2}({P}_{{y}_{i}})$$
(6)

where \({P}_{{y}_{i}}=\frac{\sum_{j=1}^{n}{C}_{{y}_{i}\to {x}_{j}}^{k}}{\sum_{i=1}^{m}\sum_{j=1}^{n}{C}_{{y}_{i}\to {x}_{j}}^{k}}\) is the share of the contracts signed by company i in the market of sector k. Equation (5) is an indication of the competitive conditions in the public procurement market of sector k from the authorities’ side. A network entropy close to zero indicates that few authorities dominate the specific market; hence, we may conclude the existence of oligopsony or even monopsony, in the case of \(H\left(\mathrm{X}\right)=0\). A high \(H\left(\mathrm{X}\right)\) indicates no dominant or powered authorities. Equation (6) is an indication of the competitive conditions from the companies’ side. A network entropy close to zero indicates the market operates either as an oligopoly or monopoly, in the case of \(H\left(\mathrm{Y}\right)=0\). On the other side, a high \(H\left(\mathrm{Y}\right)\) is a signal that the market operates more competitively and no seller seems to dominate the market. We summarize in the following Table 1 the strategic behaviors in a sectoral public procurement market.

Table 1 Strategic behaviors in a sectoral public procurement market

The conditional network entropy is an additional measure of market conditions. The conditional network entropies, \(\mathrm{H}\left(\mathrm{Y}|\mathrm{X}\right)\) and \(\mathrm{H}\left(\mathrm{X}|\mathrm{Y}\right)\), consider the distribution of contracts across sellers or buyers for each agent and offer additional and valuable information about the public procurement market operation. The conditional network entropy of the market of sector k based on the authorities’ behavior is:

$$H\left(Y|X\right)=-\sum_{j=1}^{n}{P}_{{x}_{j}}\sum_{i=1}^{m}{P}_{({x}_{j}\to {y}_{i)}}\cdot {\mathrm{log}}_{2}({P}_{{x}_{j}\to {y}_{i}})$$
(7)

The \(H\left(Y|X\right)\) is defined as the weighted sum of the entropies of the authorities \({x}_{j}\), using as weights the \({P}_{{x}_{j}}\), the percentage of the awarded contracts by the authority \({x}_{j}\) over the total number of authorities’ contracts, \({P}_{{x}_{j}}=\frac{\sum_{i=1}^{m}{C}_{{x}_{j}\to {y}_{i}}^{k}}{\sum_{j=1}^{n}\sum_{i=1}^{m}{C}_{{x}_{j}\to {y}_{i}}^{k}}\). \({P}_{{x}_{j}}\) is the authority’s j position in the sectoral market k. The higher the \({P}_{{x}_{j}}\) the most significant the position of the authority j.

The conditional entropy for the network of the market of sector k based on the companies’ behavior is:

$$H\left(X|Y\right)=-\sum_{i=1}^{m}{P}_{{y}_{i}}\sum_{j=1}^{n}{P}_{({y}_{i}\to {x}_{j)}}\cdot {\mathrm{log}}_{2}\left({P}_{{y}_{i}\to {x}_{j}}\right)$$
(8)

The \(H\left(X|Y\right)\) is defined as the weighted sum of each company entropy, using as weight the \({P}_{{y}_{i}}\), the percentage of the contracts signed by the company \({y}_{i}\) over the total number of companies contracts \({P}_{{y}_{i}}=\frac{\sum_{j=1}^{n}{C}_{{y}_{i}\to {x}_{j}}^{k}}{\sum_{i=1}^{m}\sum_{j=1}^{n}{C}_{{y}_{i}\to {x}_{j}}^{k}}\). \({P}_{{y}_{i}}\) is the company’s i position in the sectoral market k. The higher the \({P}_{{y}_{i}}\) the most significant the position of the company i.

High conditional network entropy indicates the average authority (company) concluded contracts with many companies (authorities) in a more uniform distribution. Low conditional entropy indicates that the average authority (company) concluded contracts with a few companies (authorities) indicating a special preference towards specific companies (authorities) respectively.

The agency could use network entropy and conditional network entropy to create a red flag signal for the market conditions in sectoral public procurement markets. Table 2 summarizes the possible situations in sectoral public procurement markets. In the case of low \(\mathrm{H}\left(\mathrm{Y}|\mathrm{X}\right)\) and high \(\mathrm{H}\left(\mathrm{X}\right)\), no authority dominates the market and the average authority buys from few sellers. This could be a signal that the bargaining power might be on the companies' side. If both H(Y│X) and \(\mathrm{H}\left(\mathrm{X}\right)\) are low, the market might operate as oligopsony while the average authority buys from a few companies. This is a signal that this market might operate as a strategic game. If \(\mathrm{H}\left(\mathrm{Y}|\mathrm{X}\right)\) is high and \(\mathrm{H}\left(\mathrm{X}\right)\) is low, the market might operate as oligopsony while the average authority buys from many companies. In this case, the signal indicates the bargaining power is in favor of the authorities and since the companies do not have significant bargaining power there is no need for intervention. Finally, If H \(\left(\mathrm{Y}|\mathrm{X}\right)\) and \(\mathrm{H}\left(\mathrm{X}\right)\) are high, no authority dominates the market while the average authority buys from many sellers. In this case, the market operates competitively and there is no need for intervention from the agency. The discussion for the companies is similar and is not presented for the space economy.

Table 2 Possible situations in sectoral public procurement markets

We calculate the weighted and the conditional network weighted entropies in a similar way. The indicators are presented in the appendix.

The weighted network and conditional weighted network entropies for companies offer an additional signal for market conditions. If both \({H\left(Y\right)}_{(weighted)}\) and \(H\left(Y\right)\) are high, the market is competitive in terms of the number of contracts and the value of contracts. If the \({H\left(Y\right)}_{(weighted)}\) is high and the \(H\left(Y\right)\) is low, few companies might dominate the sector in the number of contracts with a more uniform distribution of the values of contracts across the authorities. If \({H\left(Y\right)}_{(weighted)}\) and \(H\left(\mathrm{Y}\right)\) are low, few companies might dominate the sector with a concentrated distribution of the values of contracts. Finally, if the \({H\left(Y\right)}_{(weighted)}\) is low and the \(H\left(\mathrm{Y}\right)\) high, the market seems to operate under competitive conditions in terms of the number of contracts but the signed contracts are concentrated.

The \({H\left(X\right)}_{(weighted)}\) and the \(H\left(\mathrm{X}\right)\) reveal important information about the authorities’ behavior in the market. If the \({H\left(X\right)}_{(weighted)}\) and the \(H\left(\mathrm{X}\right)\) are high the authorities behave competitively in the market both in terms of the number of contracts and the value of contracts. If the \({H\left(X\right)}_{(weighted)}\) is high and the \(H\left(\mathrm{X}\right)\) low few authorities might dominate the sector by signing many contracts with uniform distribution of values which is a signal that the authorities do not have a preference for specific companies. If \({H\left(X\right)}_{(weighted)}\) and \(H\left(\mathrm{X}\right)\) are low few authorities might dominate the sector with many contracts and the distribution of values is not uniform. Since these authorities have significant power in the market and buy from few sellers it might be a signal of preferential treatment. If the \({H\left(X\right)}_{(weighted)}\) is low and the \(H\left(\mathrm{X}\right)\) high, no authority dominates in terms of the number of contracts but the weighted entropy might indicate that the values of contracts are concentrated in a few authorities. Therefore, even though the network entropy shows that there is competition from the buyers the weighted entropy indicates that few authorities have bargaining power in the market due to the large size of the values of contracts.

Finally, the combined discussion between the weighted network and conditional weighted network entropy of the public procurement market is similar to the previous one and for the space economy, we do not present it here.

Summarizing the above discussion, the examination of a sectoral public procurement market by the agency using the network analysis and the graph database tools could include the following steps:

  1. Step 1:

    If the network entropies \(H\left(X\right)\) and \(H\left(Y\right)\) are low, it might be an indication of non-competitive conditions, and the agency proceeds to step 3. If the entropies are high, it might be a signal of competitive conditions and the agency proceeds to step 2.

  2. Step 2:

    The conditional network entropies \(H\left(X|Y\right)\) and \(H\left(Y|X\right)\) provide further information because even though the network entropies might indicate competitive conditions the distribution of contracts might not be uniform, a signal of preferential treatment for certain authorities or companies. In the case of low conditional entropies, the agency proceeds to step 3.

  3. Step 3:

    In the case that steps 1 or/and 2 provide a signal of non-competitive behavior, the agency examines the degree centralities and the entropies of the nodes. The agents with a high degree centrality might exhibit significant market power. Besides by considering the individual entropies, especially the agents with entropy which indicate that even for companies or authorities with a high degree centrality (contracts with many authorities and vice versa) a low weighted entropy indicates that the higher value of contracts was awarded by few authorities.

  4. Step 4:

    In the case of indications for non-competitive behavior in the sectoral public procurement market, the network analysis offers an additional tool for the agency to focus on specific companies or authorities. The individual degree centralities and the entropies (weighted and unweighted) are significant metrics that could be used by the agency. In the case of companies, if the unweighted degree is high, that means that the company signed many contracts while a high weighted degree means that the company signed contracts that add high value. If a company exhibits high unweighted and weighted degrees and high unweighted and weighted entropy, the company signed many contracts with high values with many authorities. It might be a strong signal that it has a dominant position in the specific market. If the unweighted degree is low and the weighted degree high the company signed a few contracts but with high value. If in addition, its entropies, unweighted and weighted are low it might signal a preferential treatment towards this company. In these two cases, the agency could proceed with an examination of the company’s strategic behavior. In the other two combinations of unweighted and weighted degrees, there is no need for further examination. The arguments are similar for the authorities and the space economy we do not present here.

The agency might use a red flag for the comparison with the averages of the sectoral networks which are sub-categories of the upper category of the CPV nomenclature. Moreover, the agency could examine the time evolution of the sectoral network metrics. In the case of positive signals for possible collusion or preferential treatment from the authorities, the agency could proceed to a thorough investigation according to the national or EU legislature.

2.2 The data

Competitive public procurement markets are one of the fundamental principles of the Treaty of the European Union for the achievement of competition and the free movement of goods and services. The centralization of the auctions and the e-procurement tools strategies are recommended by the EU (Bof & Casella, 2015). With a view to facilitating cross-border tendering, the current legal framework (Directives 2014/24/EU and 2014/25/EU) established a set of provisions. For this reason, we decided to apply the above-discussed method in a European sectoral public procurement market, the pacemakers (CPV 33,182,210), as a case.

The data are from the platform “Opentender” (opentender.eu, which constitutes a part of the DIGIWHIST project) for the period 2009–2019. Opentender publishes tenders’ data from 33 countries and institutions (28 EU member states, Norway, the EU Institutions, Iceland, Switzerland, and Georgia). Data published by the Opentender, in contrast to the data published by the EU from the platform TED, were collected from about 20 various sources and are more updated than data from the EU. Recent studies employed data from this database to disclose corruption phenomena using descriptive statistics or network analysis (Adam & Fazekas, 2020; Ashraf & Shaharudin, 2020; Baranek, 2020; Cingolani & Fazekas, 2020; Nemchenko et al., 2019; Voskanian & Drozdov, 2019).

We standardized the data using Cypher language to feed the database. Data included information about the contracting authorities, the tenders, the lots of each tender, and the economic operators that signed the contracts. For the aim of this study, we only analyze the subgraph represented by the bipartite network of the two groups: Authorities (buyers) and economic operators (companies-sellers). The links in this bipartite network are the assigned contracts and the contract value represents the weight. The network is undirected because the contract between the authority and the company is a bidirectional relationship. The study was limited solely to contracts with award value. The size of the network is 263 unique nodes-authorities, 515 unique nodes-companies, and 3.373 links – edges.

We employed the neo4j version 3.5.14 and Gephi 0.92 software for the empirical estimations. Neo4j is an open-source, NoSQL, native graph database that provides ACID transaction compliance. Gephi is open-source software for network visualization and analysis. Using the optimized for graphs, declarative query language Cypher, and the syntax “apoc.export.graphml.data”, the study graph was exported as a file with graphML extension from the database and was successfully imported to the Gephi. Finally, descriptive statistics were estimated using SPSS version 25.

3 Empirical findings and discussion

Table 3 presents the annual metrics for the companies’ group. The degree centrality ranges from 1 to 322, indicating some companies signed just one contract while others signed 322 contracts. 57.1% of the companies concluded one contract, 14.2% signed two contracts, and 5.4% signed more than 22 contracts. The weighted degree ranges from 120 euros to 116,842,991 euros. 77.3% of the companies concluded contracts with a value lower than 1 million euros and 5.2% of the companies concluded contracts with a value higher than 11 million euros. It is worth mentioning that the highest weighted degree was 963,037,530 euros, equal to 75.07% of the total contracts’ values. As far as the entropy is concerned, 71.7% of the companies (369) exhibited a zero entropy, 11.1% (57 companies) between zero and one, and only 7.5% (39 companies) higher than two. We also observe a steady decrease in the maximum values of entropy during the examination period. The distribution and the evolution of the weighted entropy follow a similar pattern. The entropy is higher than the corresponding weight entropy for all examined companies during the study period.

Table 3 Network statistics for the companies’ group

Table 4 presents the metrics for the authorities’ group. The degree ranged from one to 222. More specifically, 10.6% of the authorities signed one contract and 8.0% two contracts, 52.1% signed three to 13 contracts, and 29.3% signed more than 13 contracts. It is worth mentioning that only 14.4% of the authorities signed more than two contracts per year. The weighted degree ranged from 23,224 euros to 98,300,757 euros, and 39.92% of the authorities concluded contracts with a total value lower than 1 million euros. 19.39% of the authorities signed contracts with a value higher than 4.88 million euros, the study period mean value, and only 2.66% signed contracts with a total value higher than 30 million euros. The authorities with the highest weighted degree centrality signed contracts with a total value of 468,039,350 euros which represents 36% of the total. 12.17% of the authorities had zero entropy. 35.36% had entropy between zero and two, and only 1% had entropy higher than ten. Besides, 12.17% % of the authorities had weighted entropy equal to zero. 43.73% had weighted entropy between zero and two, and only 2.28% had weighted entropy higher than ten. The maximum values of the entropy and the weighted entropy decreased during the examination period.

Table 4 Network statistics for the authorities’ group

Table 5 presents the estimated indicators (we excluded the year 2019 because of the limited reported records). In the absence of reference values from other markets, for benchmarking we used the normalization (\((x-{x}_{min})/({x}_{max}-{x}_{min}))\) and the standardization method (\(\left(x-\overline{x })/S\right)\) (Table 6). We assume that values close to the minimum value indicate low entropy, values close to the average value indicate a "neutral" situation and values close to the maximum value indicate high entropy. The cross-time analysis reveals that satisfactory competitive conditions prevailed during the examination period (high H(Χ) and H(Y)). Moreover, the authorities followed a less diverse distribution of their contracts with companies on average (low \(\mathrm{H}\left(\Upsilon |\mathrm{\rm X}\right)\)), indicating no authority had significant bargaining power as a buyer but the average authority signed contracts with few companies. The participating companies concluded contracts with many authorities following a more uniform distribution (high H \(\left(\mathrm{X}|\mathrm{Y}\right)\)), Focusing on the contracts’ values, the high \({\mathrm{H}(\mathrm{X})}_{(\mathrm{weighted})}\) (but smaller than H(Χ)) and the high \({\mathrm{H}(\mathrm{Y})}_{(\mathrm{weighted})}\) (but smaller than H(Y)) might indicate that neither the buyers nor the sellers dominated this sectoral market during the examination period.

Table 5 Network and conditional network entropy
Table 6 Statistics of the network and conditional network entropy

Step 1: In the years 2009, 2010, 2012, 2015, and 2017, the \(H\left(\mathrm{Y}\right)\) value was at high levels, which indicates that contracts were signed with several different companies. In the years 2011, 2014, 2016, 2018, and especially in the year 2013 there was a low indication of competition and consolidation of the market in certain companies that played a comparatively more important role in the operation of the market from the seller's side. Evaluating the behavior of the sellers (companies) from the point of view of the dispersion of the value of the contracts, we observe some differences in relation to the number of contracts mentioned above. More specifically, during the years 2009, 2011, 2012, 2013, and 2015 we observe a high entropy value which indicates a disorder in the distribution of the value of the contracts by the companies. In the years 2010, 2014, 2016, 2017, and 2018, the entropy values ​​were low, which indicates a concentration of the value of assignments in some sellers (companies), that play a more important role in the operation of the market than the rest. The combination of the conclusions on the values ​​of the two types of entropy is considered particularly interesting and important. In 2010 for example, while it appears to be a year in which many different companies sign several contracts, it is observed that this indication is not confirmed with the value of the contracts, which indicates that the value of the contracts is concentrated in some companies. In the years 2011 and 2013, the values ​​of \(H\left(\mathrm{Y}\right)\) are low while the values ​​of \({H\left(Y\right)}_{(weighted)}\) are high, which indicates that few companies might dominate the sector with a concentrated distribution of the values ​​of contracts. Accordingly, during the years 2009, 2010, 2011, 2014, and 2018 a high value of \(\mathrm{H}\left(\mathrm{X}\right)\) was presented. In the years 2011 and 2013, the values ​​of \(H\left(\mathrm{Y}\right)\) are low while the values ​​of \({H\left(Y\right)}_{(weighted)}\) are high, which indicates that few companies might dominate the sector with a concentrated distribution of the values ​​of contracts. Accordingly, during the years 2009, 2010, 2011, 2014, and 2018 a high value of \(\mathrm{H}\left(\mathrm{X}\right)\) was presented. In the years 2012, 2015, 2016, and 2017 and especially in the year 2013 a low \(\mathrm{H}\left(\mathrm{X}\right)\) was observed as well as a concentration of contracts in specific contracting authorities, which played an important role in the functioning of the market. Regarding the number of contracts, it is generally observed that in the years 2009 and 2010 a good level of competition was observed on both sides of the market, while in the year 2016 and even more in the year 2013 a strong concentration of the market in specific buyers and sellers was observed. Regarding the value of the contracts, it is generally observed that in the years 2009, 2011, and 2015 a good level of competition was noticed on both sides of the market while in the years 2010, 2016, and more in the year 2017, a strong concentration of the market was observed in specific buyers and sellers.

Step 2: In the second step we examine the conditional network entropies \(H\left(X|Y\right)\) and \(H\left(Y|X\right)\) to see the morphology of the distribution of contracts between contracting authorities and companies. Regarding the number of contracts, at this stage, we check the prices for the years 2009 and 2010 because according to what was mentioned in step 1, the prices \(H\left(X\right)\) and \(H\left(Y\right)\) are high. It is observed that the values \(H\left(X|Y\right)\) and \(H\left(Y|X\right)\) moved at high levels, which indicates that there was not a high concentration of contracts in specific companies or contracting authorities respectively.

Regarding the value of the contracts, at this stage, we check the prices for the years 2009, 2011, and 2015 because according to what was mentioned in step 1, the prices \({H\left(X\right)}_{(weighted)}\) and \({H\left(Y\right)}_{(weighted)}\) are high. It is observed that the values \({H\left(X|Y\right)}_{(weighted)}\) and \({H\left(Y|X\right)}_{(weighted)}\) moved at high levels, which indicates that there was not a high concentration of contracts in specific companies or contracting authorities respectively.

Regarding the value of the contracts, at this stage, we check the prices for the years 2009, 2011, and 2015 because according to what was mentioned in step 1, the prices \({H\left(X\right)}_{\left(weighted\right)}\) and \({H\left(Y\right)}_{(weighted)}\) are high. It is observed that the values \({H\left(X|Y\right)}_{(weighted)}\) and \({H\left(Y|X\right)}_{(weighted)}\) moved at high levels, which indicates that there was not a high concentration of contracts in specific companies or contracting authorities respectively.

The weighted conditional entropies \({H\left(X|Y\right)}_{(\mathrm{weighted})}\) and \({H\left(\Upsilon|{\rm X}\right)}_{(\mathrm{weighted})}\) were slightly lower than the unweighted ones, indicating that the distribution of contract values was less uniform than the one of the contracts number. This finding suggests a small preference for companies to sign contracts with specific authorities based on the value of the contracts. The low value of \({H\left(\Upsilon|{\rm X}\right)}_{(\mathrm{weighted})}\) compared to the \(H\left(\Upsilon|{\rm X}\right)\) indicates that the distribution based on contract values was not as uniform as the one based on the number of contracts.

Step 3: In this step, we examine all the years of the period except for the years 2009 and 2010 which were examined in step 2. Considering the above, if we focus on the individual behavior of contracting authorities and companies per year, we find that during the years 2011–2015 high entropy values are shown ​​in contracting authorities, especially from France and then from Italy and Spain.

The same contracting authorities gather high weighted degree centrality values. This fact indicates that in the contracts awarded by the specific contracting authorities in those years there were a significant number of companies selling to each of these contracting authorities.

This behavior appears to decline slightly in the following years of the study when contracting authorities from Poland and the Czech Republic show high prices. From the companies' side, a proportional picture is presented. Specifically, during the years 2009–2015, high entropy values ​​are presented in companies from France and Poland and then from Italy and Spain. This fact indicates that during these years there was a significant number of contracting authorities that were supplied with materials by each of these companies.

This behavior appears to decline slightly in the following years of the study, in which companies from the Czech Republic, Poland, and Finland show high prices. It is clarified that the above analysis in the first step concerns the analysis of the level of competition in terms of the number of contracts.

Even though the network entropies indicate that the pacemakers’ public procurement market operates somehow competitively, our methodology suggests the examination of the individual degree centrality and the entropies for the companies’ group. These metrics show that one authority awards 222 contracts with the weighted degree of 20.3 million euros and another authority awards only 22 contracts with the weighted degree of 98.3 million euros. In addition, one authority awards 222 contracts with the weighted degree of 20.3 million euros one company dominates the specific market by signing 161 contracts with the highest weighted degree of 116.84 million euros. Our findings indicate the presence of at least one dominant company and the pacemakers’ public procurement market should be under investigation by the EU Agency.

Step 4: In the overall operating period of the market, there are fluctuations at the level of companies and the contracting authorities as well. It is indicated that a company from France received the second highest price of weighted centrality that reached 66.3 million euros with centrality (number of contracts) = 59 with 30 authorities (\(H\left({y}_{i}\right)\) = 16.80 and \({H\left({y}_{i}\right)}_{(weighted)}\) = 10.72) while in the third and fourth place the companies from Italy weighted centrality 65.5 and 63.95 million euros and centrality (number of contracts) 104 and 107 accordingly with 32 authorities each company (\(H\left({y}_{i}\right)\) = 12.25 and \({H\left({y}_{i}\right)}_{(weighted)}\) = 11.30 for the first company and \(H\left({y}_{i}\right)\) = 11.41 and \({H\left({y}_{i}\right)}_{(weighted)}\)=10,44 for the second company). On the other hand, we have a company from Poland that has a weighted centrality that reached 0,064 million euros with centrality (number of contracts) = 23 with 12 authorities (\(H\left({y}_{i}\right)\) = 5.85 and \({H\left({y}_{i}\right)}_{(weighted)}\) = 6.13) and another company from the same country with weighted centrality that reached 0,23 million euros with centrality (number of contracts) = 22 with 7 authorities (\(H\left({y}_{i}\right)\) = 7.29 and \({H\left({y}_{i}\right)}_{(weighted)}\) = 6.00).

On the side of buyers (contracting authorities), it is reported that a contracting authority from Italy received the third highest price of weighted centrality that reached 66.97 million euros with centrality (number of contracts) = 11 with 4 companies (\(H\left({x}_{i}\right)\)= 1.82 and \({H\left({x}_{i}\right)}_{(weighted)}\) = 1.45) while in the fourth company from France had weighted centrality that reached 64.28 million euros with centrality (number of contracts) = 12 with 9 companies (\(H\left({x}_{i}\right)\) = 5.17 and \({H\left({x}_{i}\right)}_{(weighted)}\) = 3.05). On the other hand, we have a contracting authority from Italy which has weighted centrality that reached 0,11 million euros with centrality (number of contracts) = 20 with 4 companies (\(H\left({x}_{i}\right)\) = 1.6 and \({H\left({x}_{i}\right)}_{(weighted)}\) = 1.35).

4 Concluding remarks

The aim of this paper was to offer a monitoring tool for the competitive conditions in the public procurement market. We used network analysis to examine competitive conditions and the behavior of the contracting authorities and companies. The proposed method examines the market network using network entropy and conditional network entropy, along with each agent's metrics. Network entropy offers information about the market conditions for the authorities’ and companies’ groups. The conditional network entropy measures the distribution of contracts across sellers or buyers for each group. The findings are signals of possible dominant positions and preferential treatment. In the second stage, the agency uses the agents’ degrees and entropies, unweighted and weighted, to inspect for possible preferential treatment or market dominance by specific agents. An advantage of the method is the performance of the tests in “real-time”. The algorithm could provide red signals for the sectors which exhibit non-competitive conditions either from the authorities or/and the companies. Finally, the time evolution of the metrics could also signal a path toward competitive or non-competitive behaviors.

We applied the method in the pacemakers’ public procurement market using data from 33 countries from 2009–2019. The findings indicated that the majority of companies exhibited zero entropy, sales to one authority only. Moreover, the maximum values of entropy followed a steady decrease during the examination period. The distribution and the evolution of the weighted entropy followed a similar pattern. This might be a signal for increasing concentration. Only a small number of authorities exhibited zero entropy, signing contracts with only one company. The maximum value of entropy followed a steady decrease during the examination period. The results are similar for the weighted entropy. The network entropy and the conditional network entropy indicated that the market operated competitively. However, the examination of the companies’ degrees reveals the presence of at least one dominant company.

Our findings demonstrate that this method offers feasible and satisfactory measurements of the competition and the role of the companies and authorities in the sectoral public procurement market. The employed method is a KMS that could function either independently as a DSS or in collaboration with an existing DSS. Moreover, the application of the specific algorithms could provide a monitoring tool as the public procurement market is mapped and situations like monopoly, oligopoly, monopsony, and oligopsony are identified. This applies both to the number of contracts and the value of contacts.

The proposed method has significant policy implications. The agencies responsible for the protection of competition and the anticorruption agencies should invest in the development of the method. Firstly, they should develop a graph database for public procurements because it offers significant advantages in the big data processing. Secondly, they should standardize the database entries and train the staff for reporting data. Finally, they should develop algorithms to feed the graph database with real-time data for the CPV products and services that are “critical” in public procurements and implement machine learning.

Future research could focus on the bidding companies and not the contracting companies only, to provide a complete picture of competition in the public procurement markets. Besides, the method could be employed to detect possible "collaboration" between collocated authorities and companies. Finally, it will be of particular interest to extend the analysis to other national public procurement markets, for example, the US, where the states and the federal government independently finance public procurements.