Short Communication
Introducing sesIndia: an R package for updating and calculating socioeconomic scales in India - a computing tool
Department of Community and Family Medicine, All India Institute of Medical Sciences, Mangalagiri, Guntur, Andhra Pradesh, India
Received: 03 June 2025
Revised: 08 July 2025
Accepted: 09 July 2025
*Correspondence:
Dr. Praveen Kumar S.,
E-mail: human.pk04@gmail.com
Copyright: © the author(s), publisher and licensee Medip Academy. This is an open-access article distributed under the terms of the Creative Commons Attribution Non-Commercial License, which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.
ABSTRACT
Background: Socioeconomic status (SES) measures health status and living standards. The B.G. Prasad and Kuppuswamy scales are used to classify individuals based on SES in Indian setting. These measures required adjustments in line with financial inflationary trends that affect income. To help in updating and calculating these SES scales sesIndia package is developed, where the package uses consumer price index for industrial workers (CPI-IW). An R package was developed and tested to update SES scale and calculate SES classifications in India. The sesIndia uses valid inputs CPI-IW (website which updates CPI-IW) provides updated B.G. Prasad and Kuppuswamy scale income thresholds. It also computes SES classes for B.G Prasad and Kuppuswamy scales. The sesIndia package enables researchers to reliably calculate SES with updated CPI-IW. The R package sesIndia guarantees precise and reproducible SES classification. SES being a part of most public health and policy research, such a package which accounts for inflation trends will be robust tool for researchers. The source code for sesIndia can be accessed from https://github.com/pk041199/sesIndia.
Keywords: BG Prasad scale, Kuppuswamy scale, R package, Socioeconomic status scale
INTRODUCTION
Socioeconomic status (SES) assesses health and wellbeing. SES help to plan services and conduct research in healthcare, nutrition, education.1 India has a vast economic and social diversity where SES assessment addresses health disparities and guide public health strategies. B.G. Prasad scale and the modified Kuppuswamy scale are currently used by most researchers. B.G Prasad scale, based on per capita monthly income and Kuppuswamy scale established in the late 1970 targets urban population with education, occupation, and family income components.2
Economic inflation affects the accuracy of the SES classification and thus regular recalibration of the income thresholds is required. The Labour Bureau of India’s consumer price index for industrial workers (CPI-IW) provides standards to adjust income thresholds in order to address economic trends.3
CPI-IW can be used for income category adjustment of B.G. Prasad scale and Kuppuswamy scale, while occupation and education scores are constant in Kuppuswamy scale.4
We introduce an R package (sesIndia) to simplify updating and calculation of SES classifications based on the B.G. Prasad and Kuppuswamy scales using CPI-IW data. sesIndia automates income threshold adjustments and supports numeric coded inputs for education and occupation to calculate SES scale. With built in data validation for reliable results researchers and policymakers.
Package description
sesIndia adjust income thresholds for B.G. Prasad and Kuppuswamy scales and calculates SES classifications. Features include CPI-IW based income range updates, support for CSV/excel file inputs, and data validation of inputs and SES calculation. The package can be installed from GitHub:devtools:install_github(“pk041199/ses India”).
Implementation
R and R studio were used to develop R functions such as update_bg_prasad(), and update_kuppuswamy() which adjust income thresholds for respective scales using the formulae, validate_ses_data() which ensure input format to calculate, calculate_ses_bg() and calculate _ses_kuppuswamy() which compute SES classfications.5
METHODS
The following formula was used to adjust income range.
Where, CPI-IW_base (2016) = 100, as the reported values from labour bureau of India are with reference to 2016 as base value.
Data input will be data frame or CSV/excel with income (INR, numeric), education (1-7), occupation (1-10). Data output will be updated income ranges or calculated SES classifications.
Example
Update and validate Kuppuswamy scale for January 2025 (CPI-IW=143.2): kup_updated <- update_kuppuswamy (cpi_iw = 143.2) print(kup_updated).6
Calculate SES for a study dataset: ses_kup <-calculate_ses_kuppuswamy(sample_ses_data, income_ column = "income", education_column = "education", occupation_column = "occupation", cpi_iw = 143.2) print(ses_kup).
File-based SES calculation: ses_kup_file <- calculate_ ses_kuppuswamy ("data.csv", income_column = "income", education_column = "education", occupation_column = "occupation", cpi_iw = 143.2).
RESULTS
An R package was developed and tested to update SES scale and calculate SES classifications in India. The sesIndia uses valid inputs CPI-IW from https://labourbureau.gov.in (website which updates CPI-IW) provides updated B.G. Prasad and Kuppuswamy scale income thresholds. It also computes SES class for B.G Prasad and Kuppuswamy scale. The package was validated against Labour bureau CPI-IW data and yearly published scales.7 The package provides a robust computation to calculate SES classification.
DISCUSSION
The sesIndia package enhances the reliability of research where ever socioeconomic status is one of the components in the research. By using sesIndia package we need not wait for yearly publication of updated scale thresholds. As long as the labour bureau of India releases CPI-IW with the base year as 2016 the package doesn’t require major updates The author will maintain package updates in case of a change in base year. The sesIndia package is similar to SesIndexCreatoR, which automates SES index creation, but still our package focuses in Indian context.8
There are limitations as the calculation is dependent on manual input of CPI-IW from the source, to do that researcher require expertise, as the package assumes that the provided CPI-IW is valid. There is scope for improving the package where we can integrate regional CPI indices, add new SES scales, and enhance error handling for missing data.
CONCLUSION
The sesIndia package equips researchers to reliably calculate SES with updated CPI-IW. The R package sesIndia ensures precise and reproducible SES classifications. SES being a part of most public health and policy research, such a package which accounts for inflation trends will be robust tool for researchers. The researchers can contribute to the GitHub repository, and feedback can be provided for improvements. The source code for sesIndia can be accessed from https://github.com/pk041199/sesIndia.
Funding: No funding sources
Conflict of interest: None declared
Ethical approval: Not required
REFERENCES
- 1. Wani RT. Socioeconomic status scales-modified Kuppuswamy and Udai Pareekh’s scale updated for 2019. J Fam Med Prim Care. 2019;8(6):1846-9.
- 2. Javalkar SR, H S, Davalagi SB. Socio economic status assessment in India: history and updates for 2024. Int J Community Med Public Health. 2024;11(3):1369-77.
- 3. Centre Index | Official website of Labour Bureau, Ministry of Labour and Employment, Government of India. Available at: https://www.labourbureau.gov.in/centre-index. Accessed on 24 April 2025.
- 4. Saleem SM. Modified Kuppuswamy socioeconomic scale updated for the year 2020. Indian J Forensic Community Med. 2021;7(1):1-3.
- 5. R Core Team. R: A Language and Environment for Statistical Computing. Vienna, Austria: R Foundation for Statistical Computing. 2024. Available at: https://www.R-project.org/. Accessed on 24 April 2025.
- 6. sesIndia. pk041199/sesIndia. Available at: https://github.com/pk041199/sesIndia. Accessed on 24 April 2025.
- 7. Jabeen RPK. Updated socioeconomic classification: revised modified B. G. Prasad and modified Kuppuswamy scales for January 2025. Int J Community Med Public Health. 2025;12(5):2103-7.
- 8. Lalloué B, Deguen S, Monnez JM, Padilla C, Kihal W, Zmirou-Navier D, et al. SesIndexCreatoR: An R Package for Socioeconomic Indices Computation and Visualization. Open J Stat. 2015;5(4):291-302.
- 9. Wickham H, François R, Henry L, Müller K, Vaughan D. dplyr: A Grammar of Data Manipulation. 2023. Available at: https://CRAN.R-project.org/package=dplyr. Accessed on 24 April 2025.
- 10. Wickham H, Bryan J. readxl: Read Excel Files. 2025. Available at: https://CRAN.R-project.org/package=readxl. Accessed on 24 April 2025.
- 11. Müller K, Wickham H. tibble: Simple Data Frames. 2023. Available at: https://CRAN.R-project.org/package=tibble. Accessed on 24 April 2025.