In quantitative welfare economics, evaluating income inequality requires flexible ethical parameterization: policy analysts must test how sensitive inequality measures are when social aversion to extreme poverty intensifies. Satya Chakravarty formulated the Chakravarty Inequality Index ($C_e$), a normative inequality measure derived from a continuous social welfare function with variable ethical parameter $e in (0, 1)$. Modern Microsoft Excel dynamic array functions—specifically VSTACK, LAMBDA, and LET—allow economic analysts to build dynamic Chakravarty inequality models cleanly without legacy macros.
Mathematical Foundations of the Chakravarty Index
Given an observed income distribution vector $y_1, y_2, dots, y_n$ with arithmetic mean $mu$, the discrete Chakravarty Inequality Index $C_e$ is defined as:
C_e = 1 - ( (1 / n) * SUM( (y_i / mu)^e ) )^(1 / e)
Where:
ndenotes the total population count.murepresents the arithmetic mean income.e($0 < e < 1$) represents the degree of societal inequality aversion. As $e o 0$, the index places heavier sensitivity on lower-income shortfalls (extreme poverty focus); as $e o 1$, the index approaches 0 (neutral egalitarian focus).- $C_e$ satisfies all standard welfare axioms: scale invariance, Dalton transfer sensitivity, and subgroup consistency.
Implementing the Dynamic Array Formula in Excel
Using the LET function, we can construct the Chakravarty calculation dynamically for any income dataset:
=LET(
raw_data, A2:A101,
e_param, 0.5,
clean_data, FILTER(raw_data, ISNUMBER(raw_data) * (raw_data > 0)),
n, COUNT(clean_data),
mu, AVERAGE(clean_data),
norm_ratios, clean_data / mu,
powered_ratios, norm_ratios^e_param,
mean_powered, AVERAGE(powered_ratios),
ede_ratio, mean_powered^(1 / e_param),
chakravarty_index, 1 - ede_ratio,
chakravarty_index
)
This dynamic formula filters positive numeric values, normalizes incomes by the distribution mean, applies the ethical parameter $e$, and outputs the Chakravarty inequality index instantly.
Encapsulating the Formula into a Reusable Custom LAMBDA
To deploy this metric across multiple economic workbooks, define a reusable custom function named CHAKRAVARTY.INDEX in the Excel Name Manager:
- Navigate to the Formulas tab and click Name Manager.
- Click New, enter
CHAKRAVARTY.INDEXin the Name field, and set Scope toWorkbook. - In the Refers to box, input the following formula:
=LAMBDA(values, e_val, LET( clean, FILTER(values, ISNUMBER(values) * (values > 0)), mu, AVERAGE(clean), 1 - (AVERAGE((clean / mu)^e_val))^(1 / e_val) ) ) - Click OK and close the dialogue.
Building Sensitivity Analysis Dashboards with VSTACK
We can evaluate sensitivity across different values of ethical parameter $e$ side-by-side using VSTACK:
=LET(
cohort, B2:B100,
header, HSTACK("Aversion Parameter (e)", "Chakravarty Index", "Interpretation"),
row_1, HSTACK("e = 0.25 (High Aversion)", CHAKRAVARTY.INDEX(cohort, 0.25), "Sensitive to Bottom Tier"),
row_2, HSTACK("e = 0.50 (Standard)", CHAKRAVARTY.INDEX(cohort, 0.50), "Balanced Distribution Sensitivity"),
row_3, HSTACK("e = 0.75 (Mild Aversion)", CHAKRAVARTY.INDEX(cohort, 0.75), "Mild Sensitivity"),
VSTACK(header, row_1, row_2, row_3)
)
This dynamic array structure automatically updates whenever underlying cohort rows change, delivering instantaneous insight into normative inequality sensitivity across economic policy options.