Saltar al contenido principal
Open data · Public access

Machine translation, pending review. The official text is the Spanish version. View this page in Spanish.

Government of Colombia · Ministry of Commerce, Industry, and Tourism
iNNpulsa Colombia
Ruta Milagro - Regiones Más Competitivas

Agreement NPA-045-2026 · Component 3 — Viewer Update

Ficha técnica del proyecto

Qué es la plataforma de los Visores Territoriales, su arquitectura tecnológica, metodología de datos oficiales y fuentes verificables, y las respuestas a las preguntas más frecuentes.

Ruta Milagro - Regiones Más Competitivas

1 · Project technical sheet

Identificación de la plataforma y su marco contractual. Corte de datos vigente: 2025.

NameTerritorial Viewers — Ruta Milagro - Regiones Más Competitivas
NatureDigital public asset (footnote 8 of the agreement): free access, use, and exploitation by territories, with organized, updated, and traceable consultation.
Contractual frameworkAgreement NPA-045-2026 (iNNpulsa Colombia · FUNDETEC), Component 3 «Viewer Update», pages 22–24; within the framework of Ruta Milagro - Regiones Más Competitivas of the MinCIT.
ScopeCinco Visores de Apoyo: V1 Economía, empleo y productividad · V2 Brechas de competitividad (IDC) · V3 Caracterización sectorial · V4 Brechas y vocaciones territoriales · V5 Cadenas productivas. Serie 2016–2025, 32 departamentos y Bogotá D.C.
Public Addressvisores.regionesmascompetitivas.co (HTTPS, certificado automático Let's Encrypt)
Technology stackPHP 8.3 with MVC architecture (Composer, PSR-4) · MariaDB database · Caddy server + PHP-FPM · ETL in Python (APIs Socrata from datos.gov.co, DIAN, GEIH, CPC, SECOP) · Visualization with Chart.js, export to Excel using ExcelJS and to PDF using jsPDF, and custom SVG choropleth map based on GeoJSON · API REST v1. Layer details in Section 2.
Data modelCada conjunto de datos vive como una tabla propia en la base: hoy 24 tablas con 693.607 filas consultables por SQL y por la API, y su diccionario de columnas registrado. Los archivos de datos versionados con integridad sha256 son respaldo derivado, no la fuente de servicio. Los visores nunca leen archivos Excel. Detalle vivo en la sección 8 y en how the platform works.
Official sourcesDANE · DNP (City System Observatory) · Private Competitiveness Council (IDC and ICC) · CRC/MinTIC · DIAN · UPRA · SECOP · sectoral registries — in accordance with footnote 9 of the agreement, ensuring traceability and methodological consistency.
SecurityHardened sessions, ARGON2ID passwords, CSRF, CSP with nonce, rate limiting, roles (admin/editor/reader), API keys with SHA-256 hash, and action auditing.
DocumentationInstruction Manual plus one manual per viewer · Update Report (E10) · Architecture, ETL, APIand transfer guide in the project repository.
Open DataAPI Public REST API (/api/v1/capabilities), CSV/JSON exports for Power BI and Tableau, and llms.txt for agent navigation.

2 · Solution Architecture, Stack, and Sustainability

How information is processed and updated end-to-end, with what technology, and why the update sustains itself once the agreement is concluded.

2.1 · Processing and update flow (ETL approach)

Arquitectura de la solución de los Visores Territoriales: el camino del dato desde las fuentes oficiales hasta los cinco visores web, que son el entregable, y hacia los canales de consumo opcionales que se conectan a la misma API. Cinco etapas encadenadas de izquierda a derecha: 1, fuentes oficiales (datos.gov.co, DANE, DIAN, Consejo Privado de Competitividad, UPRA, DNP, SECOP y el Ministerio TIC, en formatos API, CSV, XLSX y ZIP); 2, procesamiento que extrae y valida el dato, unifica los municipios con el código DIVIPOLA, depura duplicados, y carga y versiona cada archivo con su huella digital (sha256); 3, una sola base de datos con una tabla propia por cada conjunto de datos (más de medio millón de filas consultables por SQL y por la API), y los archivos de datos versionados con huella digital como respaldo; 4, publicación por la API de datos abiertos (JSON y CSV), filtrando al corte de vigencia público y con roles y claves de acceso; 5, el entregable: los cinco visores web, construidos a la medida con la librería gráfica Chart.js y un mapa SVG propio, enlazables desde competitivas.gov.co. Aparte del flujo principal, dibujados con trazo discontinuo para indicar que no son entregables equivalentes, los canales de consumo opcionales —Power BI, Tableau, Excel y otros portales y tableros— que se alimentan de la misma API mediante una clave de acceso. Un proceso programado semanal detecta si una fuente publicó un corte nuevo y avisa; la carga la decide el equipo. La actualización se hace desde el panel de gestión sin perfil técnico: formulario dato a dato o archivo Excel/CSV con la plantilla del conjunto, validado antes de aplicar; todo queda versionado, auditado y es reversible. Vigilancia semanal detecta un corte nuevo y avisa 1 · Fuentes oficiales datos.gov.co (Socrata) DANE · GEIH · DIAN CPC (IDC · ICC) · UPRA DNP · SECOP · MinTIC API · CSV · XLSX · ZIP 2 · Procesamiento extrae y valida unifica municipios depura duplicados carga y versiona huella digital (sha256) 3 · Base de datos una sola fuente de verdad una tabla por cada conjunto de datos +500 000 filas respaldo: archivos versionados (sha256) 4 · Publicación API de datos abiertos JSON · CSV filtra al corte público roles y claves de acceso 5 · Entregable 5 visores web a la medida (Chart.js) mapa SVG propio competitivas.gov.co Canales opcionales Power BI · Tableau Excel · CSV portales y tableros vía API con clave Vías 2 y 3 · Actualización sin perfil técnico formulario dato a dato · archivo Excel/CSV validado todo queda versionado, auditado y es reversible
Flow of an update, end to end. The solid block at the end is the deliverable: the five web viewers. The dashed-line block represents optional consumption channels —Power BI, Tableau, Excel or other portals— which are fed from the same API with an access key; they are not the instrument in which the viewers were built. The entry paths —automatic monitoring (path 1) and updates from the dashboard, via form or file (paths 2 and 3)— converge in the same database and exit through the same publication layer: there are no parallel paths or uncontrolled copies. Full textual description below.
  1. Extraction. The extractors in Python query the APIs Socrata of data.gov.co and download the files published by DANE (GEIH, EVA), DIAN, the Private Competitiveness Council (basis of the IDC), SECOP, and MinTIC. Each source is registered—with its URL, identifier, and reporting year field—in a catalog manageable from the dashboard: adding or changing a source does not require touching code.
  2. Transformation. Department names are standardized against DIVIPOLA, records are typed and deduplicated, each row is validated against the dataset's column contract, and the sha256 of the resulting artifact is calculated. Every transformation is reproducible: same input, same hash.
  3. Load. Each set is projected to its own table in MariaDB —with column names, types, and the reporting year column registered—, and that table is the source that serves the viewer and the API. The versioned file with its sha256 is kept as a backup for bulk downloads and to restore an exact version. Pruning at the public cut-off is a condition of the query, not a second file that could become desynchronized. No viewer ever reads a Excel file.
  4. Publication. The API REST v1 and the data gateway serve the content stored in the database, applying filtering by public reporting year cutoff, roles, and API keys. Each publication generates a reversible version.
  5. Consumption. The deliverable of the agreement is the five web viewers, custom-built with a graphics library (Chart.js) and a proprietary choropleth map based on the database. Power BI, Tableau, and Excel are not the instrument in which they were built: they are optional consumption channels that connect to the same API with an access key, in JSON or CSV, just like any other portal or dashboard. All read exactly the same source of truth.
  6. Monitoring. A scheduled weekly process compares the reporting year loaded against the one available in each official source and, if it detects a new cut, it notifies and leaves the result verifiable in an audit log. Incorporation is a team decision: data is uploaded from the dashboard, with prior validation and a reversible version. Thus, no new year enters the viewer without having been reviewed by someone.

2.2 · Data Source: Verified Official Sources

The sources feeding the viewers, including the exact URL from which each datum is retrieved and the reporting year contributed by each source. All are public and none require credentials. This table is printed directly from the same record managing the Official Sources view on the dashboard; therefore, it cannot declare a source different from the one currently in use. If an entity changes a URL, it is corrected via a form—without developer involvement or deployment. The same information, source by source, along with an explanation of how it was obtained, is available in Methodology and Sources.

VisorSourceEntityAddress (URL)RouteContributed reporting year
Todos Libros MÁgil — insumo oficial de los 5 visores iNNpulsa Colombia · MinCIT innpulsacolombia.com Página oficial V1 2016–2023 (8 años) · V2 2018–2023 (6) · V3 2023 · V4 y V5 sin año
1 PIB departamental por actividad económica DANE — Dirección de Síntesis y Cuentas Nacionales dane.gov.co Descarga oficial 2005–2025 (anexo 2025 preliminar)
1 Personas ocupadas por departamento y rama (GEIH) DANE — Gran Encuesta Integrada de Hogares dane.gov.co Descarga oficial 2016–2025
1 Mercado laboral · año móvil de las 32 ciudades DANE — Gran Encuesta Integrada de Hogares dane.gov.co Descarga oficial 2016–2025 (año móvil)
2 Índice Departamental de Competitividad (IDC) Consejo Privado de Competitividad · U. del Rosario compite.com.co Página oficial edición 2026 (datos 2019–2025)
3 GEIH — ocupados (microdatos) DANE microdatos.dane.gov.co Página oficial 2024–2025 (12 meses por año)
3 Exportaciones — microdatos EXPO DIAN · DANE microdatos.dane.gov.co Página oficial 2021–2025 (12 meses por año)
3 Exportaciones agrícolas por departamento Ministerio de Agricultura y Desarrollo Rural datos.gov.co API de datos abiertos 2024–2025
3 Importaciones — microdatos IMPO DIAN · DANE microdatos.dane.gov.co Página oficial 2021–2025 (12 meses por año)
4 Evaluaciones Agropecuarias (EVA) UPRA · Ministerio de Agricultura y Desarrollo Rural upra.gov.co Descarga oficial 2019–2025 (base agrícola)
4 Cobertura móvil por centro poblado y operador CRC · Ministerio TIC — POSTDATA postdata.gov.co Descarga oficial 2023-T1 a 2025-T4 (cargados los cierres 2023, 2024 y 2025)
4 Observatorio del Sistema de Ciudades DNP — Departamento Nacional de Planeación osc.dnp.gov.co Página oficial sin vigencia anual (estructural)
4 Índice de Competitividad de Ciudades (ICC) Consejo Privado de Competitividad · U. del Rosario compite.com.co Descarga oficial edición 2025
5 SECOP II — procesos de contratación Colombia Compra Eficiente datos.gov.co API de datos abiertos 2024–2025

A weekly process compares the year currently in the viewer against the year already published by the source and notifies when a new cut becomes available; the upload is decided and performed by the team via the dashboard. Several of these sources do not support automated queries—the DANE rejects programmatic access and publishes its annexes for download; the Private Competitiveness Council publishes via annual report—: they are monitored manually and their files are uploaded through the dashboard, which is the designated channel for updates.

2.3 · Technology stack by layer

All components are open-source software, with no cost or license renewal required for the State. Each layer is independently replaceable: no decision binds the State to a specific vendor.

LayerTechnologyWhy and licensing
Ingestion / ETL Python 3 — extractors by source (client Socrata/SoQL, readers CSV/XLSX/ZIP) + cutoff monitor De facto standard for public analytics; readable and re-executable scripts from the console by any technical team. Permissive licenses. No proprietary ETL tool: no orchestration server to license or renew.
Persistence MariaDB — una tabla propia por conjunto de datos (24 hoy) con su diccionario de columnas versionado, más los indicadores como registros ordenados (una fila por año, territorio e indicador) y los archivos de datos versionados con sha256 como respaldo Standard SQL, backupable with mysqldump and restorable on any compatible engine. Schema versioned in idempotent migrations. GPL v2 — no cost.
Application PHP 8.3, proprietary MVC architecture (Composer, PSR-4) — public viewers, management panel, and upload wizard No heavy frameworks or dependencies with short life cycles: the code itself is the transferable and auditable asset.
Server Caddy + PHP-FPM, automatic TLS (Let's Encrypt) Certificates that renew automatically: zero manual operational tasks. Apache 2.0.
Visualization Chart.js 4.4.3 (series and dashboards) + ExcelJS 4.4.0 (multi-sheet Excel book) + jsPDF 2.5.2 with autotable (PDF with institutional letterhead), both with lazy loading + custom SVG choropleth map based on GeoJSON DIVIPOLA — and native export to Power BI, Tableau, and Excel via API JSON/CSV Deliberate dual channel: the public viewer does not require any license from the citizen; the Ministry analyst connects Power BI to the same API without duplicating the data (Obtain data → Web). The definition of the required engine (consult RT‑4) remains open in the technical working group: the architecture supports any option without redoing the ingestion.
Interoperability API Self-descriptive REST v1 · Data gateway · llms.txt Linkable and federable from competitiveness platforms.gov.co via stable URL. The API is the contract: any future consumer (a portal, a dashboard, another platform) connects without touching the platform.
Automation system cron (weekly monitoring of outages) + automatic deployment via webhook No proprietary scheduler: a cron line that any administrator can understand, migrate, and audit.

2.4 · Who updates the data and what they need to know

The technical committee requested (RF‑3) that a responsible person be able to update the information without SQL knowledge. Two methods were implemented, not one, because correcting a single datum is not the same as loading a full reporting year. Neither requires a technical profile:

✍️ Data entry, item by item, via a form

In the Records view of the dashboard, the official sees the viewer data in a table with filters and corrects a value in the same row, adds a record, or deletes one. All via form: no files, no templates, no installations required.

The form is designed to make technical errors impossible: the indicator and the department are selected from lists; the municipalities are automatically filtered based on the department; the code DIVIPOLA is automatically populated (no manual entry required); and the unit, if left blank, is inherited from the catalog. Upon deletion, the platform describes in words what will be removed. The viewer updates automatically: there is no "publish" step that could be overlooked.

📄 Large datasets, using the viewer template

To upload many records at once, the platform provides the pre-made template: when selecting the viewer in the upload wizard, download buttons appear in Excel (XLSX) and CSV, tailored to that dataset.

Each template is generated from the actual definition of the set —which is why it cannot become outdated— and includes the exact columns in their order, up to five real example rows, and a «Instructions» sheet that explains, column by column, the data type, whether it is mandatory, and how to complete it. It is filled out in Excel, uploaded, and the platform validates before applying: if something is incorrect, the button remains disabled and indicates what needs to be corrected.

In both cases, the change is versioned, audited, and reversible: the cost of an error is a single click, not an incident. In summary, the person updating does not need to know what a database is, nor SQL, nor how to open a console, nor the territorial codes: they only need a browser and, for bulk uploads, Excel. The technical terms on this page are explained in the glossary.

2.5 · Autonomous update following agreement termination

The requirement is not that the platform operates upon completion, but rather that it continues to be updated without the operator. The architecture addresses the dependencies that typically undermine a data platform: the knowledgeable individual, the licensing provider, the misplaced file, and the undocumented process.

🔁 Does not depend on an individual

The primary update pathway is automatic: the weekly scheduled process detects the new cutoff in the official source, ingests it, and regenerates public artifacts. If no action is taken, the platform still becomes aware of new data and records the finding.

🙋 Does not require a technical profile

The two everyday pathways—form and template—are operated by any authorized official using a browser (see 2.4). For substantive changes, a third pathway exists: an IT team re-executes the documented processes, without dependence on the current operator.

🔓 Does not depend on a provider

Zero commercial licenses across the entire stack. Official sources are managed from the panel (URL, identifier, and reporting year field), not from the code: if an entity changes a URL, it is corrected via a form, without a developer or deployment.

📦 Does not depend on the operator

Assets are transferred unlocked (pages 40–43 of the agreement): source code, scripts and queries, DDL and dumps, documented ETL model, manuals, and signed minutes. Any team can deploy the complete platform on its own infrastructure following the transfer guide.

🧾 Does not depend on memory

All operational knowledge is documented and versioned alongside the code: architecture documents, ETL processes, API, administrator manual, and script catalog. Documentation is delivered with the platform, not via email.

🛡️ Does not depend on chance

Published truth is reproducible: each datum declares its source, each artifact its sha256, and each publication its version. Any future discrepancy is audited, not debated—and corrected via versioned upload.

Governance points that are not technical—who hosts (RG‑1) and who administers the platform after delivery (RG‑2)—are institutional decisions by MinCIT/iNNpulsa that remain pending. The platform is built to support any scenario: a dedicated subdomain of the Ministry, iNNpulsa infrastructure, or continuation of current hosting, without changes to data ingestion or to the API.

2.6 · Security and Vulnerability Scanning Readiness

The platform was designed under the assumption that it would be audited. The operator remains available to the Ministry's Office of Information Systems for vulnerability scanning as determined by said office—within the agreed timeframe, using the designated tools, and under the rules established by the Ministry—and for remediation of findings within the scope of the agreement. Controls already implemented:

TransportMandatory HTTPS with automatic certificate, HSTS, forced redirection from HTTP, and headers nosniff, frame-ancestors, and referrer-policy.
Code injectionStrict Content Security Policy: no 'unsafe-inline' in scripts or styles—each inline script is signed with a per-request nonce, and each inherited style uses its SHA-256 hash. Zero inline event handlers.
SQL InjectionData access exclusively via parameterized queries (PDO without prepare emulation). Table and column identifiers never originate from the request.
AuthenticationPasswords secured with ARGON2ID, hardened sessions (cookie prefixed with __Host-, HttpOnly, SameSite, isolated storage), CSRF protection per form, and rate limiting at sensitive endpoints.
AuthorizationRoles admin / editor / reader; keys for API with scopes and quotas, stored only as SHA-256 hash (the plaintext value is displayed only once). Artifacts are never served statically: they pass through a gateway with default deny on error.
TraceabilityAudit log of panel actions, versioning of each upload with rollback capability and sha256 integrity hash per artifact.
SecretsProvider credentials and keys stored only in the database or in files outside the web directory tree with restricted permissions; never in the repository, logs, or audit trails.
Exposed surfaceDashboard and API management behind authentication; sensitive directories not servable; the subdomain does not send email (SPF -all + DMARC p=reject + CAA).
Preliminary AuditThe platform underwent an external technical audit covering security, performance, accessibility, and best practices, with a satisfactory result across all pillars and no open recommendations. This constitutes a precedent, not a substitute for the official OSI scan.

Associated deliverable: the complete technical documentation (architecture, ETL model, API, database schema, administrator manual, script catalog, and transfer guide) is delivered versioned alongside the code and forms part of the delivery record, in accordance with pages 40–43 of the agreement.

Supervisión y cumplimiento contractual

La matriz técnica de cumplimiento punto por punto del Convenio 521 de 2025 / NPA-045-2026, los entregables (E10, E11, E12) y los requerimientos funcionales de la mesa técnica han sido consolidados en el módulo interno de supervisión.

Para mantener la experiencia ciudadana y territorial enfocada en los visores, los datos abiertos y la metodología, todos los aspectos demostrativos del convenio se encuentran disponibles en la vista interna de gestión para la interventoría, supervisión del MinCIT e iNNpulsa Colombia.

5 · Style manual: alignment with the GOV.CO sites

The platform applies the State User Interface Kit, version 9.2, and the accessibility and usability guidelines of the National Digital Agency:

🏛️ Top bar GOV.CO

All pages feature the institutional bar with the logo of GOV.CO linked to the State's single portal, in the colors and dimensions specified by the Kit. Accessibility controls—contrast and text size—are located within it on all pages.

🧭 Institutional Footer

Declares the responsible entity with its contact information, postal code, business hours, switchboard, toll-free line, anti-corruption hotline, and email for judicial notifications; the block containing Policies · Site Map · Terms and Conditions · Accessibility; and the logos of GOV.CO and of the Country Brand Colombia.

🎨 State color scheme and typography

The color assigned to the Ministry of Commerce, Industry and Tourism in the Government Image Manual, and the only two typographic families supported by the Kit: Nunito Sans for titles and Verdana for body text. Both are served directly from the server, without relying on third parties.

♿ AA Level Accessibility

In accordance with Article 3 of Resolution 1519 of 2020: skip to main content, full keyboard navigation, visible focus, verified contrast, and semantic structure. The status, pending items, and reporting channel are available in the Accessibility Statement.

🔒 Security and Digital Trust

Mandatory HTTPS with automatic certificates, strict security headers (CSP with nonce, HSTS, nosniff), form protection, and auditing—practices required for a digital citizen service.

📖 Open Data by Default

Aligned with the national open data policy: free access without registration, APIpublic self-descriptive API, reusable exports (CSV/JSON), and source metadata for each published dataset.

6 · The management panel and the glossary

The views available for platform administration, and the meaning of each technical term or acronym appearing on this page.

6.1 · Panel Views

The management panel requires an account and has three roles: administrator (full access), editor (data and uploads), and viewer (query-only). None of these views require technical knowledge, except where indicated.

ViewPurposeWho
DashboardStatus of the five viewers and recent activity, at a glance.All
RecordsView, correct, add, and delete data record by record, by viewer and with filters. The day-to-day channel (see 2.4).Editable by admin and editor
Upload file3-step assistant (viewer → reporting year → file) with download of the viewer template, prior validation with a traffic-light system, and reversible application.Editable by admin and editor
Upload historyWhat was uploaded, when, by whom, and in what status; allows reversal.All users see
VisoresStatus, figures, and analytics for each viewer; editing of its fact sheet.Editable by admin and editor
IndicatorsThe official catalog of indicators per viewer. This is the list that feeds the Records form: if an indicator is not listed here, it cannot be uploaded. An inactive indicator ceases to be offered without deleting its history.Admin only
Official sourcesManages the data source (name, entity, viewer, address, and year field) and tests the live connection, listing the available reporting years (see 2.2).All users may test; only administrators may edit
Public pageEdit the texts for the cover, footer, and viewer cards, and upload the manuals in PDF. An empty field returns the original text. The institutional branding is not editable.Administrator and editor
DatasetsComplete technical inventory; provides templates per set.All
UsersCreate accounts and assign the three roles.Admin only
API KeysGenerates and revokes keys for programmatic consumption (Power BI, Tableau, other systems), and determines whether data access is performed with a key or open without credentials—the latter only when authorized by supervision. Only the encrypted hash of each key is retained in the database.Admin only
AI ProvidersTurns the optional AI assistance on or off. It is currently turned off: it is an added value that the agreement supervision has not yet authorized. If authorized, it will operate using a model installed on the server itself, and no queries will leave it.Admin only
StatusServer, services, database, reporting year policy, and AI providers.Admin only
AuditWho did what and when, with the before and after of each edit.All

6.2 · Glossary of terms and acronyms

This page is written to be understood by any reader, whether or not they have a technical background. Here, each specialized term appearing on the page is explained in plain language.

Entities, programs, and instruments

MinCITMinistry of Commerce, Industry and Tourism.
iNNpulsa ColombiaGovernment entity for entrepreneurship and competitiveness; signs the agreement and provides supervision.
Ruta Milagro - Regiones Más CompetitivasStrategy of the MinCIT for regional productive development planning.
Agreement NPA-045-2026The cooperation agreement framing this work. Its "Component 3" is the update of the viewers.
CRCIRegional Competitiveness and Innovation Commissions: the regional bodies that use the viewers.
MÁA · MÁgilAdjusted Agile Methodology, the methodology of the strategy. The "MÁgil books" are the Excel files that iNNpulsa submitted as official input.
DANENational Administrative Department of Statistics: the country's statistical authority.
DNPNational Planning Department.
DIANNational Directorate of Taxes and Customs.
MinTIC · UPRAMinistry of Information and Communication Technologies · Rural Agricultural Planning Unit.
CPCPrivate Competitiveness Council: a private entity that publishes the IDC.
ConfecámarasConfederation of Chambers of Commerce; operates the RUES.

Sources, indices and territorial data

DIVIPOLAPolitical-Administrative Division: the official catalog of the DANE that assigns a unique code to each department and municipality. It ensures that «Bogotá D.C.», «Bogota», and «11» are understood as the same territory. The person loading data never types it: they select the municipality from a list and the code is filled automatically.
HomologateRecognizing that two ways of writing the name of the same territory refer to the same entity (e.g., "Valle" and "Valle del Cauca") and standardizing them to the official code.
PIBGross Domestic Product: the value of what a territory produces.
IDCÍndice Departamental de Competitividad, del Consejo Privado de Competitividad y la Universidad del Rosario: mide la competitividad de los 32 departamentos y Bogotá D.C. y es la fuente de las brechas del Visor 2.
GEIHIntegrated Household Survey (DANE): source of employment data.
Working-age populationPersons aged 15 years or older, who are the individuals asked by the household survey whether they work. This does not include persons under that age.
Occupancy rateOut of every 100 working-age individuals, how many are employed. This is a percentage, not a headcount.
Employed personsPersons who had a job or were working during the reference period. This is the employment measure used by the viewers.
Proprietary calculationMarker that the viewer assigns to a figure that this platform calculates instead of taking it as published. It appears, for example, in employment figures for territories where the household survey only has a sample in the capital: there, the figure is reconstructed from it, using the method declared in the original deliverable. Its purpose is to prevent anyone from confusing a calculated datum with one published by the source.
EVAMunicipal Agricultural Assessments (UPRA/MinAgricultura): agricultural area and production.
RUES · CIIUUnique Business and Social Registry (the business registry) · International Standard Industrial Classification (the code for a company's economic activity).
SECOPElectronic Public Procurement System: where state procurement is recorded.
Reporting year · cutThe year to which a data point corresponds. The "public cutoff" indicates the latest year visible to citizens.
Staging · draftData already uploaded that is not yet public: awaiting validation by the technical committee.
Historical SeriesThe sequence of years for a given indicator, enabling temporal comparison.
IndicatorWhat is measured (e.g., «PIBper capita»). Only those included in the official catalog of each viewer are available.
OverviewThe data table of a viewer, organized as year × territory × indicator.
DimensionThe thematic group to which an indicator belongs. In Viewer 2, the 45 competitiveness indicators are grouped into 6 dimensions (secondary and higher education, human capital, market efficiency and financial system, infrastructure and ICT adoption, environmental sustainability, and innovation and business dynamics). When a chart displays dimensions, each bar summarizes multiple indicators and states this in parentheses.
Comparison group · structureEach department is compared with those having a similar productive structure, not with the entire country. There are three groups defined by the Ministry of Commerce, Industry, and Tourism based on business density and institutional concentration of the department.
BorderThe benchmark against which a department is measured. In static analysis, it is the average of the indicator within its comparison group; in dynamic analysis, it is the department with the highest score in the country in the last measured reporting year.
Static gapThe distance between the department's value and the frontier of its group, in a specific year. A negative value indicates lag; a positive value, advantage.
Dynamic gapThe difference between the growth rate of the department and that of the national benchmark, across the entire time series. It indicates whether convergence or divergence is occurring, not the current position.
Converge · Diverge · Maintains PaceHow the dynamic gap is classified: converges if the department approaches the benchmark, diverges if it moves away, and maintains pace if it grows at a similar rate. The threshold separating the three cases is defined by the source.
Comparison group · structure CRCIThe three groups into which the Ministry of Commerce, Industry and Tourism classifies departments according to their business density and institutional concentration. The viewers compare each department with the average of its group, not with the entire country: it is fairer to benchmark against similar territories.
Productivity frontierThe reference region against which average output per worker is measured. A department approaches it if its productivity grows faster, and moves away if it grows more slowly.
Non-mining productivityProductivity calculated excluding the mining sector, whose price cycles would distort comparisons between territories. This is the measure used by the viewers.
Current prices · constant pricesCurrent: value at the prices of the respective year; used to assess the weight of each activity within a given year. Constant: value adjusted for inflation; used to compare different years.
Comparative AdvantageWhen a sector carries more weight within a department than it does within the country. It indicates the specialization of that territory.
Economic complexityThe degree of diversity and exclusivity of the knowledge required to produce a good. The more complex a product, the fewer territories possess the know-how to produce it, and the more difficult it is to imitate.
Strategic ValueCombines the complexity of a sector with distance: how close the required capabilities are to those already present in the territory. A complex and nearby sector represents a reasonable opportunity; a complex and distant one, a difficult challenge.
Productive linkagesThe extent to which a sector depends on others and the extent to which others depend on it. The greater the linkages, the more it drives the rest of the economy when it grows.
Productive vocationThat for which a territory is better endowed, observed in where its companies are actually concentrated. Cross-referencing this with the gap reveals which productive bet is hindered by a specific problem.
ICC · City Competitiveness IndexIndex by the Private Competitiveness Council and Universidad del Rosario that evaluates the 32 capital cities and their metropolitan areas. It is not the same as the IDC, which measures departments: they are not comparable.
p.p. (percentage points)The unit in which gaps are expressed. It is the difference between two percentages: moving from 10% to 13% represents an increase of 3 percentage points, not 3%.
datos.gov.coThe Colombian State's open data portal, from which various sources are retrieved.
Socrata · SoQLThe technology powering datos.gov.co and its query mechanism: it allows requesting only the necessary data without downloading everything.
DatasetA group of data that is stored and queried together (for example, «PIB, employed persons and productivity by department»). Each set has its own table in the database and its own column dictionary.
Reporting year columnThe column indicating the year to which each row belongs. Not all datasets include this: in some cases, the year appears in the column name (for example, "employed 2025"), while others do not contain a year because they are catalogs.
MicrodataRecords one by one, without aggregation (for example, each export declaration). They are downloaded in full for analysis; they are not queried record by record.

Solution technology

ETLExtract, Transform, and Load: the process that takes data from the official source, organizes it, and stores it in the database. It is the data "pipeline."
Database · MariaDBWhere data resides in an organized and queryable manner. Ours is MariaDB, open-source.
SQLThe language used to query a database. No official needs to know it: that is the purpose of the form and the templates.
API · API RESTAn automated "window" through which another program (Power BI, Tableau, a webpage) requests data and receives it instantly, without human intervention.
Access key · API keyA long password provided to each entity to query data through the automated service window. It does not restrict the data—which is public by origin—but rather attributes each query to its requester, along with their usage limits and logging, while open publication has not been formally established. The platform stores only an encrypted summary of the key; the full value is displayed only once upon creation.
JSON · CSV · XLSX · ZIPFile formats. JSON: the format understood by software programs. CSV: comma-separated text, opened by Excel. XLSX: Excel. ZIP: compressed file.
TemplateThe Excel or CSV file generated by the platform with the exact columns of a viewer, including examples and instructions, so that it only needs to be filled out.
Column ContractThe definition of which columns a dataset contains, their order, and their data types. Uploaded files are validated against this definition.
ArtifactThe data file that the platform stores and versions as a backup. As of July 2026, the source serving the viewer is the database table; the file is retained to download a complete dataset at once and to restore an exact version.
sha256A "digital fingerprint" of the file: if even a single character changes, the fingerprint changes. It serves to prove that the data has not been altered and to restore an exact version.
Versioning · RevertEach change is saved as a version; "revert" means returning to the previous version, with a verified audit trail.
TransactionalEither the entire change is applied, or nothing is applied: it is never left incomplete.
Audit · LogThe log recording who performed what action and when.
PHP · Python · JavaScriptProgramming languages. PHP: the web application. Python: the ETL. JavaScript: browser-based charts.
MVCStandard way of organizing code so that another team can read and maintain it.
Caddy · PHP-FPMThe web server that handles visits and automatically renews the security certificate.
Chart.js · ExcelJS · jsPDFFree libraries: the first renders the charts, the second generates the downloadable Excel book, and the third produces the PDF with official letterhead.
TableA spreadsheet with rules: each column has a fixed name and accepts only one data type, so text cannot be entered where a number is expected.
Row · column · recordA row is a record (for example, a department in a given year). A column is the same data point across all rows (for example, the PIB).
Data typeWhat a column accepts: integer, decimal number, text, or year. Defining this prevents invalid values from being entered.
Data DictionaryThe list of table columns explaining the content of each one. It is published and calculated in real time on how the platform works.
Schema · migrationSchema: the set of tables and columns in the database. Migration: a change to this structure, numbered and recorded, that can be reapplied without duplication.
Project to tableConvert a data file into rows and columns of the database, with their correct type. This is the step that ensures the viewer does not have to open any file.
The database prevailsThe model in effect since July 2026: the database is what is served to the viewer and to the API, while files remain as backups. Previously, the opposite was true.
Index (database)An internal shortcut to quickly locate rows, similar to a book index. It does not change the data; it changes the time it takes to appear.
GeoJSON · choropleth mapGeoJSON: the file containing the shape of the departments. Choropleth: the map that colors each department according to the indicator value.
Power BI · TableauCommercial dashboard tools. They connect to the API and use the same data without duplicating it.
cronThe server's "alarm clock": it executes a task at a fixed time (in this case, weekly monitoring).
RepositoryThe historical code file, where every change and the person who made it are recorded.
MigrationA versioned change to the database schema that can be re-executed without causing disruptions.
DDL · DumpDDL: the instructions that create the empty database. Dump: the complete copy of the data. With both, the platform is built from scratch.
Open sourceFree software, with no license fees to pay or renew.

Security

HTTPS · TLS · certificateThe encrypted connection between the browser and the server (the browser padlock). The certificate is automatically renewed.
Default closureIf a permission check fails, the platform does not display the data. An error never opens the door: it keeps it closed.
Data GatewayThe single point through which data is released. It verifies permissions and applies the reporting year filter before delivering any information, ensuring there are no parallel outputs.
Let's EncryptThe authority issuing said certificate, at no cost.
HSTSRequires the browser to always use an encrypted connection.
CSPContent Security Policy: instructs the browser precisely which code may be executed. It is the primary defense against malicious code injection.
CSRFAttack that causes an authenticated user to execute an unintended action. Each form includes a unique code to prevent this.
SQL InjectionAttack that attempts to inject instructions into a form to manipulate the database. Prevented through parameterized queries.
ARGON2ID · hashThe method used to store passwords: an irreversible hash. Even if someone were to read the database, they could not deduce the passwords.
RoleThe permission level for each account: administrator, editor, or viewer.
API keyA credential that allows a program to query data. Only its hash is stored in the database.
Rate limitA limit on requests per minute: prevents abuse and system failures.
Vulnerability scanningAutomated review that searches for known security vulnerabilities.

7 · Frequently asked questions

Direct responses for territories, entities, and technical teams.

¿Qué son los Visores Territoriales?

Son cinco tableros públicos de información territorial (economía y empleo, competitividad, caracterización sectorial, brechas y vocaciones, y cadenas productivas) que apoyan la Metodología Ágil Ajustada (MÁA) de Ruta Milagro - Regiones Más Competitivas. Presentan datos oficiales por departamento y año para que las Comisiones Regionales de Competitividad e Innovación (CRCI) prioricen programas y proyectos.

¿Quién desarrolla y opera esta plataforma?

La plataforma es un bien público digital del Convenio NPA-045-2026 entre iNNpulsa Colombia y FUNDETEC, en el marco de Ruta Milagro - Regiones Más Competitivas del Ministerio de Comercio, Industria y Turismo. FUNDETEC, como aliado operador, aporta el diseño, la infraestructura y el soporte técnico como contrapartida, y al cierre del convenio transfiere la totalidad de los activos técnicos.

¿De dónde salen los datos y cómo sé que son confiables?

Exclusivamente de fuentes oficiales y técnicas públicas: DANE, DNP, Consejo Privado de Competitividad (Índice Departamental de Competitividad), MinTIC, DIAN, SECOP y registros sectoriales. Cada dato declara su fuente verificable (entidad, conjunto de datos, vigencia y enlace) y el puntaje del IDC publicado se corroboró 66/66 contra la base oficial del CPC.

¿Con qué frecuencia se actualizan los visores?

Los datos están al corte más reciente disponible (2024/2025 según la fuente). Un proceso de vigilancia revisa cada semana si las fuentes oficiales publicaron una vigencia nueva y avisa cuando aparece un corte; la incorporación la decide el equipo, que carga la vigencia desde el panel conservando la serie histórica desde 2016. La revisión es automática; la publicación de un año nuevo es una decisión, no un efecto secundario.

¿Necesito registrarme para usar los visores?

No. La consulta de los visores, los manuales y la API de datos abiertos son públicos y gratuitos. Solo el panel de gestión (carga de datos, usuarios, claves) requiere una cuenta con rol autorizado.

¿Puedo descargar los datos o conectarlos a Power BI / Tableau?

Sí. La API v1 entrega los panoramas en JSON (Power BI: Obtener datos → Web) y en CSV descargable (Tableau, Excel). El acceso a los datos se hace con una clave que se emite a cada entidad, con su límite de uso y su registro de consultas; la apertura sin credencial queda sujeta a la autorización de la supervisión del convenio. La autodescripción, que declara el modo vigente, está en /api/v1/capabilities y no requiere clave.

¿Cómo se cargan datos nuevos sin saber SQL?

Desde el panel de gestión, un usuario autorizado sube un archivo CSV o Excel; la plataforma lo valida contra el contrato de columnas del dataset (tipos, departamentos DIVIPOLA, vigencias, duplicados), muestra el resultado y solo entonces permite aplicar. Cada carga queda versionada, auditada y es reversible.

¿Cómo se relaciona esta plataforma con competitivas.gov.co?

Los visores hacen parte del ecosistema del Sistema Nacional de Competitividad e Innovación y están construidos para enlazarse desde el sitio institucional sin duplicar información. El alojamiento definitivo (dominio del Ministerio o infraestructura de iNNpulsa) es una decisión de gobernanza en curso; la arquitectura (subdominio + API + transferencia documentada) admite cualquiera de las opciones.

¿Qué recibe el MinCIT / iNNpulsa al cierre del convenio?

La totalidad de los activos técnicos, desbloqueados: código fuente, scripts y consultas, DDL y dumps de la base de datos, modelo ETL documentado, manuales y acta de entrega firmada — conforme a las páginas 40 a 43 del convenio. La guía de transferencia que acompaña la entrega inventaría cada activo.

¿Cómo se seguirá actualizando la plataforma cuando termine el convenio?

La actualización no depende de ninguna persona ni de ningún proveedor. La vía prevista es el panel de gestión, y admite dos formas sin escribir una línea de código: (1) corregir o agregar el dato uno a uno en un formulario con listas de indicadores, departamentos y municipios; (2) cargar el archivo de la vigencia nueva con la plantilla del propio conjunto, que se descarga desde el panel con sus columnas y sus ejemplos; la plataforma lo valida, muestra el resultado y solo entonces permite aplicar, con reversión en un clic. Además, un equipo técnico puede reejecutar los scripts documentados, y un proceso semanal avisa cuando una fuente publica un corte nuevo para que alguien decida cargarlo. Todo se entrega operativo, documentado y sin licencias comerciales de por medio. La designación de quién administra la plataforma tras la entrega es una decisión institucional de MinCIT e iNNpulsa.

¿La plataforma resiste un escaneo de vulnerabilidades?

Está construida para ello y el operador queda a disposición de la Oficina de Sistemas de Información del Ministerio para el escaneo que esta disponga, en la ventana y con la herramienta que defina, incluyendo la remediación de los hallazgos. Los controles ya implementados incluyen HTTPS obligatorio, Content Security Policy estricta sin código en línea sin firmar, contraseñas con ARGON2ID, protección CSRF, límite de tasa, roles, claves de API almacenadas solo como hash, auditoría de acciones y consultas parametrizadas contra inyección SQL. La plataforma ya superó una auditoría técnica externa sin recomendaciones abiertas.

¿A quién reporto un error o una inconsistencia en un dato?

Al canal del convenio con iNNpulsa Colombia o al correo institucional de Ruta Milagro - Regiones Más Competitivas. Toda corrección se traza: se identifica la fuente oficial, se corrige por carga versionada y queda registrada en la auditoría de la plataforma.

¿La plataforma cumple los lineamientos de los sitios GOV.CO?

La plataforma aplica el Kit de interfaz de usuario del Estado, en su versión 9.2, y las guías de accesibilidad y usabilidad de la Agencia Nacional Digital: barra superior con el logotipo de GOV.CO enlazado al portal único, pie de página institucional con los datos de contacto y el bloque de cierre obligatorio, el color asignado al Ministerio en el Manual de imagen de Gobierno, tipografías Nunito Sans y Verdana, lenguaje claro, HTML semántico y accesible en nivel AA, HTTPS con certificado automático y datos abiertos documentados. El detalle está en la sección de manual de estilo de esta misma página, y el estado de accesibilidad, con sus pendientes, en la página Declaración de Accesibilidad.

Is your question not listed here? Consult the manuals, the self-description of the API, or write to the institutional channel of Ruta Milagro - Regiones Más Competitivas.

8 · How it works internally: architecture, data and tables

This fact sheet affirms that the platform is traceable and transferable. There is a page that demonstrates this: it publishes the data model, the table inventory, and the column dictionary, all measured at the time of access.

24tablas de datos
693.607filas consultables
200columnas descritas
45tablas en total

🗄️ From File to Table

Each dataset is projected to its own table in the database, with the column names and registered types. That table—not a file—is what the viewer and the API query. The conversion was verified value by value: the reconstructed result is identical to the source file.

📖 Published Data Dictionary

The content of each column in each dataset, including its plain-language name and data type. This is information that typically remains in an internal document; here it is published and automatically generated, so it cannot become outdated.

🔍 Who sees what, explained

What can be consulted without an account, what requires one, and up to which year each route extends. Includes the end-to-end journey of a real data item and links to verify each step independently.

The data model is also published as queryable data: thus, the Ministry can verify the structure via a query, rather than by reading a diagram.

The data are open

Explore the five viewers or connect them to your analysis tool.