Methodology

How ❀️ THE πŸ‡΅πŸ‡­ ingests open government data, links records, runs rule-based indicators, and publishes only after automated AI review. This is a statistical anomaly or indicator worth examining β€” not proof of wrongdoing, fraud, or corruption against any person.

Daily pipeline

  1. Ingest β€” Fetch Sumbong GeoJSON, GAA Excel (when provided), PhilGEPS exports, and register each file in source_document with SHA-256 and fetch timestamp. See Data sources.
  2. Link β€” Match projects to appropriations and PhilGEPS awards using title/location/cost features (33,921 links in database).
  3. Flags β€” Run deterministic rules (R*, C*, X*) to create pending indicators with evidence JSON citing source rows and documents.
  4. AI review β€” Cloud Run Job review-flags verifies cited figures against the database, checks source URLs, then calls an LLM for a structured verdict. 549 reviews logged; 0 published indicators.
  5. Publish β€” Auto-publish when verdict is publish, verification passes, and confidence β‰₯ threshold (default 0.85). Audit trail on each flag page and AI audit log.

Linking

Links are scored edges between record types (e.g. project β†’ appropriation). Features include token overlap on titles, fiscal year alignment, and cost proximity. Only auto links above the matcher threshold are stored; status auto until manually confirmed in future versions.

AI review materiality (v3)

Before the LLM runs, deterministic code computes every ratio and percentage cited in review. The model may only downgrade a gate verdict (publish β†’ needs-more-data/reject), never upgrade past it.

  • C2 (bid-ceiling hugging) β€” public publish only when contract cost exceeds ABC by at least 10%. Smaller gaps (often 1–5%) stay needs-more-data with a note that variation orders or post-award adjustments may explain the difference.
  • C1 (concentration) β€” requires at least 5 contracts in the peer comparison set and flagged contractor value β‰₯ β‚±10M before the gate allows publish.
  • Review queue samples pending flags round-robin by rule id (not severity-only) so one rule does not dominate each batch.
  • The model must answer disqualifying-context checks and state what would explain the pattern innocently; a plausible innocent story without counter-evidence forces needs-more-data.

Rule catalog

Each rule emits an anomaly indicator β€” not an accusation. Published cases appear on /indicators.

C1

Contractor Concentration (Flood Control)

Share of contract value by contractor within DEO or province; flags top share > 40% or elevated HHI.

Concentration is a market-structure signal, not proof of favoritism.

C2

Bid-Ceiling Hugging

ContractCost / ABC β‰₯ 0.995 using metadata.abc and contract cost fields.

Suggests limited price competition; verify against bid documents.

C3

Duplicate or Near-Duplicate Projects

Title similarity + distance or shared coordinates within municipality.

May be phased works, components, or geocoding overlap.

C4

Schedule / Date Anomalies

Compares start, target, and actual dates from Sumbong with contract cost.

Often data-entry errors in published GeoJSON.

C5

Contract Splitting Pattern

β‰₯3 contracts within 120 days, each 85–100% of β‚±50M threshold, similar titles.

Pattern only; legitimate multi-lot awards exist.

C6

Ghost-Location Risk

PH bounding box and shared-coordinate clusters from lat/lon fields.

GIS quality issue until validated on the ground.

C7

Contractor Overload

Active project count and total value vs peer 95th percentile.

Capacity strain is operational risk, not fraud by itself.

R1

Single Bidder in Competitive Tender

Flags procurement awards where num_bidders = 1 and mode indicates competitive bidding.

Unusual for competitive modes; may reflect a thin market, not wrongdoing.

R2

Award Amount Near Approved Budget for Contract

Compares award amount to ABC where both are present in PhilGEPS records.

Award β‰ˆ ABC can mean accurate estimates or weak competition.

R4

Supplier Concentration

Aggregates awards by contractor and implementing agency over a rolling window.

High share may reflect specialization, not collusion.

R6

Price Outlier for Project Type

Uses DPWH/Sumbong project costs grouped by type_of_work; compares each project to the cohort p95.

Cost above peers may reflect site conditions or classification limits.

X-source

Cross-Source Mismatch (PhilGEPS vs DPWH)

Compares linked award and project contractor/cost above tolerance.

May be linkage error, JV naming, or post-award change order.

X3

Stalled Project (No Progress)

Projects past target_end_date with null or zero progress_pct in source data.

May be delay, suspension, or missing progress reporting in Sumbong.

Contractor grades (A–F)

Public Record Grades (A–F) summarize reported public data for each contractor β€” not a moral judgment or finding of wrongdoing.

Grades reflect reported public records, not a finding of wrongdoing. Contractors may submit a right of reply. Right of reply form.

Weights (from scorer config)

%Component
30%On-time delivery (DPWH-reported status)
15%Termination rate
25%Published anomaly indicators (AI-reviewed)
15%COA audit observations (linked)
15%Cost vs approved budget (ABC)

Score β†’ letter

GradeMinimum score (0–100)
Aβ‰₯ 90
Bβ‰₯ 80
Cβ‰₯ 70
Dβ‰₯ 60
F< 60

Fewer than 5 linked DPWH projects β†’ Not graded (insufficient records).

As of: Not yet computed in this environment (UTC). Refresh: precomputed batch npm run refresh:contractor-grades after ingest β€” not calculated on each page view.

Five components (plain language)
  • 30% On-time delivery (DPWH-reported status) β€” Share of this contractor’s DPWH-linked projects reported as Completed versus those still On-Going but already past the contract target end date (from DPWH portal status fields in our mirror). Each past-target On-Going project counts double against the on-time component so delayed active contracts materially lower the score.
  • 15% Termination rate β€” Share of linked projects whose DPWH-reported status is Terminated, compared with all linked projects.
  • 25% Published anomaly indicators (AI-reviewed) β€” Count of published anomaly indicators tied to the contractor’s projects (or the contractor entity) that passed automated AI review prompt v2 only β€” pending indicators are excluded.
  • 15% COA audit observations (linked) β€” Commission on Audit (COA) audit observation spans linked to the contractor’s projects through our record-linking graph.
  • 15% Cost vs approved budget (ABC) β€” Where contract cost and approved budget (ABC) are both present on a project row (and awards are linked where applicable), average percent above ABC β€” lower is better.
Missing data & sources

If a component has no underlying rows (for example, no COA links), that component is omitted and its weight is reallocated proportionally to the remaining components β€” missing data is not treated as a penalty score of zero.

Data sources: Data sources, ingest pipeline, anomaly indicators, AI review log.

Limitations

  • Source quality varies β€” Sumbong GeoJSON may contain date or coordinate errors (see C4, C6).
  • PhilGEPS and COMPASS coverage depends on what has been ingested in this deployment; empty tables mean no rows yet, not zero government activity.
  • Linkage is probabilistic; false positives are possible.
  • LLM review can err β€” use citations and the dispute form on each published indicator.
  • We name contractors and agencies from public records only, not private individuals (Data Privacy Act).