De dónde salen los datos de Vnutri: 8 bases, un catálogo
Ocho bases de composición de alimentos de licencia abierta, cómo las fusionamos en un catálogo único de 845+ alimentos con 38 nutrientes cada uno, y las decisiones metodológicas detrás.

"¿Cuántas calorías tiene una manzana?" — una pregunta simple con una respuesta no tan simple. Depende de la variedad, la madurez, el origen y quién la midió. Las cifras de las etiquetas, los libros y las apps pueden diferir 1,5–2×. Este artículo va de cómo Vnutri intenta cerrar esa brecha.
El catálogo de Vnutri tiene 845+ alimentos cotidianos y 340 platos, con 38 nutrientes en cada uno. Por debajo: 8 bases de composición alimentaria curadas, de licencia abierta, fusionadas en un solo conjunto. Aquí están las bases, por qué las elegimos y cómo las combinamos.
Qué es una base de composición alimentaria
Una base de composición alimentaria son datos de nutrientes medidos en laboratorio para alimentos. Cada registro es un producto concreto (por ejemplo, "Apple, raw, with skin, including foods for USDA's Food Distribution Program") con decenas o cientos de columnas de nutrientes por 100 g.
Las construyen instituciones nacionales: USDA en EE.UU., ANSES en Francia, FSANZ en Australia, etc. Los datos provienen de análisis instrumental (HPLC para vitaminas, ICP-MS para minerales, cromatografía de gases para ácidos grasos) sobre muestras regulares. Es caro: un registro típico cuesta a los laboratorios varios miles de dólares.
Por eso la mayoría son públicas — se construyen con dinero de los contribuyentes y los gobiernos obligan a que sean abiertas.
Las ocho fuentes de Vnutri
| Fuente | Registros | Licencia | Región |
|---|---|---|---|
| USDA FoodData Central (Foundation + SR Legacy) | 7 928 | Dominio público | EE.UU. |
| USDA FNDDS 2021–2023 (platos compuestos) | 5 431 | Dominio público | EE.UU. |
| Canadian Nutrient File | 5 690 | OGL Canada | Canadá |
| UK CoFID (McCance & Widdowson 2021) | 2 636 | OGL v3.0 | Reino Unido |
| ANSES Ciqual 2020 | 2 298 | Etalab | Francia |
| Matvaretabellen | 2 118 | NLOD | Noruega |
| AFCD (FSANZ Release 3) | 1 588 | CC BY 3.0 AU | Australia |
| Frida (DTU) | 1 381 | Open | Dinamarca |
| USDA Choline DB | ~25 | Dominio público | EE.UU. |
Cerca de 29 000 registros antes de filtrar.
Por qué estas en concreto
Tres criterios.
- Licencia abierta. Dominio público, CC, OGL, NLOD. Nada de "uso personal únicamente" — construimos un producto comercial. Eso descarta bases cerradas como NEVO (Países Bajos) y algunas universitarias.
- Actualizaciones regulares. Bases con "Release 18" y actualizaciones cada 3–5 años. Quedan fuera proyectos archivados o únicos.
- Medida en laboratorio, no cálculo por receta. Elegimos fuentes con la mayoría de registros de análisis instrumental. USDA FNDDS se usa solo para platos (sus valores son recipe-calculated, y lo dicen).
Qué no se incluye, y por qué:
- Open Food Facts (OFF) — base contribuida por usuarios, ODbL. Demasiado ruido: marcas comerciales, nombres distorsionados, sin validación. Usamos OFF solo para localización (diccionario multilingüe de nombres), no para valores de nutrientes.
- Fineli (Finlandia) — gran base, CC BY 4.0, pero el acceso CLI está bloqueado y no hicimos la exportación manual todavía.
- Livsmedelsverket (Suecia) — CC0, carga manual, pendiente.
- NEVO (Países Bajos) — licencia cerrada.
Qué nutrientes
38 nutrientes por alimento:
Energía y macros (10): calorías, proteínas, grasas, carbohidratos, fibra, azúcares, almidón, grasas saturadas/mono/poli/trans, colesterol.
Minerales (10): calcio, hierro, magnesio, fósforo, potasio, sodio, zinc, cobre, selenio, manganeso, yodo.
Vitaminas (13): A, retinol, D, E, K, C, B1 (tiamina), B2 (riboflavina), B3 (niacina), B5 (pantotenato), B6, B9 (folato), B12.
Ácidos grasos (3): omega-3, omega-6, además del desglose dentro de las grasas.
Otros (3): colina, lactosa, índice glucémico (cuando está).
Es más de lo que publica una sola fuente: USDA SR Legacy no lista yodo, USDA FDC no lista colina, Ciqual no lista selenio, etc. Cada nutriente viene de las bases que sí lo publican.
Cómo fusionamos las fuentes
El promedio simple no funciona. Bases distintas muestrean variedades distintas, métodos distintos, regiones distintas. La misma "manzana" en USDA y en Ciqual son frutos físicamente distintos.
Vnutri agrupa los registros de todas las fuentes en clústeres (alimento × variedad × estado) y luego toma la mediana ponderada por nutriente dentro de cada clúster.
En concreto:
- Normalización de nombres. Quitar sufijos categóricos ("raw, with skin, includes…"), aplicar sinónimos (
yoghurt → yogurt,aubergine → eggplant), normalizar formato. - Clustering. Tokens ordenados + estado (raw/cooked/dried) → clave de clúster. "Black beans, cooked" del USDA y "Beans, black, cooked" del CoFID caen en el mismo clúster.
- Comprobación de sanidad. Test de Atwater: calorías predichas (proteínas × 4 + grasas × 9 + carbohidratos × 4) deben coincidir con las declaradas dentro de ±25 %. Fuera de rango — se descarta, normalmente error de entrada.
- Mediana ponderada. USDA Foundation, Ciqual, CoFID, CNF, Frida, AFCD — peso 3. USDA SR Legacy, Matvaretabellen — peso 2. Mediana, no media, para que un outlier no arrastre.
- Mínimo de fuentes. Un clúster necesita datos de al menos 2 fuentes. Las anomalías de una sola fuente se descartan.
Resultado: un registro por alimento con los mejores datos disponibles por nutriente. Las fuentes se listan en la ficha del producto.
Cobertura de nutrientes
No todos los nutrientes se miden con el mismo cuidado. Cobertura en 845 alimentos:
| Cobertura | Nutrientes |
|---|---|
| 100 % | Calorías, proteínas, grasas, carbohidratos |
| 90–95 % | Fibra, calcio, hierro, sodio, potasio, magnesio, fósforo, niacina, A, C, B1, B2, B6, zinc, cobre, folato, B12 |
| 85–90 % | Azúcares, colesterol, grasas sat/mono/poli, manganeso, selenio, D |
| 75–85 % | Pantotenato, E, omega-3 |
| 60–75 % | Omega-6, almidón, grasas trans, K |
| 50–60 % | Colina, yodo |
Yodo y colina se quedan en 50–60 % por límites de las fuentes: USDA SR Legacy no publica yodo (la columna existe pero está vacía), y la colina solo aparece en USDA y CNF.
Y los platos
De los ~340 platos del catálogo, unos 150 vienen de USDA FNDDS 2021–2023 — base gubernamental de platos con valores recipe-calculated. El resto (~190) son platos regionales sin análogo en FNDDS: borscht, pelmeni, bibimbap, dal, pho, jollof rice, etc. Sus valores nutricionales son estimados por Claude Opus a partir de una receta típica con ingredientes medidos en laboratorio del catálogo principal.
Estos platos llevan un sello "approximate" en su ficha — su perfil nutricional es una estimación LLM, no datos de laboratorio. La precisión aquí es notablemente menor que en productos de un solo ingrediente.
Localización de nombres
Los nombres del catálogo se traducen a 6 idiomas (en, es, ca, fr, de, ru). El pipeline tiene tres capas, de la más barata a la más cara.
- Taxonomía OFF — vocabulario multilingüe curado, 4 212 entradas en 100+ idiomas. De la taxonomía de ingredientes de Open Food Facts en GitHub. Tasa de match ~70 %.
- Wikidata — API
wbsearchentitiespara alimentos raros o regionales. Selector por niveles con filtros deP31(instancia de alimento). - Google Cloud Translation v3 (Translation LLM) — pase final. Retraduce todo para arreglar fugas de nombre científico y aplicar concordancia de género y número.
Más — cómo nombramos los alimentos en 6 idiomas.
Y los estados (crudo vs cocido)
El mismo alimento crudo y cocido son dos productos distintos nutricionalmente. El arroz cocido tiene más agua y menos proteínas y calorías por 100 g que el crudo. La espinaca cocida tiene mayor densidad de muchos minerales que la cruda porque ha perdido agua.
Vnutri lo resuelve con un modelo de variantes por estado: cada alimento tiene un state (raw, cooked, dried, baked, etc.) y un groupId común a todos los estados del mismo alimento. El listado muestra uno primario (normalmente raw); en el detalle, un selector de estados.
Más — por qué "pollo cocido" y "pollo crudo" son alimentos distintos.
Índice glucémico
GI es el único nutriente en Vnutri que no viene de las 8 bases. Fuente: el metaanálisis Atkinson 2021 (Am J Clin Nutr), International Tables of Glycemic Index and Glycemic Load Values 2021. Es la compilación sistemática más completa de GI hasta hoy.
No todos los alimentos tienen GI medido — solo los que contienen carbohidratos, y solo si hay al menos una sesión de laboratorio en la literatura. Cerca del 30 % del catálogo tiene GI. Ver el índice glucémico.
Lo que NO hacemos
- No compramos bases cerradas. Solo licencia abierta.
- No usamos datos contribuidos por usuarios para nutrientes. OFF solo para nombres.
- No confiamos en datos de etiqueta de producción. Las calorías declaradas en el envase pueden diferir hasta un 20 % del valor de laboratorio (tolerancia FDA). Los datos de laboratorio son más precisos.
- No sumamos nutrientes por receta, salvo para "mixed dishes" de FNDDS.
Precisión y límites
Qué esperar.
Precisión de datos: para alimentos monoingredientes — valores medidos en laboratorio. Para platos FNDDS — valores recipe-calculated. Para platos regionales — estimaciones LLM.
Variación regional: una manzana en EE.UU., Noruega y Australia son frutos físicamente distintos. Nuestra mediana suaviza los efectos regionales. Si analizas comida de una región concreta, una base local puede ser más precisa.
Variación varietal: Honeycrisp ≠ Granny Smith en azúcares y acidez. En el catálogo, "manzana" es la mediana entre variedades. Hay que buscar variedades concretas aparte.
Cocción: "patata hervida" en el catálogo es promedio de métodos de hervido. Asada o frita — perfil distinto.
Envejecimiento de datos: USDA SR Legacy es de 2018; CoFID 2021; Ciqual 2020. Alimentos muy recientes no aparecen rápido.
Atribución
Todas las fuentes están citadas en la página de Acknowledgments con sus licencias. Cada nutriente en la ficha de un alimento se puede rastrear hasta su fuente.
Si quieres usar los datos de Vnutri en tu proyecto, estamos abiertos a hablarlo. Escríbenos: hello@vnutri.app.
Referencias
- US Department of Agriculture. FoodData Central. 2024.
- Health Canada. Canadian Nutrient File. 2023.
- Public Health England. McCance and Widdowson's The Composition of Foods Integrated Dataset 2021.
- ANSES. Ciqual French food composition table. 2020.
- Norwegian Food Safety Authority. Matvaretabellen. 2023.
- Food Standards Australia New Zealand. Australian Food Composition Database, Release 3. 2024.
- Technical University of Denmark. Frida Food Database. 2023.
- Atkinson FS, Brand-Miller JC, Foster-Powell K, et al. International tables of glycemic index and glycemic load values 2021. Am J Clin Nutr. 2021;114(5):1625–1632.