Market Structure, Concentration, and Inequality Measures
Measures of concentration and competition are important and give a first insight of a given market structure in a particular market. They are important to determine public policies and strategic corporate decisions. However, in research and in practice the most commonly used measure is the Herfindahl Hirschman Index. Various complementary or alternative measures exist, which - used as a set - might reduce uncertainty. The goal of the concstats package is to offer a set of alternative and/or additional measures for researchers in social sciences and practitioners in institutions concerned with competition on a regular basis to better determine a given market structure and therefore reduce uncertainty with respect to a given market situation. Various functions or groups of functions are available to achieve the desired goal.
concstats_concstats calculates a set of pre-selected concentration and diversity measures in a one-step procedure.
concstats_mstruct offers market structure measures, e.g. the sum of Top3 or Top5 market shares.
concstats_comp is a wrapper for concentration measures, e.g. the Herfindahl Hirschman Index.
concstats_inequ offers diversity or inequality measures, e.g. the Entropy or the Palma ratio.
A stable version of concstats is available on CRAN:
install.packages("concstats") # Market structure, concentration and inequality # measures
You can install the latest development version from GitHub or R-universe.
# install.packages("devtools") devtools::install_github("ropensci/concstats")
install.packages("concstats", repos = "https://ropensci.r-universe.dev")
How to use
concstats takes numeric vectors as input, that is, relative market shares in decimal format.
concstats_constats has one main function which calculates a set of pre-selected measures in a one-step procedure.
is a wrapper to calculate different structural measures. Within this group are measures like the number of firms, numbers equivalent, cumulative Top 3 and Top 5 market share. The measures might be calculated as a group or individually.
is a group wrapper to calculate different concentration measures. Within this group are measures like the Herfindahl-Hirschman index (HHI), the dual of the HHI, the Dominance or the Stenbacka index.
This is a basic example which shows you how to calculate an individual measure or a set of market structure and concentration measures:
library(concstats) ## Create some simple data x <- c(0.4, 0.2, 0.25, 0.1, 0.05, 0, 0) concstats_hhi(x) # the Herfindahl-Hirschman Index #>  0.275 concstats_dom(x) # the Dominance Index #>  0.4127273 ## Our simple data x2 <- c(0.35, 0.4, 0.05, 0.1, 0.06, 0.04) # market shares of each firm in # the market (should sum up to 1) ## Calculate a selected set of market structure and concentration measures concstats_concstats(x2, digits = 2) # calculates a selected set of measures #> Measures Values #> 1 Firms 6.00 #> 2 Nrs_equivalent 3.33 #> 3 Top (%) 40.00 #> 4 Top3 (%) 85.00 #> 5 Top5 (%) 96.00 #> 6 HHI 0.30 #> 7 Entropy(RE) 0.79 #> 8 Palma ratio 2.67
In this case, the result is a table with eight selected measures: 1) Number of firms, 2) Numbers equivalent of firms, 3) Top firm, share in %, 4) Top 3 firms, share in %, 5) Top 5 firms, share in %, 6) The Herfindahl-Hirschman Index, in decimal form, 7) Normalized Shannon Entropy (RE), a value between 0 and 1, 8) Palma ratio, an inequality score which measures the ratio of the top 10 percent to the bottom 40 percent.
Some functions are already implemented in other R packages. The non-exhaustive summary below is by no means a description of each package.
The Herfindahl Hirschman Index can be found in the hhi and the divseg packages. While the hhi package has just one function, neither of both packages offer a normalized version of the measure.
The latter offers as well functions for the Entropy, Gini and Simpson measures.
The acid and the ineq packages offer functions for inequality and competition measures, e.g. for the Entropy and Gini metric.
Some popular measures, e.g. Gini or the Herfindahl-Hirschman index have also been implemented in Python.
However, almost none of these packages offer a normalized calculation of the respective measure, with the exception of the ineq package. Other functions are new implementations in R, e.g. Dominance Index, Palma ratio, Stenbacka Index, GRS measure, and the dual of the Herfindahl Hirschman Index.
- Chang, E. J., Guerra, S. M., de Souza Penaloza, R. A. & Tabak, B. M.
- “Banking concentration: the Brazilian case” In Financial Stability Report. Brasilia: Banco Central do Brasil, 4: 109-129.
- Cobham, A. and A. Summer (2013). “Is It All About the Tails? The Palma Measure of Income Inequality”, Center for Global Development, Washington, DC.
- Garcia Alba Idunate, P. (1994). “Un Indice de dominancia para el analisis de la estructura de los mercados”. , 61: 499-524.
- Ginevicius, R. and S. Cirba (2009). “Additive measurement of market concentration”, , 10(3), 191-198. https://doi.org/10.3846/1611-1699.2009.10.191-198
- Palma, J. G. (2006). “Globalizing Inequality: ‘Centrifugal’ and ‘Centripetal’ Forces at Work”, DESA Working Paper No. 35.
- Shannon, C. E. (1948). “A Mathematical Theory of Communication”, (Nokia Bell Labs).
- Melnik, A., Shy, Oz, Stenbacka, R., (2008), “Assessing market dominance”, , 68: pp. 63-72.
- Simpson, E. H. (1949). “Measurement of Diversity”, , 163, 688. https://doi.org/10.1038/163688a0
The hexagon sticker is created by myself with the
hexsticker package. A good overview and a lot of inspiration (adding badges, how to create a webpage and testing the package) comes from Cosima Meyer and Dennis Hammerschmidt.
Contact and Issues
If you have any questions or find any bugs requiring fixing, feel free to open an issue or pull request.
Contributions are welcome! For more details on how to contribute to this package please see the CONTRIBUTING file.
Please note that this package is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.