Government of Tamil Nadu spending on backward classes, most backward classes and minorities welfare department (Demand No. 09): what was spent, what is budgeted for 2026-27, and what the Budget announced. Every figure traces to a page of an official budget document.
Amount grew from ₹929 crore in 2018-19 to ₹1,700 crore in 2026-27
Total of all heads of this Demand, ₹ crore. Each year shows the latest stage available: Actual, then Revised Estimate (RE), then Revised Budget Estimate (RBE).
- Revenue
- Capital
- Loans
| 2018-19 | 928.5 |
|---|---|
| 2019-20 | 826.1 |
| 2020-21 | 826.4 |
| 2021-22 | 689.7 |
| 2022-23 | 1,462.5 |
| 2023-24 | 1,459.2 |
| 2024-25 | 1,408.4 |
| 2025-26 | 1,863.7 |
| 2026-27 | 1,699.8 |
Source: Demand No. 09 books and Annual Financial Statements, Government of Tamil Nadu. Values in ₹ crore.
Largest allocations
Top five minor heads, ₹ crore.
| Minor head | 2024-25 Actual | 2025-26 RE | 2026-27 RBE |
|---|---|---|---|
| 2225-03-277 Education | 905.7 | 1,160.2 | 1,003.5 |
| 2225-80-101 Welfare of Denotified and other nomadic tribes | 214.9 | 222.9 | 239.7 |
| 4225-04-102 Economic Development | 116.9 | 217.9 | 188.2 |
| 4225-03-277 Education | 11.6 | 67.9 | 91.6 |
| 2225-03-001 Direction and Administration | 39.3 | 42.0 | 45.3 |
Detailed allocation
Loading the explorer…
Series show the latest stage available for each year (Actual > RE > RBE > IBE > BE). Heads 2070, 2202, 2225, 2235, 2250, 2251, 4070, 4225, 7610 are shared with other Demands and are not compared. 42 related data issues
Known data issues
Known gaps and discrepancies in the source documents or between them. Each has a permanent ID. “Documented” means the document itself is wrong and we kept the printed figure; “open” means we have not found the cause.
42 issues
| ID | Status | What | Treatment |
|---|---|---|---|
DQ-D09-0001 | explained | latest-stage roll-up does not add up 2070-00-800-BM, 2024-25 Object values add to 8,430 thousand but the sub-head shows 7,750 The latest value per code is chosen separately, and for some codes under this sub-head the Actual column is blank, so an earlier-stage figure is used (16 codes here use a different stage from the sub-head). Within each demand book every total ties exactly. | Published as is; each code carries its own stage |
DQ-D09-0002 | explained | latest-stage roll-up does not add up 2225-03-001-AA, 2018-19 Object values add to 24,786 thousand but the sub-head shows 41,945 The latest value per code is chosen separately, and for some codes under this sub-head the Actual column is blank, so an earlier-stage figure is used (0 codes here use a different stage from the sub-head). Within each demand book every total ties exactly. | Published as is; each code carries its own stage |
DQ-D09-0003 | explained | latest-stage roll-up does not add up 2225-03-001-AA, 2022-23 Object values add to 40,394 thousand but the sub-head shows 40,400 The latest value per code is chosen separately, and for some codes under this sub-head the Actual column is blank, so an earlier-stage figure is used (0 codes here use a different stage from the sub-head). Within each demand book every total ties exactly. | Published as is; each code carries its own stage |
DQ-D09-0004 | explained | latest-stage roll-up does not add up 2225-03-001-AC, 2018-19 Object values add to 0 thousand but the sub-head shows 27,054 The latest value per code is chosen separately, and for some codes under this sub-head the Actual column is blank, so an earlier-stage figure is used (0 codes here use a different stage from the sub-head). Within each demand book every total ties exactly. | Published as is; each code carries its own stage |
DQ-D09-0005 | explained | latest-stage roll-up does not add up 2225-03-001-AC, 2019-20 Object values add to 0 thousand but the sub-head shows 31,960 The latest value per code is chosen separately, and for some codes under this sub-head the Actual column is blank, so an earlier-stage figure is used (0 codes here use a different stage from the sub-head). Within each demand book every total ties exactly. | Published as is; each code carries its own stage |
DQ-D09-0006 | explained | latest-stage roll-up does not add up 2225-03-001-AC, 2020-21 Object values add to 0 thousand but the sub-head shows 33,454 The latest value per code is chosen separately, and for some codes under this sub-head the Actual column is blank, so an earlier-stage figure is used (0 codes here use a different stage from the sub-head). Within each demand book every total ties exactly. | Published as is; each code carries its own stage |
DQ-D09-0007 | explained | latest-stage roll-up does not add up 2225-03-001-AC, 2021-22 Object values add to 0 thousand but the sub-head shows 42,764 The latest value per code is chosen separately, and for some codes under this sub-head the Actual column is blank, so an earlier-stage figure is used (0 codes here use a different stage from the sub-head). Within each demand book every total ties exactly. | Published as is; each code carries its own stage |
DQ-D09-0008 | explained | latest-stage roll-up does not add up 2225-03-001-AD, 2022-23 Object values add to 11,056 thousand but the sub-head shows 11,062 The latest value per code is chosen separately, and for some codes under this sub-head the Actual column is blank, so an earlier-stage figure is used (2 codes here use a different stage from the sub-head). Within each demand book every total ties exactly. | Published as is; each code carries its own stage |
DQ-D09-0009 | explained | latest-stage roll-up does not add up 2225-03-101-AE, 2018-19 Object values add to 0 thousand but the sub-head shows 1,063,096 The latest value per code is chosen separately, and for some codes under this sub-head the Actual column is blank, so an earlier-stage figure is used (0 codes here use a different stage from the sub-head). Within each demand book every total ties exactly. | Published as is; each code carries its own stage |
DQ-D09-0010 | explained | latest-stage roll-up does not add up 2225-03-101-AE, 2019-20 Object values add to 0 thousand but the sub-head shows 1,164,570 The latest value per code is chosen separately, and for some codes under this sub-head the Actual column is blank, so an earlier-stage figure is used (0 codes here use a different stage from the sub-head). Within each demand book every total ties exactly. | Published as is; each code carries its own stage |
DQ-D09-0011 | explained | latest-stage roll-up does not add up 2225-03-101-AE, 2020-21 Object values add to 0 thousand but the sub-head shows 1,334,097 The latest value per code is chosen separately, and for some codes under this sub-head the Actual column is blank, so an earlier-stage figure is used (0 codes here use a different stage from the sub-head). Within each demand book every total ties exactly. | Published as is; each code carries its own stage |
DQ-D09-0012 | explained | latest-stage roll-up does not add up 2225-03-101-AE, 2021-22 Object values add to 0 thousand but the sub-head shows 1,353,344 The latest value per code is chosen separately, and for some codes under this sub-head the Actual column is blank, so an earlier-stage figure is used (0 codes here use a different stage from the sub-head). Within each demand book every total ties exactly. | Published as is; each code carries its own stage |
DQ-D09-0013 | explained | latest-stage roll-up does not add up 2225-03-101-AF, 2018-19 Object values add to 0 thousand but the sub-head shows 317,961 The latest value per code is chosen separately, and for some codes under this sub-head the Actual column is blank, so an earlier-stage figure is used (0 codes here use a different stage from the sub-head). Within each demand book every total ties exactly. | Published as is; each code carries its own stage |
DQ-D09-0014 | explained | latest-stage roll-up does not add up 2225-03-101-AF, 2019-20 Object values add to 0 thousand but the sub-head shows 326,366 The latest value per code is chosen separately, and for some codes under this sub-head the Actual column is blank, so an earlier-stage figure is used (0 codes here use a different stage from the sub-head). Within each demand book every total ties exactly. | Published as is; each code carries its own stage |
DQ-D09-0015 | explained | latest-stage roll-up does not add up 2225-03-101-AF, 2020-21 Object values add to 0 thousand but the sub-head shows 302,961 The latest value per code is chosen separately, and for some codes under this sub-head the Actual column is blank, so an earlier-stage figure is used (0 codes here use a different stage from the sub-head). Within each demand book every total ties exactly. | Published as is; each code carries its own stage |
DQ-D09-0016 | explained | latest-stage roll-up does not add up 2225-03-101-AF, 2021-22 Object values add to 0 thousand but the sub-head shows 381,817 The latest value per code is chosen separately, and for some codes under this sub-head the Actual column is blank, so an earlier-stage figure is used (0 codes here use a different stage from the sub-head). Within each demand book every total ties exactly. | Published as is; each code carries its own stage |
DQ-D09-0017 | explained | latest-stage roll-up does not add up 2225-03-101-AM, 2020-21 Object values add to 0 thousand but the sub-head shows 1,933 The latest value per code is chosen separately, and for some codes under this sub-head the Actual column is blank, so an earlier-stage figure is used (0 codes here use a different stage from the sub-head). Within each demand book every total ties exactly. | Published as is; each code carries its own stage |
DQ-D09-0018 | explained | latest-stage roll-up does not add up 2225-03-101-BA, 2019-20 Object values add to 0 thousand but the sub-head shows 28 The latest value per code is chosen separately, and for some codes under this sub-head the Actual column is blank, so an earlier-stage figure is used (0 codes here use a different stage from the sub-head). Within each demand book every total ties exactly. | Published as is; each code carries its own stage |
DQ-D09-0019 | explained | latest-stage roll-up does not add up 2225-03-277-AA, 2022-23 Object values add to 1,633,108 thousand but the sub-head shows 1,633,116 The latest value per code is chosen separately, and for some codes under this sub-head the Actual column is blank, so an earlier-stage figure is used (0 codes here use a different stage from the sub-head). Within each demand book every total ties exactly. | Published as is; each code carries its own stage |
DQ-D09-0020 | explained | latest-stage roll-up does not add up 2225-03-277-JB, 2018-19 Object values add to 0 thousand but the sub-head shows 36,287 The latest value per code is chosen separately, and for some codes under this sub-head the Actual column is blank, so an earlier-stage figure is used (0 codes here use a different stage from the sub-head). Within each demand book every total ties exactly. | Published as is; each code carries its own stage |
DQ-D09-0021 | explained | latest-stage roll-up does not add up 2225-03-277-JB, 2019-20 Object values add to 0 thousand but the sub-head shows 32,400 The latest value per code is chosen separately, and for some codes under this sub-head the Actual column is blank, so an earlier-stage figure is used (0 codes here use a different stage from the sub-head). Within each demand book every total ties exactly. | Published as is; each code carries its own stage |
DQ-D09-0022 | explained | latest-stage roll-up does not add up 2225-03-277-JB, 2020-21 Object values add to 0 thousand but the sub-head shows 40,442 The latest value per code is chosen separately, and for some codes under this sub-head the Actual column is blank, so an earlier-stage figure is used (0 codes here use a different stage from the sub-head). Within each demand book every total ties exactly. | Published as is; each code carries its own stage |
DQ-D09-0023 | explained | latest-stage roll-up does not add up 2225-03-277-JB, 2021-22 Object values add to 0 thousand but the sub-head shows 42,329 The latest value per code is chosen separately, and for some codes under this sub-head the Actual column is blank, so an earlier-stage figure is used (0 codes here use a different stage from the sub-head). Within each demand book every total ties exactly. | Published as is; each code carries its own stage |
DQ-D09-0024 | explained | latest-stage roll-up does not add up 2225-03-800-AD, 2018-19 Object values add to 0 thousand but the sub-head shows 5,000 The latest value per code is chosen separately, and for some codes under this sub-head the Actual column is blank, so an earlier-stage figure is used (0 codes here use a different stage from the sub-head). Within each demand book every total ties exactly. | Published as is; each code carries its own stage |
DQ-D09-0025 | explained | latest-stage roll-up does not add up 2225-03-800-AD, 2019-20 Object values add to 0 thousand but the sub-head shows 9,979 The latest value per code is chosen separately, and for some codes under this sub-head the Actual column is blank, so an earlier-stage figure is used (0 codes here use a different stage from the sub-head). Within each demand book every total ties exactly. | Published as is; each code carries its own stage |
DQ-D09-0026 | explained | latest-stage roll-up does not add up 2225-03-800-AD, 2020-21 Object values add to 0 thousand but the sub-head shows 2,500 The latest value per code is chosen separately, and for some codes under this sub-head the Actual column is blank, so an earlier-stage figure is used (0 codes here use a different stage from the sub-head). Within each demand book every total ties exactly. | Published as is; each code carries its own stage |
DQ-D09-0027 | explained | latest-stage roll-up does not add up 2225-03-800-AD, 2021-22 Object values add to 0 thousand but the sub-head shows 5,000 The latest value per code is chosen separately, and for some codes under this sub-head the Actual column is blank, so an earlier-stage figure is used (0 codes here use a different stage from the sub-head). Within each demand book every total ties exactly. | Published as is; each code carries its own stage |
DQ-D09-0028 | explained | latest-stage roll-up does not add up 2225-03-800-JJ, 2018-19 Object values add to 0 thousand but the sub-head shows 10,000 The latest value per code is chosen separately, and for some codes under this sub-head the Actual column is blank, so an earlier-stage figure is used (0 codes here use a different stage from the sub-head). Within each demand book every total ties exactly. | Published as is; each code carries its own stage |
DQ-D09-0029 | explained | latest-stage roll-up does not add up 2225-03-911-AE, 2018-19 Object values add to 0 thousand but the sub-head shows -2,090 The latest value per code is chosen separately, and for some codes under this sub-head the Actual column is blank, so an earlier-stage figure is used (0 codes here use a different stage from the sub-head). Within each demand book every total ties exactly. | Published as is; each code carries its own stage |
DQ-D09-0030 | explained | latest-stage roll-up does not add up 2225-04-001-AA, 2018-19 Object values add to 17,159 thousand but the sub-head shows 0 The latest value per code is chosen separately, and for some codes under this sub-head the Actual column is blank, so an earlier-stage figure is used (0 codes here use a different stage from the sub-head). Within each demand book every total ties exactly. | Published as is; each code carries its own stage |
DQ-D09-0031 | explained | latest-stage roll-up does not add up 2225-04-001-AC, 2018-19 Object values add to 27,054 thousand but the sub-head shows 0 The latest value per code is chosen separately, and for some codes under this sub-head the Actual column is blank, so an earlier-stage figure is used (0 codes here use a different stage from the sub-head). Within each demand book every total ties exactly. | Published as is; each code carries its own stage |
DQ-D09-0032 | explained | latest-stage roll-up does not add up 2225-04-277-JB, 2018-19 Object values add to 36,287 thousand but the sub-head shows 0 The latest value per code is chosen separately, and for some codes under this sub-head the Actual column is blank, so an earlier-stage figure is used (0 codes here use a different stage from the sub-head). Within each demand book every total ties exactly. | Published as is; each code carries its own stage |
DQ-D09-0033 | explained | latest-stage roll-up does not add up 2225-80-101-AE, 2018-19 Object values add to 1,063,096 thousand but the sub-head shows 0 The latest value per code is chosen separately, and for some codes under this sub-head the Actual column is blank, so an earlier-stage figure is used (0 codes here use a different stage from the sub-head). Within each demand book every total ties exactly. | Published as is; each code carries its own stage |
DQ-D09-0034 | explained | latest-stage roll-up does not add up 2225-80-101-AE, 2022-23 Object values add to 1,462,021 thousand but the sub-head shows 1,462,027 The latest value per code is chosen separately, and for some codes under this sub-head the Actual column is blank, so an earlier-stage figure is used (0 codes here use a different stage from the sub-head). Within each demand book every total ties exactly. | Published as is; each code carries its own stage |
DQ-D09-0035 | explained | latest-stage roll-up does not add up 2225-80-101-AF, 2018-19 Object values add to 317,961 thousand but the sub-head shows 0 The latest value per code is chosen separately, and for some codes under this sub-head the Actual column is blank, so an earlier-stage figure is used (0 codes here use a different stage from the sub-head). Within each demand book every total ties exactly. | Published as is; each code carries its own stage |
DQ-D09-0036 | explained | latest-stage roll-up does not add up 2225-80-101-AF, 2022-23 Object values add to 352,050 thousand but the sub-head shows 352,056 The latest value per code is chosen separately, and for some codes under this sub-head the Actual column is blank, so an earlier-stage figure is used (1 codes here use a different stage from the sub-head). Within each demand book every total ties exactly. | Published as is; each code carries its own stage |
DQ-D09-0037 | explained | latest-stage roll-up does not add up 2225-80-800-AD, 2018-19 Object values add to 5,000 thousand but the sub-head shows 0 The latest value per code is chosen separately, and for some codes under this sub-head the Actual column is blank, so an earlier-stage figure is used (0 codes here use a different stage from the sub-head). Within each demand book every total ties exactly. | Published as is; each code carries its own stage |
DQ-D09-0038 | explained | latest-stage roll-up does not add up 2225-80-800-JJ, 2018-19 Object values add to 10,000 thousand but the sub-head shows 0 The latest value per code is chosen separately, and for some codes under this sub-head the Actual column is blank, so an earlier-stage figure is used (0 codes here use a different stage from the sub-head). Within each demand book every total ties exactly. | Published as is; each code carries its own stage |
DQ-D09-0039 | explained | latest-stage roll-up does not add up 2225809110105, 2018-19 Object values add to -2,090 thousand but the sub-head shows 0 The latest value per code is chosen separately, and for some codes under this sub-head the Actual column is blank, so an earlier-stage figure is used (0 codes here use a different stage from the sub-head). Within each demand book every total ties exactly. | Published as is; each code carries its own stage |
DQ-D09-0040 | explained | latest-stage roll-up does not add up 2251-00-090-AS, 2022-23 Object values add to 85,961 thousand but the sub-head shows 85,967 The latest value per code is chosen separately, and for some codes under this sub-head the Actual column is blank, so an earlier-stage figure is used (0 codes here use a different stage from the sub-head). Within each demand book every total ties exactly. | Published as is; each code carries its own stage |
DQ-D09-0041 | explained | latest-stage roll-up differs by rounding 27 sub-head/year pairs For 27 sub-head/year pairs the object values add to within Rs 5 thousand of the sub-head figure (largest difference 5 thousand = Rs 0.0005 crore) Each code shows its latest printed stage, and different codes under one sub-head can come from different books, where amounts are rounded separately. Within each demand book every total ties exactly. | Published as is; each code carries its own stage |
DQ-D09-0042 | explained | code printed in some books but not in between 13 code families 13 codes (with the codes below them) are printed in some books, absent from a book in between and printed again later. Examples: 2202-05-911 'Deduct – Recoveries of Overpayments' (absent from 2022-23 BE, 2023-24 BE, 2024-25 BE); 2225-03-911-BC 'Deduct – Recoveries of Overpayments -' (absent from 2023-24 BE); 2225-03-911-BR 'Award of Prizes for Pupils who secure highest percentage of marks in VIII Standard, SSLC and Higher Secondary' (absent from 2022-23 BE). The full list is in the master_codes file (columns books_present and books_list). Checked against the PDFs: for 16 of 16 family/book absences a text search of the book finds no line with that code. A line with nothing to show in a book seems to be left out of that book; this has not been confirmed with the department. | Each code kept once; presence per book recorded in books_list |
Downloads
Backward Classes, Most Backward Classes and Minorities Welfare Department (Demand 09): budget by code
Every code in Demand 09 from major head down to detail, with full hierarchy and the latest-stage value per fiscal year in Rs crore.
- master_codes.csv CSV · 1,440 rows · 946 KB
- values_long.csv CSV · 10,801 rows · 2.9 MB
master_code is built only from printed codes. Voted and charged amounts are summed. Where the latest printed figure is nil the value is 0.
Column dictionary (27 columns)
| Column | Type | Meaning |
|---|---|---|
master_code | string | Unique alphanumeric code built from printed codes only, for example 2404-00-195-AB-309-03. |
level | string | Level of the code: major, minor, subhead, object or detail. |
major_code | string | Major head code. |
major_description | string | Major head description. |
minor_code | string | Minor head code with major and sub-major. |
minor_description | string | Minor head description. |
category | string | State's Expenditure, Central Sector Schemes, or Schemes Shared between State and Centre. |
subhead_code | string | Sub-head code. |
subhead_description | string | Sub-head description. |
object_code | string | Object code. |
object_description | string | Object description. |
detail_code | string | Detail code. |
detail_description | string | Detail description. |
full_path_description | string | Descriptions of all levels joined top to bottom. |
parent_code | string | master_code of the level above. |
alternate_labels | string | Older wording of the description, where it changed. |
hod | string | Head of department code printed in the demand book. |
first_book | string | First demand book that prints the code. |
last_book | string | Last demand book that prints the code. |
books_present | integer | Number of the six demand books that print the code. |
books_list | string | The demand books that print the code. |
status | string | Status of the item: for codes, in all books, new, discontinued or intermittent; for issues, documented, explained or open. |
fiscal_year | string | Financial year, April to March, written like 2025-26. |
stage | string | Budget stage of the figure: Actual (audited), RE (revised estimate), RBE (revised budget estimate), IBE (interim budget estimate) or BE (budget estimate). |
amount_crore | number | Amount in Rs crore (1 crore = 10 million rupees). |
amount_thousand | number | Amount in Rs thousand, as printed in the source document. |
source_edition | string | The budget document the figure was read from, for example 2026-27 RBE. |
AFS compared with the Backward Classes, Most Backward Classes and Minorities Welfare Department demand book
Every head of Demand 09 is also printed in another Demand, so no head of the Annual Financial Statements can be compared with this book alone. This file is empty.
- afs_vs_demand09.csv CSV · 0 rows · 1 KB
Column dictionary (11 columns)
| Column | Type | Meaning |
|---|---|---|
book | string | The edition of the budget document (AFS and demand book share the edition). |
head | string | Major head: 2404 (revenue), 4404 (capital outlay) or 6404 (loans). |
fiscal_year | string | Financial year, April to March, written like 2025-26. |
estimate_type | string | Budget stage of the figure (Actual, RE, RBE, IBE, BE). |
afs_thousand | string | Amount printed in the AFS, Rs thousand. |
demand_thousand | string | Amount printed in the demand book, Rs thousand. |
afs_crore | string | Amount printed in the Annual Financial Statement, Rs crore. |
demand_crore | string | Amount printed in the Dairy Development demand book, Rs crore. |
gap_thousand | string | AFS minus demand book, Rs thousand. |
gap_crore | string | AFS minus demand book, Rs crore. |
gap_pct_of_afs | string | Gap as a percentage of the AFS amount. |
Budget announcements
Everything the Budget speech and highlights announce (currently the 2026-27 Revised Budget Estimates): schemes, projects, programmes, reforms, subsidies and policies. One row per announcement per budget year, with the primary amount exactly as printed, its kind (allocation, project cost and so on), the speech paragraph and highlights bullet it comes from, and the Demand(s) for Grants it relates to.
- announcements.csv CSV · 178 rows · 66 KB
announcement_code is permanent: an announcement keeps its code in every budget year, and one that ends is marked is_current = no, never removed. related_demands links the announcement to the Demand(s) for Grants it relates to; blank means not yet linked. source_document names the budget document, and paragraph or bullet, each row was taken from. Some amounts are the current-year allocation, others the cost of a whole project: always read amount_kind.
Column dictionary (17 columns)
| Column | Type | Meaning |
|---|---|---|
announcement_code | string | Permanent ID of the announcement, SCH-2026-nnn. It never changes and is never reused. |
budget_year | string | Fiscal year of the budget document the row was taken from, for example 2026-27. |
name | string | Scheme, project, policy or announcement name as used on this site. |
department | string | Department heading under which the speech and highlights list the item. |
item_type | string | scheme, project, programme, policy, fund, subsidy, reform, platform, committee, announcement and so on. |
related_demands | string | Demand No(s). for Grants this announcement relates to, separated by semicolons (for example 08). Blank if not yet linked. |
amount_text | string | Primary amount exactly as printed, for example Rs.139 crore. |
amount_crore | number | Amount in Rs crore (1 crore = 10 million rupees). |
amount_kind | string | What the amount is: allocation, cost_stated, project_cost, valued_at, annual, multi_year_cost, capital_outlay, increase, viability_gap, credit_target, grant_sought or none. |
other_amounts | string | Other amounts printed with the item, each with what it is. |
source_document | string | Budget document, and the paragraph or bullet in it, that this row was taken from. |
highlights_bullet | integer | Bullet number in the highlights document. |
highlights_page | string | Printed page of that bullet in the highlights. |
speech_para | integer | Paragraph number in the budget speech. |
speech_page | string | Printed page of that paragraph in the speech. |
is_current | string | yes if the announcement is part of the current budget; no if it has ended or been withdrawn (the row and its code are kept). |
source_text | string | The highlights bullet text the entry is based on. |