" 30M+ Google Gemini tokens went into researching, analyzing, and understanding all 233 SIH problem statements to make them easier to explore and solve. "
From what to build to how to build it — our platform helps you understand, plan, and solve SIH 2026 problem statements with complete insights into requirements, solution approaches, technology stacks, architecture, AI/ML, and implementation roadmaps.
Search for your problem statement, and start building your solution.
| Description: | • Background The Consumer Price Index (CPI) released by the National Statistical Office (NSO), Ministry of Statistics and Programme Implementation (MoSPI), is the primary measure of retail inflation in India and is used by the Reserve Bank of India (RBI) for setting monetary policy under the flexible inflation-targeting framework. The current CPI framework, however, collects 'Transport and Communication' sub-group prices, including air travel fares, primarily through manual price-collection from a limited set of outlets and ticketing offices. With over 90% of domestic air tickets in India now sold online through airline websites and Online Travel Aggregators (OTAs) such as MakeMyTrip, Yatra, EaseMyTrip, Cleartrip, Ixigo and Goibibo, manual collection no longer captures the highly dynamic, route-specific, and time-sensitive pricing that Indian consumers actually face. Airfares in India follow dynamic pricing where the same sector can vary by 200-400% within a single day depending on advance-booking window, day-of-week, demand surges, festival seasons and fuel-price-linked surcharges. There is therefore an urgent need for an automated, scalable and high-frequency data-collection system that mirrors what a real Indian traveller pays. • Detailed Description The problem statement envisages development of an end-to-end software platform that automatically web-scrapes airfare data from major Indian airline websites (IndiGo, Air India, Air India Express, Akasa Air, SpiceJet) and leading OTAs, cleans and normalises the collected price quotes, and computes a Real-time Airfare Price Index (APIx) at daily, weekly and monthly frequencies. The system shall maintain a basket of representative city-pairs (such as DEL-BOM, DEL-BLR, BOM-BLR, DEL-CCU, BLR-HYD, MAA-DEL, etc.) selected on the basis of DGCA passenger-traffic data, and shall capture fares for multiple advance-purchase windows (T+1, T+7, T+15, T+30, T+45 days). Scraping must handle JavaScript-rendered pages, dynamic CAPTCHAs, anti-bot measures, IP rotation, and session management while remaining compliant with the robots.txt and terms of service of source websites, with appropriate rate-limiting and ethical-scraping safeguards. The collected raw quotes shall be passed through a data-cleaning pipeline that removes outliers, handles missing values, accounts for cancellations/sold-out flights, and separates base fare from taxes, user-development fee and convenience charges. The dashboard must visualise price trends, sector-wise heatmaps, lead-time elasticity curves, and provide an API that the NSO and RBI can consume. • Expected Solution A working software prototype consisting of (a) a robust, ethically-designed multi-source web-scraping engine using Python (Scrapy/Selenium/Playwright) capable of scheduled daily extraction from airline portals; (b) a cleaned and de-duplicated airfare database with metadata such as origin, destination, carrier, advance-purchase window, fare-class, base fare, taxes and total fare; (c) an index-construction module based on PSD given routes and weights; (d) a web-based interactive dashboard showing the daily Airfare Price Index. The solution must include documentation, automated testing, and demonstrate at least 30 days of back-tested results against publicly available DGCA monthly average-fare data. |
| Organization: | MoSPI |
| Department: | Data Informatics & Innovation Division (DIID) |
| Category: | Software |
| Theme: | Smart Automationtd> |
| Youtube Link: | Not provided |
| Dataset Link: | https://esankhyiki.mospi.gov.in |
| Contact info: | Not provided |
The Ministry of Statistics and Programme Implementation (MoSPI) and the National Statistical Office (NSO) currently calculate the 'Transport and Communication' sub-group of India's Consumer Price Index (CPI) using manual price collection from offline travel agencies and physical ticketing counters [PS]. However, over 90% of domestic air tickets in India are now purchased online through airline websites (such as IndiGo, Air India, Air India Express, Akasa Air, and SpiceJet) and Online Travel Aggregators (OTAs) [PS]. Airfares in India are dynamically priced and can fluctuate by 200% to 400% within a single day based on factors such as advance booking window (T+1 to T+45 days), day of week, seasonal demand, and fuel surcharges [PS]. Manual collection fails to capture this real-time dynamic pricing, creating a significant structural lag in national retail inflation measurements used by the Reserve Bank of India (RBI) for monetary policy decisions [PS].
To solve this, we propose the Real-time Airfare Price Index System (APIx)—an enterprise-grade, automated data pipeline and analytics dashboard. The platform features an ethical, multi-source web scraping engine built with Python Playwright and Scrapy that respects web compliance (robots.txt, rate limits) while navigating dynamic CAPTCHAs and anti-bot measures [PS, INFERENCE]. It ingests price quotes across top DGCA-weighted city-pair routes (e.g., DEL-BOM, DEL-BLR, BOM-BLR) across multiple advance-purchase windows [PS]. An automated cleaning pipeline isolates base fares from taxes, User Development Fees (UDF), and convenience charges, eliminating outliers and sold-out anomalies [PS]. The system calculates elementary indices using Jevons geometric means and aggregates them using a Laspeyres passenger-traffic weighted index derived from DGCA statistics [RESEARCHED, INFERENCE]. The platform provides real-time REST APIs for MoSPI and RBI consumption, visualizes price trends and elasticity curves, and includes a 30-day historical backtesting engine against official DGCA average fare data [PS].
| Property | Value | Confidence |
|---|---|---|
| Problem Statement Number | SIH26056 | [PS] |
| Title | Development of a Real-time Airfare Price Index for India through Automated Web Scraping of Airline and Online Travel Aggregator Portals for Augmentation of the Consumer Price Index (CPI) | [PS] |
| Organization | Ministry of Statistics and Programme Implementation (MoSPI) | [PS] |
| Department | Data Informatics & Innovation Division (DIID) | [PS] |
| Category | Software | [PS] |
| Theme | Smart Automation | [PS] |
| Deadline | 30 September 2026 | [PS] |
| Ideas Counter | 0/500 | [PS] |
| Official Dataset Portal | https://esankhyiki.mospi.gov.in | [PS] |
To build an automated, scalable, and ethically compliant high-frequency web scraping and index-compilation engine that captures dynamic Indian airfares across representative city-pairs and advance-purchase windows, delivering a robust Real-time Airfare Price Index (APIx) and analytics dashboard for MoSPI and RBI inflation monitoring [PS].
The explicit problem statement provided by MoSPI DIID is deconstructed below into atomic, traceable requirements:
| Req ID | Requirement Description | Source Text | Interpretation | Implementation Implication | Confidence |
|---|---|---|---|---|---|
| REQ-A | Multi-Source Web Scraping Engine | "a robust, ethically-designed multi-source web-scraping engine using Python (Scrapy/Selenium/Playwright) capable of scheduled daily extraction from airline portals" | Build scheduled collectors for major domestic airlines (IndiGo, Air India, Air India Express, Akasa Air, SpiceJet) and OTAs (MakeMyTrip, Yatra, EaseMyTrip, Cleartrip, Ixigo, Goibibo). | Python-based Playwright/Scrapy service with CRON scheduling, rotating user-agents, and modular site parsers. | [PS] |
| REQ-B | Anti-Bot & Ethical Compliance Handling | "Scraping must handle JavaScript-rendered pages, dynamic CAPTCHAs, anti-bot measures, IP rotation, and session management while remaining compliant with the robots.txt and terms of service of source websites, with appropriate rate-limiting and ethical-scraping safeguards." | Scraper must bypass Cloudflare/Akamai bot detectors ethically using headful/stealth modes, rotating proxies, humanized delay rates, and strict adherence to robots.txt crawl delays. |
Integration of playwright-stealth, rotating residential/datacenter proxy pools, solver callbacks for CAPTCHA, and rate limiters. |
[PS] |
| REQ-C | City-Pair Basket & Passenger Statistics Weighting | "maintains a basket of representative city-pairs (such as DEL-BOM, DEL-BLR, BOM-BLR, DEL-CCU, BLR-HYD, MAA-DEL, etc.) selected on the basis of DGCA passenger-traffic data" | Define representative domestic flight routes based on Directorate General of Civil Aviation (DGCA) monthly passenger traffic data and assign route weights. | Configurable DB table storing city-pairs and their corresponding DGCA Passenger Statistics Data (PSD) weight fractions. | [PS] |
| REQ-D | Advance-Purchase Windows | "shall capture fares for multiple advance-purchase windows (T+1, T+7, T+15, T+30, T+45 days)." | For every route, daily scraping must query flight dates corresponding to $T+1, T+7, T+15, T+30, T+45$ days ahead from the run date. | Query generator engine calculating target flight dates ($T+N$) dynamically for every scraping execution. | [PS] |
| REQ-E | Data Cleaning & Price Decomposition Pipeline | "cleaned and de-duplicated airfare database with metadata such as origin, destination, carrier, advance-purchase window, fare-class, base fare, taxes and total fare... removes outliers, handles missing values, accounts for cancellations/sold-out flights, and separates base fare from taxes, user-development fee and convenience charges." | Raw scraped HTML/JSON must be sanitized. Taxes, UDF, convenience fees must be split from base fare. Anomalous price spikes and missing flights must be treated. | ETL processing pipeline using Pandas/Polars with regex price extractors, IQR/Z-score outlier filtering, and imputation/omission logic. | [PS] |
| REQ-F | Index Construction Module | "an index-construction module based on PSD given routes and weights... computes a Real-time Airfare Price Index (APIx) at daily, weekly and monthly frequencies." | Implement standard statistical price index formula (Jevons elementary aggregate combined with Laspeyres weighted index) using PSD route weights. | Mathematical computation service running daily post-cleaning to generate daily, weekly, and monthly APIx index values. | [PS] |
| REQ-G | Interactive Web Dashboard & Export API | "web-based interactive dashboard showing the daily Airfare Price Index... visuali[ze] price trends, sector-wise heatmaps, lead-time elasticity curves, and provide an API that the NSO and RBI can consume." | Interactive dashboard with route heatmaps, elasticity curves, and secure REST API endpoints for MoSPI/NSO/RBI data integration. | React/Next.js frontend with Tailwind CSS and Recharts/D3.js; FastAPI backend providing OAuth2-secured REST endpoints. | [PS] |
| REQ-H | DGCA Backtesting & Verification | "demonstrate at least 30 days of back-tested results against publicly available DGCA monthly average-fare data." | Validate system accuracy by comparing calculated monthly index trends against DGCA published monthly average route fares over a 30-day window. | Automated statistical validation script comparing APIx synthetic historical data against DGCA monthly airfare reports. | [PS] |
| Stakeholder | Goal | Current Pain | System Need | Required Information | Constraints | Success Condition |
|---|---|---|---|---|---|---|
| National Statistical Office (NSO / MoSPI) | Incorporate real-time, online air travel cost variations into the monthly CPI basket [PS]. | Manual price collection from offline outlets misses 90%+ online transactions and dynamic fare surges [PS]. | Automated, auditable daily fare collection engine and index generation module [PS]. | Raw fare quotes, decomposed taxes/UDF, route weights, Jevons/Laspeyres index values [PS]. | Must strictly comply with official statistical standards and data governance [KNOWN]. | Seamless integration into CPI 'Transport & Communication' sub-index [INFERENCE]. |
| Reserve Bank of India (RBI - Monetary Policy Committee) | Track high-frequency inflation expectations and lead indicators for policy rate decisions [PS]. | CPI data released monthly with a 12-day lag; airfare volatility is uncaptured in real time [KNOWN]. | Automated REST API providing high-frequency (daily/weekly) APIx feed [PS]. | Daily index values, sector-wise price momentum, lead-time elasticity curves [PS]. | Requires high uptime, zero hallucinated data, and documented methodologies [INFERENCE]. | Reliable daily API feed with high correlation to macroeconomic trends [INFERENCE]. |
| Ministry of Civil Aviation / DGCA | Monitor airfare surges across domestic sectors and check predatory pricing or excessive gouging [RESEARCHED]. | Lack of consolidated, independent multi-source pricing dashboard across airlines and OTAs [RESEARCHED]. | Sector-wise heatmaps, lead-time pricing curves, and airline price comparison views [PS]. | Fares by advance-purchase window ($T+1$ to $T+45$), route-level average fares, carrier comparison [PS]. | Fares are unregulated under Aircraft Rules 1937 Rule 135; monitoring only [RESEARCHED]. | Instant visibility into peak holiday price spikes and sector gouging [INFERENCE]. |
| SIH Hackathon Review Panel & Judges | Evaluate technical feasibility, data accuracy, architecture design, and practical utility [INFERENCE]. | Prototype claims without backtesting, illegal web scraping, or non-functional scrapers [INFERENCE]. | Working live prototype with 30-day DGCA backtest proof, ethical scraping safeguards, and clear UI [PS]. | System architecture, live scraping log, backtest statistical alignment metrics ($R^2$, MAPE) [PS]. | 4-6 student team, restricted build timeline, hackathon sandbox limitations [INFERENCE]. | Flawless live demo showing real-time extraction, cleaning, indexing, and API [INFERENCE]. |
| Proposed Feature / Module | Justifying Requirement ID | Exact PS Target Addressed | Operational Purpose |
|---|---|---|---|
| Playwright/Scrapy Web Scraper Swarm | REQ-A, REQ-B | Multi-source scraping from IndiGo, Air India, Akasa, SpiceJet, and OTAs [PS]. | Automatically extracts raw fare quotes on a scheduled daily cron job [PS]. |
| Stealth & Proxy Middleware (Playwright-Stealth / Rate Limiter) | REQ-B | Handling JS rendering, CAPTCHAs, anti-bot, robots.txt compliance [PS]. |
Prevents IP blocking, solves challenge pages, and maintains ethical crawling limits [PS]. |
| DGCA Route Basket & Weighting Manager | REQ-C | Basket of city-pairs (DEL-BOM, DEL-BLR, etc.) weighted by DGCA PSD [PS]. | Configures target routes and applies passenger traffic weighting coefficients [PS]. |
| Advance-Purchase Window Generator ($T+1$ to $T+45$) | REQ-D | Capturing fares for $T+1, T+7, T+15, T+30, T+45$ days advance windows [PS]. | Generates target search dates dynamically to capture booking lead-time dynamics [PS]. |
| Data Cleaning & Fare Decomposition ETL Engine | REQ-E | De-duplication, outlier removal, separating base fare, taxes, UDF, convenience fee [PS]. | Transforms raw HTML/JSON into clean relational records with unbundled price components [PS]. |
| Index Compilation Module (Jevons + Laspeyres) | REQ-F | Computes Real-time Airfare Price Index (APIx) at daily, weekly, monthly frequencies [PS]. | Mathematically aggregates fare quotes into standardized index numbers [PS]. |
| Interactive Analytics Dashboard | REQ-G | Visualizes price trends, sector heatmaps, lead-time elasticity curves [PS]. | Provides intuitive UI for statistical analysts to explore route inflation patterns [PS]. |
| NSO / RBI Enterprise REST API | REQ-G | Secure API for NSO and RBI system consumption [PS]. | Delivers JSON index streams and metadata directly to government macroeconomic models [PS]. |
| 30-Day DGCA Historical Backtesting Suite | REQ-H | Demonstrate 30 days back-tested results against DGCA monthly average fares [PS]. | Validates accuracy of the index against official regulatory benchmarks [PS]. |
+-----------------------------------------------------------------------------------+
| ENVIRONMENTAL & DEPLOYMENT CONSTRAINTS |
+-----------------------------------------------------------------------------------+
| [Network & Anti-Bot Constraints] |
| * Anti-Bot Defenses: Cloudflare, Akamai, DataDome deployed on MMT/IndiGo [KNOWN]. |
| * IP Blocking: Aggressive rate-limiting on cloud provider IPs (AWS/GCP) [KNOWN]. |
| * Legal & Terms: Scraping must abide by robots.txt and ethical norms [PS]. |
+-----------------------------------------------------------------------------------+
| [Hardware & Compute Constraints] |
| * Headless Browsers: High CPU/RAM consumption (Chromium instance ~150MB RAM) [KNOWN].|
| * Parallelization: Scraping 6 carriers x 6 OTAs x 10 routes x 5 windows = 3,600 |
| queries daily requires managed queue concurrency [INFERENCE]. |
+-----------------------------------------------------------------------------------+
| [Data & Domain Constraints] |
| * Unbundled Pricing: Base fare vs User Development Fee (UDF) vs GST vs Fee [PS]. |
| * Dynamic Inventory: Seats sell out rapidly, leading to null quotes [PS]. |
| * Fare Classes: Economy vs Premium Economy vs Business differences [PS]. |
+-----------------------------------------------------------------------------------+
| [Government & Administrative Constraints] |
| * Statistical Rigor: Index methodology must match NSO/COICOP 2018 guidelines [KNOWN].|
| * API Security: Strict role-based access control (RBAC) and audit logging [INFERENCE].|
+-----------------------------------------------------------------------------------+
To ensure technical feasibility, five critical research questions were identified and investigated:
requests fail due to JavaScript rendering and TLS fingerprinting [KNOWN]. Evasion requires Playwright with --disable-blink-features=AutomationControlled, rotating residential proxies, randomized request intervals, and Playwright-Stealth browser context patches [RESEARCHED].+-----------------------------------------------------------------------------------+
| DATA CATEGORIZATION MATRIX |
+-----------------------------------------------------------------------------------+
| [A. Explicitly Mentioned in PS] |
| - Airline Fares (Base Fare, Taxes, UDF, Convenience Fee, Total Fare) [PS] |
| - City-Pairs (DEL-BOM, DEL-BLR, BOM-BLR, DEL-CCU, BLR-HYD, MAA-DEL) [PS] |
| - Advance-Purchase Windows (T+1, T+7, T+15, T+30, T+45 days) [PS] |
| - Carrier Names (IndiGo, Air India, Air India Express, Akasa Air, SpiceJet) [PS] |
| - OTA Portals (MakeMyTrip, Yatra, EaseMyTrip, Cleartrip, Ixigo, Goibibo) [PS] |
| - DGCA Monthly Average Fare Data & Passenger Statistics Data (PSD) [PS] |
+-----------------------------------------------------------------------------------+
| [B. Required by Inference] |
| - Flight Metadata (Flight Number, Departure Time, Arrival Time, Duration, Stops) |
| - Fare Class / Cabin Category (Economy Saver vs Economy Flex) |
| - Scrape Timestamp and HTTP Response Status Code |
+-----------------------------------------------------------------------------------+
| [C. Data That Must Be Collected] |
| - Daily live HTML/JSON responses from target airline & OTA search endpoints |
+-----------------------------------------------------------------------------------+
| [D. Data That Can Be Synthetically Generated for Hackathon Sandbox] |
| - Historical 30-day daily fare snapshots for backtest suite if live historical |
| scraping window is restricted during the 24-48 hour hackathon build [ASSUMPTION]|
+-----------------------------------------------------------------------------------+
| [E. Data That Needs Validation] |
| - Exact route weight percentages in the new 2024 CPI base series [NEEDS VALIDATION]|
+-----------------------------------------------------------------------------------+
| Data Type | Purpose | Ideal Real-World Source | Hackathon Substitute | Access Method | Availability | Privacy Sensitivity | Confidence |
|---|---|---|---|---|---|---|---|
| Raw Fare Quotes | Extract live flight prices across sectors and advance windows | Live Airline Websites & OTAs | Automated Playwright / Scrapy Scrapers | Web Scraping (Headless / API calls) | Real-time Public | None (Public Pricing Data) | [PS] |
| Passenger Traffic Weights (PSD) | Assign route weights for Laspeyres higher-level aggregation | DGCA Monthly Domestic Air Transport Reports | DGCA Public Monthly Traffic CSV/PDF Datasets | Download / Manual PDF Parsing | Public Government Data | None | [PS, RESEARCHED] |
| Historical Route Fares | Conduct 30-day backtesting against official averages | DGCA Tariff Monitoring Unit Monthly Reports | Synthetic 30-day daily fare generator calibrated on DGCA stats | PDF Download / OpenCity Aviation Dataset | Public Government Data | None | [PS, RESEARCHED] |
| Airfare Component Split | Unbundle base fare, statutory taxes (GST), airport fees (UDF), convenience charges | Airline Checkout Page Breakdown | DOM Parser splitting tax summary nodes | DOM/JSON Selector Regex Extraction | Public Breakdown | None | [PS] |
| System Audit Logs | Track scraper success rates, IP blocks, CAPTCHA occurrences | Internal System Logging Engine | PostgreSQL / Structured Log File | Internal Database / Logger | Self-Generated | Low (Internal operational metadata) | [INFERENCE] |
| Existing System / Approach | Description | Strengths | Weaknesses | Relevance | Remaining Gap | Source | Confidence |
|---|---|---|---|---|---|---|---|
| Manual Offline CPI Price Collection (MoSPI Current) | NSO field officers visit designated physical travel agency outlets monthly to collect ticket quotes [PS]. | Reliable, established methodology for traditional offline goods [KNOWN]. | Misses 90%+ of online sales; fails to capture dynamic intraday price swings, lead-time pricing, and OTA discounts [PS]. | Direct baseline to be replaced/augmented. | Cannot handle high-frequency dynamic pricing or advance booking windows [PS]. | MoSPI CPI Manual / PS | [PS, KNOWN] |
| US BLS Air Passenger Fares Index | US Bureau of Labor Statistics samples airfares using DOT 40% ticket survey data (OD40) [RESEARCHED]. | Highly accurate based on actual transaction records [RESEARCHED]. | 2 to 3-month reporting lag; requires mandatory airline data submission regulatory mandates [RESEARCHED]. | Benchmarks official CPI airfare index methodology. | Inapplicable in India without mandatory real-time airline transaction data sharing [INFERENCE]. | US BLS CPI Factsheet | [RESEARCHED] |
| Commercial Travel Aggregators (Google Flights / Skyscanner) | Commercial meta-search engines aggregating flight prices via GDS APIs (Amadeus/Sabre) and direct links [KNOWN]. | Global coverage, high availability, polished consumer UX [KNOWN]. | Proprietary closed systems; no public raw index calculation; includes convenience/promotional distortions [INFERENCE]. | Shows multi-source price aggregation capabilities. | Does not compute official statistical price indices (Jevons/Laspeyres) or expose government APIs [INFERENCE]. | Public Knowledge | [KNOWN] |
| Commercial Web Scraping Services (TravelScrape / BrightData) | Enterprise web scraping APIs providing structured flight pricing feeds to OTAs [RESEARCHED]. | High proxy success rate, handles complex anti-bot systems [RESEARCHED]. | High recurring enterprise cost ($500-$5000/month); no statistical index aggregation module [RESEARCHED]. | Proves feasibility of automated flight fare extraction at scale. | Lacks statistical index math, fare unbundling for CPI rules, and government dashboard [INFERENCE]. | TravelScrape / WebDataInsights | [RESEARCHED] |
We evaluate three candidate solution architectures for the 4-6 student team:
CANDIDATE APPROACHES EVALUATION
+---------------------------+ +---------------------------+ +---------------------------+
| APPROACH 1 | | APPROACH 2 | | APPROACH 3 |
| Direct Playwright Headless| | Multi-Tier Hybrid Engine | | Distributed Serverless |
| Scraping Engine | | (APIs + Playwright Engine)| | Cloud Swarm |
+---------------------------+ +---------------------------+ +---------------------------+
| * Single Python service | | * GDS/Public APIs first | | * AWS Lambda / GCP Run |
| * Playwright-Stealth | | * Fallback Playwright | | * Serverless Playwright |
| * Scheduled CRON jobs | | * High resilience | | * Micro-worker nodes |
| * PostgreSQL + Redis | | * Fast execution | | * Scalable & elastic |
+---------------------------+ +---------------------------+ +---------------------------+
| Evaluation Criteria | Approach 1: Direct Playwright Scraping Engine | Approach 2: Multi-Tier Hybrid Engine (APIs + Fallback Scraper) | Approach 3: Distributed Serverless Cloud Swarm |
|---|---|---|---|
| Mechanism | Centralized Python service running Playwright-Stealth and Scrapy with rotating proxies on fixed schedules [INFERENCE]. | Tries public flight search APIs / network XHR intercepts first; falls back to Playwright headless rendering if blocked [INFERENCE]. | Deploys hundreds of ephemeral AWS Lambda / Cloud Run container tasks running headless Chromium [INFERENCE]. |
| Problem Fit | High. Directly fulfills all explicit PS requirements [INFERENCE]. | Excellent. Combines rapid API/XHR extraction with full headless rendering resilience [INFERENCE]. | Moderate. Solves scale but introduces high cold-start latency and proxy binding issues [INFERENCE]. |
| Accuracy Potential | High ($95%+$ quote capture rate) [INFERENCE]. | Very High ($98%+$ quote capture rate) [INFERENCE]. | High ($90%+$ quote capture rate) [INFERENCE]. |
| Data Requirements | Direct target URLs, DOM CSS/XPath selectors, proxy endpoints [INFERENCE]. | API headers, session tokens, reverse-engineered XHR endpoints, DOM selectors [INFERENCE]. | Container images (Docker with Chromium), queue messages, proxy endpoints [INFERENCE]. |
| Complexity | Moderate (Single codebase, straightforward orchestration) [INFERENCE]. | Moderate-High (Requires maintaining both API/XHR parsers and DOM fallback scripts) [INFERENCE]. | High (Complex cloud infrastructure, distributed state, cold starts) [INFERENCE]. |
| Explainability | High (Clear execution logs and DOM selector lineage) [INFERENCE]. | High (Explicit source logging for API vs Scraping) [INFERENCE]. | Moderate (Distributed execution tracing required) [INFERENCE]. |
| Cost | Low ($\approx \text{₹}1,000-\text{₹}3,000/\text{month}$ for basic residential proxy pool) [INFERENCE]. | Low-Moderate ($\approx \text{₹}1,500-\text{₹}4,000/\text{month}$) [INFERENCE]. | High (Cloud function runtime costs + residential proxy usage) [INFERENCE]. |
| Scalability | Medium (Scales to 50 concurrent browser threads on a single VPS) [INFERENCE]. | High (API calls execute in milliseconds; browser runs only when needed) [INFERENCE]. | Extremely High (Horizontal serverless expansion) [INFERENCE]. |
| Hackathon Feasibility | Very High (Can be fully built, tested, and demonstrated in 24-48 hours) [INFERENCE]. | High (Buildable if focus is kept on top 3 airlines + 2 OTAs) [INFERENCE]. | Low (Cloud setup and Chromium serverless packaging consumes too much hackathon time) [INFERENCE]. |
| Production Feasibility | High [INFERENCE]. | Excellent [INFERENCE]. | High [INFERENCE]. |
| Primary Risk | Target DOM structural changes or IP bans during live demo [INFERENCE]. | Unannounced API changes or token expiration [INFERENCE]. | Cloud cost overruns and IP token binding failures [INFERENCE]. |
We recommend Approach 2: Multi-Tier Hybrid Ingestion Engine as the winning architecture for the hackathon team [INFERENCE].
Why Approach 2 Wins: Approach 2 leverages rapid network XHR/JSON response interception (reverse-engineered internal search endpoints used by React/Vue frontends of OTAs like EaseMyTrip, Yatra, and Ixigo) as the primary ingestion method [INFERENCE]. This allows fetching search results in under $2$ seconds per route window without rendering heavy JavaScript images and CSS [INFERENCE]. When an airline portal (such as IndiGo or Air India) employs heavy anti-bot protections or obfuscated payload tokens, the system seamlessly falls back to a Playwright-Stealth headless browser collector that renders the complete page and extracts DOM price elements [INFERENCE]. This dual strategy delivers high speed, minimal proxy bandwidth consumption, and complete extraction reliability [INFERENCE].
Why Alternatives Were Rejected:
+-----------------------------------------------------------------------------------+
| APIx SYSTEM ARCHITECTURE |
+-----------------------------------------------------------------------------------+
[LAYER 1: TARGET DATA SOURCES]
+-------------------+ +-------------------+ +-------------------+ +-------------------+
| Airline Portals | | Airline Portals | | OTA Portals | | DGCA Statistics |
| (IndiGo, AirIndia)| | (Akasa, SpiceJet) | | (MMT, EaseMyTrip) | | (Monthly Traffic) |
+---------+---------+ +---------+---------+ +---------+---------+ +---------+---------+
| | | |
+----------------------+----------+-----------+ |
| |
[LAYER 2: HYBRID INGESTION ENGINE] v |
+-------------------------------------------------------------------+ |
| Scheduled Extraction Manager (Celery Cron / Redis Queue) | |
| * Route & Advance-Window Query Generator (T+1 to T+45) | |
+-----------------------------------+-------------------------------+ |
| |
v |
+-------------------------------------------------------------------+ |
| Multi-Tier Collector Workers | |
| * Primary: Async HTTP / XHR JSON Interceptor (httpx/Scrapy) | |
| * Fallback: Playwright-Stealth Headless Chromium Renderers | |
| * Proxy & Evasion: Smart Proxy Rotator + User-Agent Spoofing | |
+-----------------------------------+-------------------------------+ |
| |
v |
[LAYER 3: DATA PROCESSING & ETL PIPELINE] |
+-------------------------------------------------------------------+ |
| Raw Fare Ingestion Queue & Normalization Pipeline | |
| * Unbundling Module: Split Base Fare, CGST/SGST, UDF, Convenience| |
| * Cleaning Module: IQR Outlier Filter + Sold-Out Null Handler | |
| * Deduplication & Schema Validator (Pydantic) | |
+-----------------------------------+-------------------------------+ |
| |
+-------------------+ |
| |
[LAYER 4: STORAGE & INDEX COMPUTATION] v v
+------------------------------------+ +-----------------------------------+
| PostgreSQL Database | | DGCA PSD Weight Configuration |
| * RawQuotes, CleanedQuotes, | | * Sector Weights (DEL-BOM, etc.) |
| DailyIndexValues, AuditLogs | +-----------------+-----------------+
+-----------------+------------------+ |
| |
v v
+-------------------------------------------------------------------+
| APIx Index Engine |
| * Step 1: Jevons Geometric Mean (Elementary Aggregates) |
| * Step 2: Laspeyres Weighting (Higher-Level Aggregate APIx) |
| * Frequencies: Daily, Weekly, Monthly Series Computation |
+-----------------------------------+-------------------------------+
|
v
[LAYER 5: PRESENTATION & INTEGRATION]
+-----------------------------------+-------------------------------+
| FastAPI Enterprise REST Backend |
| * NSO/RBI Authenticated Endpoints (/api/v1/index, /api/v1/backtest)|
| * Swagger / OpenAPI Interactive Documentation |
+-----------------------------------+-------------------------------+
|
v
+-------------------------------------------------------------------+
| Web Analytics Dashboard (Next.js 14 / Tailwind CSS / Recharts) |
| * Daily APIx Trend Viewer * Sector-Wise Price Heatmap |
| * Lead-Time Elasticity * 30-Day DGCA Backtest Comparator |
+-------------------------------------------------------------------+
httpx with randomized headers [INFERENCE]. If a target portal returns a 403 Forbidden, Cloudflare challenge, or dynamic JS wall, the task escalates to a Playwright-Stealth browser context with proxy rotation [INFERENCE].raw_fare_quotes table with scrape timestamps, status codes, and execution duration [INFERENCE].| Layer | Selected Technology | Why Selected | Alternative Considered | Why Alternative Rejected | Confidence |
|---|---|---|---|---|---|
| Collector Automation | Python Playwright + Scrapy | Native async support, superior stealth hooks, fast Chromium context switching, official Microsoft maintenance [RESEARCHED]. | Selenium Webdriver | Selenium sets explicit navigator.webdriver=true flags that trigger Cloudflare/Akamai blocks immediately [RESEARCHED]. |
[RESEARCHED] |
| Stealth Middleware | Playwright-Stealth + BrightData / ScrapingBee API (Fallback) | Patches Chromium fingerprint leaks (canvas, WebGL, navigator flags); proxy integration [RESEARCHED]. | Raw Puppeteer | Node.js Puppeteer requires cross-language bindings with Python backend ETL [INFERENCE]. | [RESEARCHED] |
| Backend API Framework | FastAPI (Python 3.12) | Asynchronous execution, automatic OpenAPI/Swagger spec generation, native Pydantic data validation [KNOWN]. | Express.js / Django | Express lacks native Python AI/data math ecosystem integration; Django is too heavy for microservices [INFERENCE]. | [KNOWN] |
| Database | PostgreSQL 16 + TimescaleDB Extension | Industrial reliability, relational schema support for route structures, native time-series hyper-tables for daily price ticks [KNOWN]. | MongoDB | Document store lacks transactional consistency required for official statistical index calculations [INFERENCE]. | [KNOWN] |
| Cache & Message Broker | Redis | High-performance in-memory queue for Celery scraping jobs and sub-millisecond API response caching [KNOWN]. | RabbitMQ | RabbitMQ introduces extra management overhead for a student hackathon setup [INFERENCE]. | [KNOWN] |
| Frontend Framework | Next.js 14 (React) + Tailwind CSS | Server-side rendering (SSR), fast UI rendering, clean modular components, professional design system [KNOWN]. | Plain HTML/JS or Angular | Plain JS lacks chart state management; Angular has a steeper learning curve for quick hackathon prototyping [INFERENCE]. | [KNOWN] |
| Data Analytics & Indexing | Pandas / NumPy / SciPy | De facto standard for vector arithmetic, geometric mean index math, IQR outlier filtering, and backtesting correlations [KNOWN]. | Custom C++ scripts | Unnecessary complexity; Pandas handles 100k daily records instantly in memory [INFERENCE]. | [KNOWN] |
| Visualization Charts | Recharts + D3.js | Native React charting library for responsive lead-time elasticity curves, time-series, and route heatmaps [KNOWN]. | Chart.js | Recharts integrates cleanly into React component trees with full TypeScript support [INFERENCE]. | [KNOWN] |
We strictly evaluate where AI/ML is genuinely beneficial versus where deterministic algorithms are required:
+-----------------------------------------------------------------------------------+
| AI/ML VS DETERMINISTIC RULES |
+-----------------------------------------------------------------------------------+
| [STRICT DETERMINISTIC RULE: Core Price Index Computation] |
| * Rule: Jevons Geometric Mean & Laspeyres Index Math MUST BE 100% DETERMINISTIC. |
| * Reason: Official statistical agencies (MoSPI, RBI, IMF) REJECT ML-based black- |
| box approximations or LLM estimations for official CPI inflation numbers. |
+-----------------------------------------------------------------------------------+
| [ALLOWED AI/ML COMPONENT 1: Anomaly & Outlier Detection] |
| * Purpose: Flag corrupt scraped quotes, bot trap prices, or erroneous promo codes.|
| * Model: Isolation Forest / One-Class SVM (Scikit-Learn). |
| * Input: Vector [BaseFare, TaxRatio, AdvanceDays, CarrierHistoricalMean]. |
| * Output: Anomaly Score (0 = Normal, 1 = Outlier / Corrupt Quote). |
+-----------------------------------------------------------------------------------+
| [ALLOWED AI/ML COMPONENT 2: Unbundled Fare Class Classification] |
| * Purpose: Parse non-standard HTML fee descriptions into standardized categories.|
| * Model: Fine-tuned DistilBERT / Regex NLP Classifier. |
| * Input: Unstructured fee string (e.g., "Convenience charges & User Fee"). |
| * Output: Categorized fields: Base, Tax, UDF, Optional_Ancillary. |
+-----------------------------------------------------------------------------------+
| AI/ML Component | Exact Purpose | Model Type | Input Vector | Output Vector | Data Required | Why AI Over Rule-Based? | Evaluation Metric | Failure Mode & Safeguard | Human Oversight |
|---|---|---|---|---|---|---|---|---|---|
| Outlier & Bot Trap Detector | Detect corrupt pricing quotes, extreme scraping bugs, or false zero-fares [INFERENCE]. | Isolation Forest / IQR Hybrid | [BaseFare, TaxRatio, AdvanceWindow, CarrierID, RouteID] |
Anomaly Flag (0 or 1), Anomaly Score |
1,000 historical fare quotes per route [INFERENCE]. | Handles complex non-linear interactions across advance windows better than static bounds [INFERENCE]. | Precision, Recall, $F_1$-Score ($>0.95$) | Failure: Valid holiday price surge flagged as anomaly. Safeguard: Fallback to 3x IQR rule if score is borderline [INFERENCE]. | Statistical analyst dashboard review queue for rejected quotes [INFERENCE]. |
| Unbundled Fee Text Classifier | Classify raw HTML fare breakdown strings into official CPI categories [INFERENCE]. | DistilBERT / Regex Fallback | Raw text string (e.g., "Passenger Service Fee incl. GST") | Category: [BASE_FARE, STATUTORY_TAX, AIRPORT_UDF, ANCILLARY] |
500 labeled fee strings from Indian travel portals [INFERENCE]. | Handles varied phrasing across 10+ different airlines and OTAs [INFERENCE]. | Accuracy ($>98%$) | Failure: Misclassifies UDF as Base Fare. Safeguard: Regex pattern matcher verifies explicit currency tokens [INFERENCE]. | Flagged low-confidence classifications ($<90%$) sent to admin review [INFERENCE]. |
-- Core Schema Definition for APIx System
CREATE TABLE city_pairs (
route_id SERIAL PRIMARY KEY,
origin_code VARCHAR(3) NOT NULL, -- e.g. DEL
destination_code VARCHAR(3) NOT NULL, -- e.g. BOM
dgca_psd_weight NUMERIC(6,4) NOT NULL, -- e.g. 0.1850 for DEL-BOM
is_active BOOLEAN DEFAULT TRUE
);
CREATE TABLE carriers (
carrier_id SERIAL PRIMARY KEY,
carrier_name VARCHAR(50) NOT NULL, -- e.g. IndiGo, Air India
code VARCHAR(10) UNIQUE NOT NULL,
is_ota BOOLEAN DEFAULT FALSE
);
CREATE TABLE raw_fare_quotes (
quote_id BIGSERIAL PRIMARY KEY,
carrier_id INT REFERENCES carriers(carrier_id),
route_id INT REFERENCES city_pairs(route_id),
advance_window_days INT NOT NULL, -- 1, 7, 15, 30, 45
flight_date DATE NOT NULL,
scrape_timestamp TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,
raw_payload JSONB NOT NULL,
http_status_code INT NOT NULL
);
CREATE TABLE cleaned_fare_quotes (
cleaned_id BIGSERIAL PRIMARY KEY,
quote_id BIGINT REFERENCES raw_fare_quotes(quote_id),
route_id INT REFERENCES city_pairs(route_id),
carrier_id INT REFERENCES carriers(carrier_id),
advance_window_days INT NOT NULL,
flight_date DATE NOT NULL,
base_fare NUMERIC(10,2) NOT NULL,
taxes_and_gst NUMERIC(10,2) NOT NULL,
user_development_fee NUMERIC(10,2) NOT NULL,
convenience_fee NUMERIC(10,2) DEFAULT 0.00,
total_effective_fare NUMERIC(10,2) NOT NULL,
is_outlier BOOLEAN DEFAULT FALSE
);
CREATE TABLE daily_index_values (
index_id SERIAL PRIMARY KEY,
calculation_date DATE UNIQUE NOT NULL,
apix_headline_value NUMERIC(8,4) NOT NULL, -- e.g. 104.5200
weekly_moving_avg NUMERIC(8,4),
monthly_moving_avg NUMERIC(8,4),
created_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP
);
+-----------------------------------------------------------------------------------+
| OFFLINE & LOW-NETWORK ARCHITECTURE |
+-----------------------------------------------------------------------------------+
| [Scraper Resilience] |
| * Local SQLite Queue Buffer: If PostgreSQL backend connection drops, workers |
| buffer raw JSON quotes locally in SQLite and retry upon reconnect [INFERENCE]. |
| * Exponential Backoff Retry: Failed HTTP requests retry at intervals (2s, 8s, 32s)|
| with randomized jitter to prevent rate-limit bans [INFERENCE]. |
+-----------------------------------------------------------------------------------+
| [Dashboard PWA Caching] |
| * Service Workers + IndexedDB: Next.js dashboard caches daily APIx index time- |
| series data locally in browser IndexedDB [INFERENCE]. |
| * Offline Dashboard Viewing: Statistical analysts can view cached heatmaps, |
| elasticity curves, and backtest reports without active internet [INFERENCE]. |
+-----------------------------------------------------------------------------------+
| Security/Governance Domain | Identified Risk / Context | Technical Compliance Safeguard | Implementation Details |
|---|---|---|---|
| Personal Data (PII) | Accidentally scraping passenger names, emails, or payment details [INFERENCE]. | Zero PII Collection Policy | Scrapers execute search queries only; no booking forms, user accounts, or personal details are ever submitted or stored [INFERENCE]. |
| Authentication & Authorization | Unauthorized access to MoSPI/RBI internal API streams [INFERENCE]. | OAuth2 with JWT & RBAC | FastAPI endpoints enforce Bearer Token authentication with Role-Based Access Control (Role: NSO_ANALYST, Role: RBI_CONSUMER) [INFERENCE]. |
| Rate-Limiting & Scraping Ethics | Overloading airline servers or violating terms of service [PS]. | Robots.txt & Token Bucket Compliance | Scrapers parse target robots.txt disallow paths, maintain a strict limit ($\le 1 \text{ req/5 sec}$ per domain), and execute during off-peak hours (01:00 AM - 04:00 AM IST) [PS, INFERENCE]. |
| Data Integrity & Non-Repudiation | Malicious tampering or falsification of calculated index numbers [INFERENCE]. | Cryptographic Audit Hash Chains | Raw scraped payloads are hashed using SHA-256 upon ingestion and linked to cleaning logs for verifiable statistical auditability [INFERENCE]. |
| Regulatory Validation | Deploying prototype calculations without statistical review [PS]. | Prototype Sandbox Disclaimer | Clear system UI notice stating: "APIx is an experimental research prototype developed for SIH 2026; index values require official MoSPI Expert Group validation prior to CPI publication." [INFERENCE]. |
+-----------------------------------------------------------------------------------+
| MVP SCOPE MATRIX |
+-----------------------------------------------------------------------------------+
| [MUST BUILD (Core Hackathon Scope)] |
| * Multi-source Scraper for Top 3 Airlines (IndiGo, Air India, Akasa Air) & 2 OTAs|
| (EaseMyTrip, MakeMyTrip) [PS]. |
| * Coverage for Top 6 DGCA Routes (DEL-BOM, DEL-BLR, BOM-BLR, DEL-CCU, BLR-HYD, |
| MAA-DEL) across 5 Advance Windows (T+1, T+7, T+15, T+30, T+45) [PS]. |
| * Automated Cleaning Engine (unbundling base fare, taxes, UDF, stripping fees) [PS].|
| * Index Construction Engine (Jevons elementary + Laspeyres weighted APIx) [PS]. |
| * Next.js Web Dashboard showing APIx trends, heatmaps, and lead-time curves [PS].|
| * FastAPI REST Endpoint for NSO/RBI API consumption [PS]. |
| * 30-Day Historical Backtest against published DGCA average route fares [PS]. |
+-----------------------------------------------------------------------------------+
| [SHOULD BUILD (Secondary Value Add)] |
| * Playwright-Stealth automatic anti-bot retry fallback mechanism [PS]. |
| * Export capabilities (CSV, JSON, Excel) for statistical analysts [INFERENCE]. |
| * Interactive route-level price elasticity simulator slider [INFERENCE]. |
+-----------------------------------------------------------------------------------+
| [NICE TO HAVE (If Time Permits)] |
| * Multi-language support (English / Hindi) for dashboard UI [INFERENCE]. |
| * Automated email/Slack alerts for unusual sector price surges ($>50\%$) [INFERENCE].|
+-----------------------------------------------------------------------------------+
| [DO NOT BUILD / OUT OF SCOPE] |
| * Flight ticket booking engine or payment gateway integration [INFERENCE]. |
| * International flight route scraping (restricted to domestic India) [PS]. |
| * Commercial proxy network infrastructure management [INFERENCE]. |
+-----------------------------------------------------------------------------------+
During the SIH live presentation, live airline websites may experience temporary network slowdowns, Cloudflare blocking, or maintenance windows [INFERENCE]. To ensure a flawless live demo without misrepresenting data, the team will implement a transparent dual-mode demonstration pipeline [INFERENCE]:
+-----------------------------------------------------------------------------------+
| LIVE DEMO SIMULATION ARCHITECTURE |
+-----------------------------------------------------------------------------------+
[DEMO DASHBOARD TOGGLE SWITCH]
|
+---------------------+---------------------+
| |
v v
[MODE A: LIVE EXTRACTOR] [MODE B: REPLAY SIMULATOR]
* Trigger live scraping run * Loads real historical JSON
against 1 live route (e.g., DEL-BOM) scraped payloads from previous
* Shows real-time browser terminal, 30 days of execution.
XHR interception, and live cleaning. * Preserves exact production
* Proves technical viability live. ETL, index math, and API flow.
* Badge explicitly states:
"REPLAY SIMULATED DATA"
Mode A and triggers a live scraping job for route DEL-BOM ($T+7$ days) on EaseMyTrip/IndiGo [INFERENCE]. Judges see the Playwright headless browser log, DOM parsing, tax unbundling, and insertion into PostgreSQL in real time [INFERENCE].Mode B to showcase full system analytics generated over a 30-day run [INFERENCE]. Judges interact with the APIx Index Trend, Sector Heatmaps, Lead-Time Elasticity Curves, and the DGCA 30-Day Backtest Validation Panel showing statistical correlation metrics ($R^2 = 0.92$, $\text{MAPE} = 3.4%$) [INFERENCE].curl request to the FastAPI endpoint /api/v1/index/daily, demonstrating raw JSON delivery formatted for NSO/RBI systems [INFERENCE].+-----------------------------------------------------------------------------------+
| PROJECT IMPLEMENTATION TIMELINE |
+-----------------------------------------------------------------------------------+
| Phase 1: Environment & Scraper Engine (Weeks 1 - 3) |
| * Setup Python Playwright, Scrapy, Redis queue, and PostgreSQL database. |
| * Build site-specific parsers for IndiGo, Air India, Akasa, MMT, EaseMyTrip. |
| * Milestone 1: Verified daily live scraping on 6 routes without IP bans. |
+-----------------------------------------------------------------------------------+
| Phase 2: ETL Pipeline, Cleaning & Unbundling (Weeks 4 - 5) |
| * Implement regex/Pydantic fare split (Base, GST, UDF, Convenience Fee). |
| * Build IQR outlier filtering and missing value handling logic. |
| * Milestone 2: Clean database populated with unbundled, validated quotes. |
+-----------------------------------------------------------------------------------+
| Phase 3: Index Engine & DGCA Backtesting (Weeks 6 - 7) |
| * Code Jevons elementary index & Laspeyres weighted higher-level APIx engine. |
| * Ingest DGCA passenger traffic statistics (PSD) and compute weights. |
| * Milestone 3: 30-day backtest execution showing correlation with DGCA data. |
+-----------------------------------------------------------------------------------+
| Phase 4: Dashboard Development & REST API (Weeks 8 - 9) |
| * Build Next.js dashboard UI (Trend charts, heatmaps, elasticity curves). |
| * Build FastAPI REST endpoints with OAuth2 JWT security for NSO/RBI. |
| * Milestone 4: Fully integrated web platform and API documentation. |
+-----------------------------------------------------------------------------------+
| Phase 5: Testing, Validation & SIH Demo Preparation (Week 10 - Sept 30, 2026) |
| * End-to-end load testing, security audits, and offline PWA validation. |
| * Finalize live demo toggle, presentation slides, and user manual. |
| * Milestone 5: Complete production-ready SIH Dossier and Code Repository. |
+-----------------------------------------------------------------------------------+
| Test Category | Test Target / Scenario | Methodology / Tool | Expected Benchmark / Criteria | Confidence |
|---|---|---|---|---|
| Functional Scraper Test | Extraction across 6 routes x 5 advance windows x 5 portals [PS]. | PyTest automated test suite | $>95%$ successful HTTP/DOM quote extraction rate [INFERENCE]. | [INFERENCE] |
| Data Cleaning Test | Unbundling fare components (Base, GST, UDF, Fees) [PS]. | Pydantic Schema Validation | $100%$ zero-null base fare and tax allocation [INFERENCE]. | [INFERENCE] |
| Outlier Filter Test | Inject artificial $10x$ price spikes and zero-fares [PS]. | Unit testing with PyTest | $100%$ detection and flagging of artificial outliers [INFERENCE]. | [INFERENCE] |
| Index Math Test | Verify Jevons geometric mean and Laspeyres weighting [PS]. | Mathematical test against Excel/R baseline calculation | Difference $<0.0001%$ (floating point precision match) [INFERENCE]. | [INFERENCE] |
| DGCA Backtest Validation | 30-day calculated APIx vs published monthly DGCA sector average fares [PS]. | Statistical correlation ($R^2$, MAPE) in Python | $R^2 \ge 0.85$, Mean Absolute Percentage Error (MAPE) $\le 5%$ [INFERENCE]. | [INFERENCE] |
| API Load Test | NSO/RBI concurrency benchmark (100 parallel GET requests) | Locust / K6 load generator | Response time $<200\text{ ms}$, 0% error rate [INFERENCE]. | [INFERENCE] |
| Security Audit | SQL injection, unauthorized API access, token tampering | OWASP ZAP automated scan | Zero high or critical vulnerabilities [INFERENCE]. | [INFERENCE] |
| Identified Risk | Likelihood (L) | Impact (I) | Severity (L x I) | Mitigation Strategy | Confidence |
|---|---|---|---|---|---|
| Aggressive Portal Anti-Bot / IP Ban | High | High | HIGH | Use multi-tier ingestion (XHR intercept first, Playwright-Stealth second), rotate residential proxies, enforce humanized rate delays [INFERENCE]. | [INFERENCE] |
| Portal DOM Structure Change | High | Medium | MEDIUM | Decouple DOM selectors into dynamic JSON configuration files; implement fallback to network API payload interception [INFERENCE]. | [INFERENCE] |
| Extreme Price Volatility / Gouging Distortion | Medium | Medium | MEDIUM | Implement robust Jevons geometric averaging (less sensitive to single-quote spikes) and IQR outlier boundaries [RESEARCHED, INFERENCE]. | [RESEARCHED] |
| Third-Party Proxy Service Failure During Demo | Low | High | HIGH | Deploy local Replay Simulator (Mode B) with pre-scraped 30-day production data backup [INFERENCE]. |
[INFERENCE] |
| Missing Flight Dates / Sold-Out Routes | Medium | Low | LOW | Forward-fill missing price quotes using previous day's price relative for up to $3$ days as per standard CPI imputation rules [RESEARCHED, INFERENCE]. | [RESEARCHED] |
| Resource Category | Hackathon Prototype Cost (INR) | Production System Cost (INR / Month) | Scalability Strategy |
|---|---|---|---|
| Compute / Hosting | ₹0 (Free Tier Vercel for Frontend + Render / Railway for FastAPI) [ASSUMPTION]. | ₹15,000 - ₹30,000 / month (AWS EC2 / Cloud Run auto-scaling cluster) [INFERENCE]. | Horizontal worker node expansion based on queue depth [INFERENCE]. |
| Database & Cache | ₹0 (Free Tier PostgreSQL on Supabase / Neon + Upstash Redis) [ASSUMPTION]. | ₹12,000 / month (AWS RDS PostgreSQL Multi-AZ + ElastiCache) [INFERENCE]. | Database read-replicas and partition by year/month [INFERENCE]. |
| Proxy Infrastructure | ₹500 - ₹1,500 (Trial residential proxy package for demo runs) [ASSUMPTION]. | ₹25,000 / month (Enterprise residential rotating proxy pool e.g., BrightData / Oxylabs) [INFERENCE]. | Dynamic proxy routing (use datacenter proxies for open OTAs, residential for strict airlines) [INFERENCE]. |
| CAPTCHA Solving Service | ₹300 (Pay-as-you-go CAPTCHA solver API credits) [ASSUMPTION]. | ₹3,000 / month (Automated CAPTCHA solver API subscription) [INFERENCE]. | Optimize stealth parameters to reduce CAPTCHA trigger frequency to $<1%$ [INFERENCE]. |
| Total Estimated Cost | ~₹1,000 - ₹2,300 [ASSUMPTION]. | ~₹55,000 - ₹70,000 / month [INFERENCE]. | High production cost efficiency relative to manual nationwide NSO field collection [INFERENCE]. |
| Innovation Dimension | Generic Hackathon Submission | Proposed APIx System | Direct PS Alignment |
|---|---|---|---|
| Ingestion Architecture | Basic Selenium script scraping a single website; breaks on CAPTCHA. | Multi-tier hybrid engine (XHR network intercept + Playwright-Stealth + proxy rotation) covering 5 airlines and 2 OTAs [PS]. | REQ-A, REQ-B [PS] |
| Data Cleaning | Stores raw scraped ticket prices without unbundling taxes or fees. | Automated ETL unbundling base fares, statutory GST, airport UDF, and stripping OTA convenience charges [PS]. | REQ-E [PS] |
| Statistical Methodology | Simple arithmetic average of scraped fares. | Standard Jevons elementary geometric mean + Laspeyres higher-level index weighted by DGCA Passenger Statistics Data (PSD) [PS, RESEARCHED]. | REQ-C, REQ-F [PS] |
| Advance-Purchase Depth | Queries same-day or single fixed flight date. | Multi-window time-series sampling ($T+1, T+7, T+15, T+30, T+45$ days) capturing lead-time price elasticity [PS]. | REQ-D [PS] |
| Validation & Backtesting | Unvalidated real-time numbers without historical context. | 30-day statistical backtesting engine evaluating calculated APIx against official published DGCA monthly route averages [PS]. | REQ-H [PS] |
| Tag Type | Item Description | Current Status / Action Required |
|---|---|---|
| [ASSUMPTION] | Free-tier hosting on Vercel/Supabase is sufficient for hackathon demonstration. | Validated. Low request volume during demo fits within standard free tiers [INFERENCE]. |
| [ASSUMPTION] | Synthetic 30-day historical data calibrated on DGCA stats can be used if live historical scraping is restricted during the build. | Team will pre-run scrapers for 5 days prior to hackathon and backfill remaining days using DGCA calibrated distributions [INFERENCE]. |
| [NEEDS VALIDATION] | Exact item weight percentage allocated to air travel in the newly launched CPI 2024 series. | Team must verify official MoSPI Expert Group report updates upon release [RESEARCHED]. |
| [NEEDS VALIDATION] | Specific API access permissions or security certificates required by RBI/NSO servers. | System defaults to standard OAuth2 JWT REST API specification [INFERENCE]. |
The student team should proceed with building the Real-time Airfare Price Index System (APIx) using Approach 2 (Multi-Tier Hybrid Engine). This solution directly addresses every requirement of PS SIH26056, provides strong technical differentiation through statistical index rigor (Jevons + Laspeyres) and fare unbundling, and includes a mandatory 30-day DGCA backtest suite [PS, INFERENCE].
httpx [RESEARCHED].Reliable proxy rotation and stealth execution to prevent anti-bot IP bans across target airline portals (IndiGo, Air India, MakeMyTrip) during scheduled daily scraping runs [PS, INFERENCE].
Unannounced structural HTML/DOM updates by target travel portals breaking scraping selectors during a live judging evaluation [INFERENCE].
Accurately unbundling raw fare quotes into Base Fare, CGST/SGST, User Development Fees (UDF), and convenience charges across varied HTML structures [PS, INFERENCE].
Verify that target search endpoints for at least 2 airlines and 1 OTA can be queried via httpx or Playwright-Stealth without encountering unresolvable CAPTCHA blocks on standard cloud IPs [INFERENCE].
92 / 100 Justification: The required technologies (Playwright, FastAPI, PostgreSQL, Next.js) are well-documented standard open-source tools. The dataset is publicly accessible via web portals, and the statistical formulas (Jevons, Laspeyres) are mathematically straightforward to implement in Python Pandas [INFERENCE].
High [INFERENCE]
MoSPI Press Release & CPI 2024 Base Revision FAQs
DGCA Air Transport Statistics & Monthly Reports
IMF Consumer Price Index Manual: Theory and Practice
UK Office for National Statistics (ONS) - Web-scraped Price Indices Methodology
TravelScrape - Real-Time Travel Price Monitoring & Fare Scraping Analysis
What we think about this platform, and how it can help people solve SIH problems.
" 30M+ Google Gemini tokens went into researching, analyzing, and understanding all 233 SIH problem statements to make them easier to explore and solve. "
" The platform makes SIH problem statements much easier to understand. Having everything from the problem details to the procedure in one place. "
" Oh, you got ads? Well, we need to make money too! But, you can use our platform to help you win SIH and take home the prize money. "
Get in touch if you need help bringing your ideas to life, or simply have an interesting idea you'd like to talk through. I'm always open to a conversation and exploring new possibilities together.