← Home

Methodology

What Sanjaya does, where every number comes from, and what the current approximations are. This page is meant to be readable by journalists, researchers, and policy analysts who need to understand the limits before citing anything here.

What Sanjaya is

Sanjaya aggregates public Indian petroleum pricing data into a single daily view. It shows, at each of the four metros, what every rupee of the pump price pays for: refinery transfer price, dealer commission, central excise, and state VAT. It then overlays those components on nine years of history alongside Brent crude so that policy shocks and price stickiness become visible.

Sanjaya is independent. It is not commissioned by, endorsed by, or funded by any oil marketing company, ministry, or government body.

Data sources

How the waterfall is computed

For each (city, product) on the latest available date, Sanjaya computes the five-component breakdown as follows.

  1. Retail selling price (RSP) — taken directly from the PPAC daily PDF.
  2. Central excise total — Basic Excise + SAED + RIC + AIDC from the current-FY PPAC table.
  3. Dealer commission — the fixed per-kilolitre component from the latest effective PPAC row, converted to paise per litre. The hybrid 'percentage of billable price' portion is not yet modelled in the displayed number; it typically adds 0.05 to 0.10 paise per litre.
  4. State VAT — derived from the pre-VAT base using the state's percentage component. RSP = base × (1 + percent/100), so base = RSP / (1 + percent/100) and VAT = RSP − base.
  5. Refinery transfer price — the plug. What is left when you subtract excise, dealer commission, and state VAT from RSP. Any error in the upstream components lands here.

Known approximations

The current build uses the following simplifications. These will be tightened in future releases and are flagged in the data files via the raw_formula field.

  • State VAT uses only the percentage component of each formula. States with per-litre additives (Tamil Nadu adds Rs 11.52/L) or a surcharge on VAT (Bihar adds 30 percent) will show slightly under-stated VAT in the waterfall.
  • For 'percentage OR Rs X per litre whichever is higher' rules, the percentage is assumed dominant at current price levels. This holds for petrol and diesel across 2022 to 2026 but may not hold at lower underlying prices.
  • Crude overlay is Brent, not the authoritative Indian Basket. The two track closely but are not identical.
  • Historical excise rates are captured only for the current fiscal year at the moment. Pre-FY26 excise history backfill is pending.
  • State VAT history is not yet captured; only the current-rate snapshot is shown. Backfill of effective-dated rows is pending.

Refresh cadence

A GitHub Actions workflow runs daily at 02:30 UTC (08:00 IST) and scrapes the PPAC daily PDF, ECB FX feed, and FRED Brent series. A second workflow runs every Sunday at 03:00 UTC and refreshes the weekly tables: state VAT, central excise, dealer commission. Any new data lands in the repository as a commit, which triggers a Vercel rebuild; the static pages you are viewing are typically updated within 10 minutes of PPAC publication.

How to cite or reuse

The complete dataset is in the GitHub repository under /data. Every file is plain JSON or JSONL, typed in TypeScript, and kept small enough for direct clone. Git history is the audit trail: every scrape is a commit, every row has a scrape timestamp.

If you are a journalist, researcher, or policy analyst: fork the repo, cite Sanjaya as the intermediary, and cite PPAC as the primary source. If you find an error, raise a GitHub issue with the specific row and the expected value.