CSSMitra
Initialising…
Promotion Predictor
Central Secretariat Service · MoPNG Internal Tool
Connecting…
Under Secretary
Deputy Secretary
Director
JS & Above
Retiring ≤6M
Manual Vacancies
0
🎯 Predictor
📋 Full Roster
📅 Vacancy Register
ℹ️ How It Works
Officers
CSLNameGradeDoR
🎯 Promotion Prediction Engine
🔍
Search for an officer or click a name in the list →
📅 Upcoming Vacancies — Next 12 Months
Sl.CSLNameGrade DoBDoRMinistryCat
Manual Vacancy Register
#TypeGrade VacatedOfficer Name CSLPromoted ToEffective DateMinistryNotes

How the Promotion Predictor Works

This tool models the CSS promotion queue using the seniority list (US Main List) updated as of 01 Jan 2026. It dynamically calculates vacancies from 4 sources and predicts promotion dates based on your queue position.

📅 Date of Retirement (DoR) Rule

  • Retirement age = 60 years
  • Born on 1st of the month → retires on last day of the previous month
    Example: DoB 01.06.1967 → DoR 31.05.2027
  • Born on any other date → retires on last day of the birth month
    Example: DoB 02.06.1967 → DoR 30.06.2027

🔄 4 Types of Vacancies

  • 🔼 Promotion to Higher Grade — a DS→Director promotion frees a DS seat → 1 US gets promoted to DS
  • 🎓 Retirement — auto-calculated from DoB; creates a vacancy in that officer's grade
  • ✈️ Deputation — officer goes outside CSS; seat treated as vacant for promotion
  • 💀 Death / VRS / Other — premature vacancy added manually

📈 Cascade Effect

Every JS/Director retirement creates a chain: JS retires → Dir gets promoted to JS → DS gets promoted to Dir → US gets promoted to DS. So higher-level retirements give 3× the benefit to US officers.

🎯 Prediction Logic

The tool counts how many officers in your grade have a lower (earlier) seniority number than you, then walks through the retirement calendar to find when enough vacancies accumulate to cover all those ahead of you — that estimated date is your likely promotion window.

⚠️ Limitations

  • DPC meets are periodic — actual promotion dates depend on DPC schedule
  • Vigilance clearance, court stays, or ACR objections can defer individual promotions
  • Sanctioned vs actual strength differences affect the real vacancy count
  • This is an indicative planning tool — not an official Government record

📊 Google Sheets Integration Architecture

Recommended stack: This HTML file as frontend + Google Sheets as live data backend (no server needed).

Setup steps:

  • Upload the Excel to Google Sheets. Share as "Anyone with link can view".
  • Enable Google Sheets API and get a free API key from Google Cloud Console.
  • Replace the embedded CSS_DATA in this file with a fetch() call:
    https://sheets.googleapis.com/v4/spreadsheets/{SHEET_ID}/values/US%20Main%20List?key={API_KEY}
  • For vacancy entries: use a linked Google Form → responses auto-go to a "Vacancies" sheet → HTML reads that sheet too.
  • For write access: deploy a Google Apps Script Web App as a simple POST endpoint.
HTML (this file, on GitHub Pages / any static host)
        ↕  fetch() calls
Google Sheets API  (read-only, public API key)
   ├── "US Main List"   ← seniority + grade data
   ├── "Vacancies"      ← Google Form responses (deputations, deaths, promos)
   └── (optional) Apps Script Web App  ← for writes/edits