Historical Timeseries• 7 min read• Published October 2026• By Commodity Data Team
17-Year Historical MSP Trends (2010–2026): Growth Patterns in Cereals, Pulses & Oilseeds
Analysis of 17 years of statutory crop floor price revisions gazetted by CCEA, detailing compound annual growth rates across 28 commodities.
Longitudinal Trajectory of Primary Commodities
Across the 17-year continuous series (2010 to 2026/27) maintained in this registry, statutory crop prices reflect three distinct macro policy eras: the high-inflation adjustment period (2010–2013), the structural consolidation period (2014–2017), and the formulaic 1.5x statutory floor guarantee era (2018–2026).
Commodity Growth Comparisons (2010 vs 2026)
• Wheat (Rabi Staple):
- 2010 Fixed MSP: ₹1,120 / quintal
- 2026 Fixed MSP: ₹2,610 / quintal
- Cumulative Absolute Increase: +₹1,490 (+133.0%)
- Compound Annual Growth Rate (CAGR): ~5.44%
• Paddy Common (Kharif Staple):
- 2010 Fixed MSP: ₹1,000 / quintal
- 2026 Fixed MSP: ₹2,369 / quintal
- Cumulative Absolute Increase: +₹1,369 (+136.9%)
- CAGR: ~5.55%
• Gram / Chana (Key Pulse Crop):
- 2010 Fixed MSP: ₹1,760 / quintal
- 2026 Fixed MSP: ₹5,650 / quintal
- Cumulative Absolute Increase: +₹3,890 (+221.0%)
- CAGR: ~7.56%
• Rapeseed & Mustard (Key Oilseed):
- 2010 Fixed MSP: ₹1,850 / quintal
- 2026 Fixed MSP: ₹6,200 / quintal
- Cumulative Absolute Increase: +₹4,350 (+235.1%)
- CAGR: ~7.85%
Policy Pivot: Pulses and Oilseeds Incentivization
The data demonstrates an intentional statutory shift toward domestic edible oil and protein self-sufficiency. Pulses (Gram, Tur, Lentil) and Oilseeds (Mustard, Groundnut, Soybean) have outpaced cereal MSP growth by over 200 basis points annually since 2016, driving increased acreage in arid and rain-fed farming regions.
Fetching Historical Series via API
To inspect the full 17-year historical trajectory of any commodity with CACP recommendations:
const res = await fetch("https://msp-benchmarks-api.vercel.app/v1/msp/crops/wheat");
const { data } = await res.json();
console.log(`${data.crop_name} records: ${data.total_historical_years} years`);
data.history.forEach(h => console.log(`${h.marketing_season}: ₹${h.fixed_price}`));Test these benchmarks live
Simulate statutory return margins and inspect timeseries payloads in real-time.