Methodology
We collect the project figures the government itself publishes and show them in a readable form, next to their source. Nothing more.
Principles
- Every number points to its source. We keep a copy of the page we collected it from, and anyone can download that copy.
- Facts and flags only. We say “14 months past scheduled completion”; we do not guess at reasons or blame anyone.
- The same rules apply to every party, MLA and local body.
Flag rules · Rule version 2
A flag only marks that published figures crossed a threshold. It is not evidence of wrongdoing. Each flag shows the figures it rests on and the version of the rule that raised it.
Today is past the scheduled completion date and KIIFB does not list the work as ended (Completed, Foreclosed, Terminated or Package Disposed).
Reported financial progress is 25 or more percentage points ahead of reported physical progress.
The latest estimated amount is 1.2 times or more the amount we first recorded.
A work is listed as “Inprogress” and no reported figure has changed on the dashboard for 90 days or more.
On KIIFB's project status page, the amount paid for a work is more than 1% above the amount approved for it.
Stages
KIIFB's status labels, such as “WBS Base One Approved”, are terms from its internal workflow. To make them readable we group them into the stages below. The grouping is ours; each project page also shows KIIFB's original label.
KIIFB does not set out this order in full anywhere. Its guidelines for road works (2018) place the Project Execution Document after technical sanction, so we put it in that stage. KIIFB has not published what “WBS Base Zero” and “Base One” mean. Most projects at Base One have started spending; none at Base Zero has. We put both in the work plan stage.
| Stage | KIIFB labels containing |
|---|---|
| Preparation | Project Initiated, Project Created, Design Basis Report, Submitted for Confirmation |
| Technical sanction | Technical Sanction, Project Execution Document |
| Tender | Tender |
| Contract | Contract Process |
| Work plan | WBS, Payment milestone |
| Returned to agency | Return to SPV |
Where the data comes from
We read KIIFB's integrated dashboard (gis.kiifb.org) once a day. We store a new copy only when its contents have changed, and every field that changed is recorded on the project's page.
We also read KIIFB's project status page (kiifb.org/prjStatus.jsp) once a day. It gives, for each project, the amount approved and the amount released, and the same for each work. For a project filed under several districts, the “released” figure on KIIFB's list is an exact multiple of what its works add up to (twice, four times, in one case fourteen times): the list counts the same payments once per district. We therefore take what has been paid from the works, and show KIIFB's listed figure beside it wherever the two differ. When a project's figures move we re-read its work table the same night; the rest are re-read in turn, a few each night.
We read the Kerala Public Works Department's DLP (defect liability period) list once a week. A work's district is that of the PWD office handling it, taken from the office's name; some offices also handle works in neighbouring districts. Those pages print contractors' and officers' phone numbers; we do not keep them. So for this source the stored copy is our extract of the rows, not the page itself. Each row's markup also carries the agreed contract amount, commented out so that PWD's page does not display it; we read and show it, and say so on the page. The contractor's address, hidden the same way, we do not read. PWD gives works no identifier; when a work drops off the list we record that. PWD's list repeats some works; rows with the same name, start date and contractor are counted once here, so our count is lower than PWD's.
Joining the two sources
KIIFB's two pages share no identifier. A “project” on the status page is a sub-project on the dashboard, and its “works” are the dashboard's contract packages. We join them when the approved amount (to the rupee), the department and the implementing agency all agree and only one record fits. Where the agency is named differently, most of the words in the names must agree. Where more than one record could fit, we do not join. A work is joined to a package only when the published titles are identical.
Where KIIFB shows a work paid more than 1% above what was approved for it, we say so. Smaller differences are paise and rounding. This is not evidence of wrongdoing; a revised approval may simply not be shown on the page.
Limitations
- Amounts are as the dashboard states them. Where it shows zero, we treat the figure as not published.
- KIIFB states the estimated amount per sub-project. Where several contract packages sit under one sub-project, each repeats the same estimate; we say so on the page and never add those estimates up.
- The dashboard gives contractor, dates and progress only for road and bridge works.
- Map locations are the ones KIIFB records; some may be wrong.
- Some projects on the status page span several districts, so a district's totals are not that district's alone. KIIFB files about one project in nine under no district at all; those appear only in the state's totals. The dashboard's “expenditure” and the status page's “released” are different figures; we show each as its source states it.
- “Cost escalation” and “No recent update” rely only on changes since we began collecting.
- KIIFB publishes project names in English. In headlines we drop filing codes and calm all-capital titles; the name as published is shown on the page.
- KIIFB spells constituencies several ways (Vypeen, Vypin, Vyppin). We merge them. MLA names are as KIIFB lists them.
Corrections
If what we show differs from the source, tell us. We will check it against the source and correct it.