Calculating Market Concentration Indices in R – II

In part I of this series we studied the theory of concentration indices, application of concentration indices especially by U.S. Justice Department to analyze mergers and acquisition, and we also learned to calculate Herfindahl-Hirschman Index (HHI). In the present article we will study the usefulness of Horvath and Entropy index, estimation methodology and advantages of using these  concentration indices over the HHI index. Finally we will learn how to write our function in R to calculate Horvath and Entropy Index.

Horvath Index:

Horvath (1970) in an article describes the Horvath index also known as Comprehensive Concentration Index verbally as a decimal fraction which is a sum total of proportional share of leading firm plus the summation of the square of proportional sizes of each firm reinforced by a multiplier reflecting the proportional sizes of the rest of the industry. In mathematical terms the index is defined as follows:

CCI = x_{i}+sum_{j=2}^{n}(x_{j})^2*[1+(1-x_{j}])


i = 1

j = 2,3,4,...,n 

n = number of firms in an industry

x = decimal fraction of assets belonging to each individual firms 

The CCI is between 0 and 1 where the index closer to 1 would indicate higher concentration or monopoly.

CCI Estimation:

In R we can use the above mentioned equation to write a function in R to calculate the CCI.  Following function is written in R to estimate the CCI:

cci <-  function(x,s){
    m <-  x[1,s]
    hi <- m +((m^2)*(1+(1-m))*length(x[,s]))
    m <- max(x[,s])
  d <- x[-match(m,x[,s]),s]
  cc = c()
  for ( i in 1:length(d))
     cc[i] <- (d[i]^2)*(1+(1-d[i]))
      hi <- m+sum(cc)

once we create the function in R we can use this function to calculate the CCI. For performing the calculation we use the examples used by Horvath (1970) under table 1.

p <- data.frame(firm =c("a","b"), mkt = c(80,20))%>% mutate(pct = mkt/100)
q <- data.frame(firm =c("a","b","c"), mkt = c(80,10,10))%>% mutate(pct = mkt/100)
r <- data.frame(firm =c("a","b","c","d"), mkt = c(50,30,15,5))%>% mutate(pct = mkt/100)
s <- data.frame(firm =c("a",paste(rep("b",10),c(1:10), sep=".")), mkt = c(50,rep(5,10)))%>% mutate(pct = mkt/100)
t <- data.frame(firm =c("a",paste(rep("b",50),c(1:50), sep=".")), mkt = c(50, rep(1,50)))%>% mutate(pct = mkt/100)
w <- data.frame(firm =c(paste(rep("b",100),c(1:100), sep=".")), mkt = c(rep(1,100)))%>% mutate(pct = mkt/100)

In the above code we are simply creating a data frame and also calculating the share of each firm in the total. Next , we can use the cci() fucntion created above to calculate the concentration index.

# table 1 in Horvath (1970)
cci_p <- cci(p,"pct") # 0.872
cci_q <- cci(q,"pct") # 0.838
cci_r <- cci(r,"pct") # 0.6995
cci_s <- cci(s,"pct") #0.54875
cci_t <- cci(t,"pct") #0.50995
cci_w <- cci(w,"pct") #0.0299

Change in CCI:

one good way to analyse the market power is to study the change in the CCI over time or between two time frames. For example, Horvath (1970) compares the change in CCI of automobile industry between 1967 and 1937 and concludes that the industry did get concentrated over three decades.

Entropy Index:

The entropy index is defined as follows:

$latex [Entropy Index = sum_{i=1}^{n}x_{i} * ln(1/x_{i}) &s=1&bg=ffffff$

Mishra, Mohit and Parimal (2011) state that the entropy index measures the degree of uncertainty faced by a firm in marketplace. Hence, in case of a monopoly there is no uncertainty and the index value is zero on the other hand if there are n firms in the market the level of uncertainty increases and the index takes the value of ln(n)

It is left to the reader to write a function and calculate the entropy index using CCI as a reference.

Whats Next:

Ginevičius & Čirba (2009) provides a comprehensive list of various different concentartion index and their limitation. Readers are encouraged to review the article as the authors construct their index which is better compared to the other concentration indices available.


  1. Horvath, Janos. “Suggestion for a Comprehensive Measure of Concentration.” Southern Economic Journal 36, no. 4 (1970): 446-52. doi:10.2307/1056855.
  2. MISHRA, PULAK, DIVESH MOHIT, and PARIMAL. “Market Concentration in Indian Manufacturing Sector: Measurement Issues.” Economic and Political Weekly 46, no. 49 (2011): 76-80.
  3. Romualdas Ginevičius & Stasys Čirba (2009) Additive measurement of market
    concentration, Journal of Business Economics and Management, 10:3, 191-198. Freely accessible at :


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

Website Built with

Up ↑

%d bloggers like this: