V4G M&A Intelligence · Ventures4Growth
KBO-based succession intelligence platform for the Belgian mid-market
| Component | Description |
|---|---|
automation/kbo_update.py |
Monthly KBO Full extract ingestion pipeline |
automation/generate_dashboard.py |
Monthly succession intelligence dashboard generator |
run_monthly_kbo.bat |
One-click monthly workflow (download zip → ingest → dashboard → publish) |
dashboards/ |
Generated HTML dashboards — published via GitHub Pages |
sql/ |
Schema, views, indexes, RPC functions |
docs/ |
Architecture and reference documentation |
Step 1 — Download KBO extract
Download the latest KboOpenData_NNNN_YYYY_MM_DD_Full.zip from
statbel.fgov.be
Drop it in KBO_Inbox/
Step 2 — Run the batch script
Double-click: run_monthly_kbo.bat
The script runs automatically:
Supabase project: rirkgpsdcaxnowwmliof
Stack: PostgreSQL 15 · PostgREST · Supabase Storage
| Table | Rows | Description |
|---|---|---|
bce_company_index |
~1.97M | All KBO enterprises (active + inactive) |
bce_activity |
~3.87M | Filtered NACE activities (B2B only) |
dim_nace_v4g |
84 | NACE division → V4G sector taxonomy v2.0 |
dim_postcode_nuts3 |
~2,600 | Postcode → NUTS3 region mapping |
bce_corrections |
— | Manual gold record corrections |
kbo_ingest_log |
— | Audit log per monthly run |
| View | Description |
|---|---|
vw_company_sector_enriched |
Base view: company + sector + lifecycle + NUTS3 |
mv_company_sector_enriched |
Materialized version — refreshed after each ingest |
| Function | Returns | Description |
|---|---|---|
fn_dashboard_stats() |
JSON | All dashboard KPIs in one call: lifecycle, clusters, NUTS3, age curve, extract info |
V4G Sector Taxonomy v2.0 — 23 sectors across 8 supergroups
| Scope | Meaning |
|---|---|
CORE |
Strategic priority — full B2B coverage |
ADJACENT |
Mandate-driven — include |
SELECTIVE |
B2B filter required |
OUT |
Out of scope (Retail B2C, Public, Primary & Extractives) |
Lifecycle stages
| Stage | Age | Sourcing action |
|---|---|---|
| Starter | 0–4y | Pipeline development |
| Expansion | 5–9y | Pipeline development |
| Established | 10–14y | Early monitoring |
| Mature | 15–24y | Monitor |
| Prime Cash Cow | 25–39y | Approach |
| Legacy / Succession | 40y+ | Urgent outreach |
Live: http://intel.v4g.com/dashboards/
Archive: all monthly extracts preserved as standalone HTML files
Generated: python automation/generate_dashboard.py
fn_dashboard_stats() RPC| Metric | Value |
|---|---|
| B2B universe | 885,461 |
| Deal zone (25y+) | 142,522 (16.1%) |
| Corporate universe | 85,500 |
| Corporate deal zone | 38,596 (45.1%) |
automation/golden_safe.env — never committed to Git:
SUPABASE_URL=https://rirkgpsdcaxnowwmliof.supabase.co
SUPABASE_SERVICE_KEY=eyJ...
DB_HOST=db.rirkgpsdcaxnowwmliof.supabase.co
DB_PORT=5432
DB_NAME=postgres
DB_USER=postgres
DB_PASSWORD=...
INBOX_DIR=C:\Users\chris\OneDrive\Documents\GitHub\golden-safe-repo\KBO_Inbox
PSQL_BIN=C:\Program Files\PostgreSQL\17\bin\psql.exe
golden_safe.env — in .gitignore, never committedbackup_golden_safe.bat — removed from Git trackingGoldenSafe_psql.bat — removed from Git trackingbackups/*.sql — removed from Git tracking| Date | Extract | Changes |
|---|---|---|
| 2026-03-24 | 309 | ADMIN_SUP reclassified to ADJACENT (+73,615 companies) · MV rebuild · NUTS3 regional tab · two main dashboard tabs · fn_dashboard_stats updated with NUTS3 |
| 2026-03-23 | 309 | Extract 309 ingested · dashboard generator v3.0 · GitHub Pages live on intel.v4g.com · run_monthly_kbo.bat |
| 2026-02-27 | 283 | Initial pipeline · taxonomy v2.0 · materialized view · KBO bridge |