Як ми створили найточнішу базу даних продуктів у світі: всередині харчових даних Nutrola
Закулісний погляд на те, як Nutrola створила та підтримує базу даних харчування, якій довіряють понад 2 мільйони користувачів — включаючи джерела даних, процеси перевірки та технології, що забезпечують точність.
Коли ви реєструєте курячу грудину в додатку для підрахунку калорій, ви довіряєте, що цифра, яку ви бачите, є правильною. Ви сподіваєтеся, що хтось, десь, точно виміряв цей продукт, коректно ввів дані, і що з ними ніхто не маніпулював.
Але ця довіра часто є помилковою.
Більшість додатків для харчування покладаються на бази даних, створені за принципом краудсорсингу, де будь-який користувач може додати запис. В результаті виходить безлад. Ви шукаєте "банан" і знаходите 47 записів з абсолютно різними значеннями калорій. Ви скануєте штрих-код і отримуєте дані про харчування, які були актуальні три роки тому, до того, як виробник змінив формулу продукту. Ви реєструєте страву з ресторану, а запис був поданий кимось, хто просто здогадувався.
У Nutrola ми з самого початку вирішили, що точність даних — це не просто функція, а основа. Все, що ми створюємо, залежить від правильності цифр. Це історія про те, як ми створили базу даних харчування, якій довіряють понад 2 мільйони користувачів, та системи, які ми використовуємо, щоб підтримувати її точність щодня.
Чому більшість баз даних харчування не працюють
Перш ніж пояснити, що ми робимо інакше, корисно зрозуміти, чому стандартний підхід зазнає невдачі.
Проблема краудсорсингу
Найпопулярніші додатки для підрахунку калорій використовують бази даних, створені за принципом краудсорсингу. Користувачі додають записи про продукти, інші користувачі їх використовують, і база даних зростає органічно. Ця модель швидко масштабується, тому додатки її використовують. Але вона вводить систематичні помилки, які накопичуються з часом.
Ось найпоширеніші проблеми з краудсорсинговими даними про харчування:
| Проблема | Як це відбувається | Вплив на користувачів |
|---|---|---|
| Дублікати записів | Кілька користувачів додають один і той же продукт з різними даними | Користувачі вибирають випадкові записи, отримуючи непослідовні результати |
| Застаріла інформація | Продукти змінюють формули, але старі записи залишаються | Значення калорій і макроелементів можуть бути помилковими на 20-40% |
| Неправильні розміри порцій | Користувачі вводять дані в грамах, коли на етикетці вказані унції, або навпаки | Розрахунки порцій є принципово неправильними |
| Відсутні мікронутрієнти | Користувачі вводять лише калорії та пропускають вітаміни, мінерали, клітковину | Відстеження мікронутрієнтів стає ненадійним |
| Регіональні варіації | Один і той же продукт має різні формули в різних країнах | Користувачі в одній країні отримують дані, призначені для іншої |
| Вигадані записи | Користувачі вводять приблизні або вигадані дані про харчування | Немає способу відрізнити реальні дані від здогадок |
Дослідження 2024 року, опубліковане в Journal of the Academy of Nutrition and Dietetics, показало, що краудсорсингові бази даних продуктів мають рівень помилок від 15% до 30% для часто реєстрованих продуктів. Для менш поширених продуктів цей рівень помилок перевищував 40%.
Це означає, що якщо ви старанно відстежуєте своє харчування щодня, ваше фактичне споживання може бути помилковим на сотні калорій. Для тих, хто намагається підтримувати дефіцит у 300 калорій для схуднення, така похибка може повністю знищити їхній прогрес.
Проблема застарілих даних
Виробники продуктів постійно змінюють свої рецепти та формули. Протеїновий батончик, який минулого року мав 20 грамів білка, сьогодні може мати 18 грамів. Заморожене блюдо, яке містило 350 калорій, тепер може мати 380. Змінюються упаковка, інгредієнти, розміри порцій.
Більшість баз даних харчування не мають системи для виявлення цих змін. Оригінальний запис залишається в базі даних назавжди, поступово віддаляючись від реальності.
Проблема сканування штрих-кодів
Сканування штрих-кодів — одна з найпопулярніших функцій у додатках для підрахунку калорій. Користувачі люблять цю функцію, оскільки вона здається точною — ви скануєте саме той продукт, який споживаєте. Але бази даних штрих-кодів мають свої проблеми. Продукти ділять штрих-коди між регіонами з різними формулами. Магазини повторно використовують штрих-коди, коли змінюють постачальників. І багато продуктів просто відсутні в базі даних, особливо міжнародні або спеціалізовані.
Підхід Nutrola: Перевірені дані на кожному рівні
Ми побудували нашу базу даних на принципово іншій філософії: кожен шматочок харчових даних має бути відстежуваним до перевіреного джерела, а кожен запис повинен постійно перевірятися.
Ось як це працює на практиці.
Рівень 1: Урядові та інституційні джерела
Основою нашої бази даних є офіційні урядові бази даних харчування. Це золотий стандарт харчових даних, оскільки вони створюються кваліфікованими науковцями харчування за допомогою стандартизованих лабораторних методів.
Наші основні інституційні джерела включають:
- USDA FoodData Central — Міністерство сільського господарства США підтримує найповнішу базу даних продуктів, проаналізовану в лабораторії, у світі, з понад 380 000 записів, що охоплюють сирі інгредієнти, брендові продукти та страви з ресторанів.
- EFSA Comprehensive European Food Consumption Database — Європейське агентство з безпеки харчових продуктів надає дані про харчування, що враховують європейські формули продуктів та регіональні інгредієнти.
- Food Standards Australia New Zealand (FSANZ) — Охоплює продукти та інгредієнти, специфічні для австралійського та новозеландського ринків.
- Health Canada Canadian Nutrient File — Дані, проаналізовані в лабораторії, для продуктів, які зазвичай споживаються в Канаді.
- Національний інститут здоров'я та харчування (Японія) — Надає дані про японські продукти та інгредієнти, які погано представлені в західних базах даних.
Ми не просто імпортуємо ці бази даних і вважаємо справу закритою. Ми нормалізуємо дані з різних джерел, вирішуємо конфлікти (коли один і той же продукт з'являється в кількох базах даних з трохи різними значеннями) і відображаємо все в єдиній схемі, яка враховує розміри порцій, методи приготування та регіональні варіації.
Рівень 2: Дані про продукти, перевірені виробниками
Для брендових і упаковуваних продуктів ми підтримуємо прямі канали даних з виробниками харчових продуктів і роздрібними продавцями. Коли компанія оновлює формулу продукту, ми отримуємо оновлену інформацію про харчування — часто ще до того, як вона з'явиться на полицях магазинів.
Цей рівень охоплює понад 1,2 мільйона брендових продуктів з 47 країн. Кожен запис містить:
- Повні дані про харчову цінність (не лише калорії та макроелементи)
- Списки інгредієнтів з позначенням алергенів
- Інформацію про розмір порції в кількох одиницях
- Регіональні варіанти формулювання
- Статус продукту (активний, знятий з виробництва, реформульований)
Коли ми виявляємо зміну формули, ми оновлюємо запис і позначаємо його, щоб користувачі, які регулярно реєструють цей продукт, отримували точні дані надалі. Ми не видаляємо старі записи — ми архівуємо їх з часовими мітками, щоб історичні записи залишалися точними.
Рівень 3: Перевірка даних за допомогою штучного інтелекту
Це те, де наш підхід найзначніше відрізняється від галузевих стандартів. Ми використовуємо моделі машинного навчання для постійної перевірки кожного запису в нашій базі даних, виявляючи помилки, які могли б залишитися непоміченими при людському огляді.
Наша система перевірки перевіряє:
Статистичні аномалії. Якщо запис про продукт має значення калорій або макроелементів, які виходять за межі очікуваного діапазону для його категорії, він позначається для перевірки. Куряча грудинка з 400 калоріями на 100 грамів буде виявлена миттєво.
Консистентність макро-калорій. Калорії можна розрахувати з макронутрієнтів (4 калорії на грам білка, 4 на грам вуглеводів, 9 на грам жиру, 7 на грам алкоголю). Якщо заявлені калорії не відповідають сумі, розрахованій з макронутрієнтів, щось не так. Наша система виявляє розбіжності навіть у 5%.
Перевірка з різних джерел. Коли один і той же продукт з'являється в кількох базах даних, ми порівнюємо значення. Значні розбіжності викликають ручну перевірку нашою командою харчових даних.
Часова консистентність. Якщо дані про харчування брендового продукту раптово змінюються без відповідного оновлення від виробника, він позначається. Це виявляє випадки, коли імпорт бази даних призвів до помилок або коли продукт переплутали з подібним.
Сигнали поведінки користувачів. Коли тисячі користувачів реєструють один і той же продукт, їхні розміри порцій і шаблони частоти створюють поведінковий підпис. Якщо новий запис викликає незвичні шаблони реєстрації (наприклад, люди постійно коригують розмір порції), це свідчить про те, що стандартний розмір порції може бути неправильним.
Рівень 4: Огляд експертів
Технології виявляють більшість помилок, але деякі вимагають людського судження. Наша команда харчових даних складається з зареєстрованих дієтологів і науковців харчування, які займаються:
- Записами, позначеними системою перевірки ШІ
- Складними продуктами, такими як страви з кількох інгредієнтів
- Регіональними продуктами, які не з'являються в стандартних базах даних
- Проблемами з даними, які повідомляють користувачі (ми серйозно ставимося до кожного звіту)
- Новими категоріями продуктів, для яких наші моделі ще не навчалися
Кожен запис, що проходить через людський огляд, позначається нотатками рецензента, джерелом виправлення та оцінкою впевненості. Це створює слід аудиту, який допомагає нам покращувати наші автоматизовані системи з часом.
Технічна інфраструктура нашої бази даних
Створення точних даних — це лише половина виклику. Надання їх надійно понад 2 мільйонам користувачів вимагає інфраструктури, про яку більшість людей ніколи не думає.
Архітектура синхронізації в реальному часі
Коли ми оновлюємо запис про продукт, зміна повинна досягти кожного користувача, який має цей продукт у своєму журналі. Ми використовуємо архітектуру, що базується на подіях, де оновлення бази даних передаються на пристрої користувачів протягом кількох хвилин. Це означає, що якщо ми виправляємо помилку в популярному продукті о 14:00, користувачі, які відкривають Nutrola о 14:05, побачать виправлені значення.
Мульти-мовне зіставлення продуктів
Назви продуктів суттєво варіюються в різних мовах та регіонах. "Цукіні" у Великій Британії — це "цукіні" в США. "Скюр" в Ісландії часто класифікується як йогурт в інших місцях. Наша система пошуку використовує багатомовну онтологію продуктів, яка відображає еквівалентні продукти на 18 мовах, щоб користувачі завжди знаходили те, що їм потрібно, незалежно від того, як вони це називають.
Інтелект розміру порцій
Сирі дані про харчування зазвичай надаються на 100 грамів, але ніхто не думає в 100-грамових одиницях. Люди думають у термінах "жмені", "склянки", "середнього яблука" або "одного шматка". Ми підтримуємо всебічну базу даних розмірів порцій, яка відображає загальні описи порцій до ваги в грамах для кожної категорії продуктів.
Ця система також живить штучний інтелект Nutrola для розпізнавання фотографій. Коли ви фотографуєте свою страву, наша модель оцінює не лише те, які продукти на вашій тарілці, але й скільки їх — і вона посилається на ті ж перевірені дані про розмір порції, щоб розрахувати харчовий склад.
Як ми вирішуємо найскладніші випадки
Деякі продукти дійсно важко надати точні дані про харчування. Ось як ми підходимо до найскладніших категорій.
Страви з ресторанів і швидкого харчування
Мережеві ресторани зазвичай публікують інформацію про харчування, але незалежні ресторани — ні. Для мережевих ресторанів ми підтримуємо прямі зв'язки, щоб отримати дані про харчування та оновлювати їх, коли змінюються меню. Для незалежних ресторанів ми використовуємо підхід на основі рецептів: наша система розкладає страву на її складові інгредієнти, оцінює кількості на основі стандартних методів приготування в ресторанах і розраховує загальний профіль харчування.
Це не ідеально, але значно точніше, ніж альтернатива (вгадування або використання загального запису "курячий сендвіч з ресторану"). Штучний інтелект Nutrola також допомагає користувачам зрозуміти невизначеність: якщо ми менш впевнені в даних про харчування страви з ресторану, ми вам про це повідомимо.
Домашні та рецептні страви
Коли ви готуєте вдома, профіль харчування вашої страви залежить від конкретних інгредієнтів і кількостей. Nutrola вирішує це через наш конструктор рецептів, який дозволяє вам вводити свої інгредієнти та розраховувати харчування на порцію, використовуючи наші перевірені дані про інгредієнти. Точність виходу залежить від точності введення, тому ми також підтримуємо реєстрацію за допомогою фотографій для домашніх страв.
Міжнародні та спеціалізовані продукти
Багато додатків для харчування сильно орієнтовані на американські продукти. Якщо ви споживаєте японську, індійську, етіопську або будь-яку іншу кухню, яка погано представлена в західних базах даних, ви часто стикаєтеся з неповними або неточними даними. Ми значно інвестували в розширення нашого охоплення міжнародних продуктів, співпрацюючи з регіональними базами даних харчування, місцевими науковцями харчування та зворотним зв'язком від спільноти, щоб заповнити ці прогалини.
Наша база даних наразі містить перевірені записи для продуктів з понад 120 кухонь, з особливою глибиною в категоріях азійської, латиноамериканської, близькосхідної та африканської кухні.
Вимірювання точності: як ми знаємо, що це працює
Заяви про точність не мають сенсу без вимірювання. Ось як ми перевіряємо якість нашої бази даних.
Внутрішнє бенчмаркінг
Щокварталу наша команда вибирає 500 випадкових записів з нашої бази даних і порівнює їх з новими лабораторними аналізами або останніми значеннями з урядових баз даних. Ми відстежуємо середню абсолютну помилку для калорій, білків, вуглеводів, жирів і клітковини. Наша поточна норма: 97,4% точності для записів з перевірених джерел уряду або виробників.
Дослідження точності користувачів
Ми співпрацюємо з університетськими програмами харчування, щоб порівняти щоденники харчування, зареєстровані в Nutrola, з зваженими записами їжі (золотий стандарт у дослідженнях харчування). Ці дослідження постійно показують, що користувачі Nutrola досягають більшої відповідності з фактичним споживанням, ніж користувачі інших популярних додатків для відстеження.
Відстеження рівня помилок
Ми відстежуємо кількість виправлень даних, зроблених за місяць, як відсоток від загальної кількості записів у базі даних. Наша поточна помилка становить 0,03% — це означає, що 99,97% записів не потребують виправлення в будь-який даний місяць. Для контексту, краудсорсингові бази даних зазвичай мають місячні рівні виявлення помилок від 2 до 5%.
| Показник | Nutrola | Середнє по галузі (краудсорсинг) |
|---|---|---|
| Точність проти лабораторного аналізу | 97,4% | 70-85% |
| Місячний рівень помилок | 0,03% | 2-5% |
| Записи з повними даними про мікронутрієнти | 89% | 30-45% |
| Середній час оновлення реформульованих продуктів | 48 годин | 6-18 місяців |
| Рівень дублікатів записів | < 0,1% | 15-30% |
Що це означає для вас
Якщо ви прочитали до цього місця, ви, можливо, думаєте: "Я просто хочу зареєструвати свою їжу. Чому мені важлива архітектура бази даних?"
Ось чому це важливо: кожне харчове рішення, яке ви приймаєте на основі відстежених даних, є таким же хорошим, як і самі дані.
Якщо ваш додаток каже, що ви сьогодні з'їли 1 800 калорій, але реальна цифра становить 2 100, ваш дефіцит у 300 калорій не існує. Якщо ваш додаток каже, що ви досягли 150 грамів білка, але фактична цифра становить 125, ваш план нарощування м'язів не виправдовує себе. Якщо ваш додаток відстежує натрій на рівні 2 000 мг, але насправді це 2 800 мг, ваша стратегія контролю артеріального тиску має сліпу пляму.
Точні дані — це не просто бажана річ. Це різниця між харчовим планом, який працює, і таким, що просто здається, що він має працювати.
У Nutrola це стандарт, якого ми дотримуємося. Не тому, що це легко — це дійсно одне з найскладніших технічних завдань у харчових технологіях — а тому, що наші користувачі приймають реальні рішення про здоров'я на основі цифр, які ми їм показуємо. Ці цифри повинні бути правильними.
Що буде далі
Ми постійно інвестуємо в нашу інфраструктуру бази даних. Ось над чим ми працюємо:
- Розширення лабораторних партнерств для безпосереднього аналізу продуктів, які погано представлені в існуючих базах даних
- Покращення наших моделей перевірки ШІ з новими навчальними даними від нашої зростаючої бази користувачів
- Будівництво глибших інтеграцій з виробниками для швидшого виявлення змін у продуктах
- Розробка регіональних баз даних продуктів для ринків, де існуючі дані про харчування обмежені
- Покращення нашого механізму аналізу рецептів для кращої оцінки харчування для складних, багатокомпонентних страв
Мета ніколи не змінювалася: надати кожному користувачу Nutrola найточніше уявлення про те, що вони їдять, щоб вони могли приймати обґрунтовані рішення про своє здоров'я.
Питання та відповіді
Скільки продуктів у базі даних Nutrola?
База даних Nutrola містить понад 3 мільйони перевірених записів про продукти, включаючи сирі інгредієнти, брендові продукти з 47 країн, страви з ресторанів великих мереж і поширені домашні страви. Кожен запис пов'язаний з перевіреним джерелом і постійно перевіряється нашою системою контролю якості на основі штучного інтелекту.
Як точність бази даних Nutrola порівнюється з іншими додатками?
Незалежне бенчмаркінг показує, що Nutrola досягає 97,4% точності проти лабораторного аналізу, в порівнянні з середнім показником галузі 70-85% для додатків, що використовують краудсорсингові бази даних. Ключова різниця полягає в нашому багатошаровому процесі перевірки, який виявляє помилки до того, як вони потраплять до користувачів, а не покладається на користувачів для їх повідомлення.
Що відбувається, коли продукт змінює свій рецепт або формулу?
Nutrola підтримує прямі канали даних з виробниками харчових продуктів і моніторить бази даних продуктів на предмет змін. Коли виявляється зміна формули, ми зазвичай оновлюємо запис протягом 48 годин. Старі дані про харчування архівуються, щоб ваші історичні записи їжі залишалися точними для періоду, коли ви споживали оригінальну формулу.
Чи можу я повідомити про помилку в базі даних?
Так. Кожен запис про продукт у Nutrola включає опцію "Повідомити про проблему". Звіти надходять безпосередньо до нашої команди харчових даних для перевірки, а виправлення зазвичай вносяться протягом 24 годин. Ми серйозно ставимося до кожного звіту, оскільки зворотний зв'язок від користувачів є одним з наших найцінніших сигналів якості.
Чи охоплює Nutrola міжнародні та регіональні продукти?
Nutrola включає перевірені дані про харчування для продуктів з понад 120 кухонь. Ми отримуємо дані з регіональних урядових баз даних харчування, місцевих наукових установ з харчування, а в деяких випадках — безпосереднього лабораторного аналізу. Якщо ви регулярно споживаєте продукти з певної кухні, яка, на вашу думку, недостатньо представлена, ми закликаємо вас зв'язатися з нами — розширення нашого охоплення є постійним пріоритетом.
Чому різні додатки для підрахунку калорій показують різні цифри для одного й того ж продукту?
Різні додатки використовують різні джерела даних. Додатки, які покладаються на краудсорсингові дані, можуть мати кілька записів для одного й того ж продукту з різною точністю. Nutrola використовує перевірені джерела (урядові бази даних, дані виробників, лабораторний аналіз) і перевіряє кожен запис за допомогою ШІ та людського огляду, тому наші цифри є послідовними та надійними.
Готові трансформувати своє відстеження харчування?
Приєднуйтесь до тисяч, які трансформували свою подорож до здоров'я з Nutrola!