Описание полей и — что важнее — правила, по которым эти числа можно и нельзя сравнивать между собой.
| Файл | Что внутри | Формат |
|---|---|---|
findings.csv |
2404 числовых показателя, одна строка = одна статистика | запятая, десятичная точка |
findings_ru.csv |
то же | ;, десятичная запятая |
sources.csv |
185 источников | запятая |
sources_ru.csv |
то же | ; |
coverage.csv |
матрица «страна × тема» | запятая |
Кодировка везде UTF-8 с BOM, перевод строки CRLF.
| Поле | Тип | Описание |
|---|---|---|
finding_id |
строка | Уникальный идентификатор, F###. Стабилен между версиями |
source_id |
строка | Ссылка на sources.csv, N### |
topic |
код | Тематический блок: D1–D5, E (см. ниже) |
topic_label |
строка | Расшифровка блока по-русски |
indicator |
snake_case | Ключевое поле. Машинное имя показателя. Одинаковое имя = сопоставимые величины |
country_raw |
строка | Как записано в источнике (по-русски) |
country_en |
строка | Английское название |
country_iso3 |
ISO 3166-1 alpha-3 | Код страны. Пусто для агрегатов. GBR покрывает три разные сущности — United Kingdom, England, England and Wales: у исторических таблиц дожития охват уже, чем у страны. Группировка по country_iso3 их смешает; чтобы различить, смотрите country_en |
geo_scope |
код | national — одна страна · multi — несколько · global — мир · region — объединение (ЕС) · community — не популяционная выборка |
year_start |
год | Начало периода сбора данных (не публикации). Пусто у одной строки — F238, детская смертность «до 1800 года»: у неё известна только верхняя граница, и она стоит в year_end |
year_end |
год | Конец периода. Для точечного замера совпадает с year_start |
n_sample |
целое | Объём выборки. Пусто, если не опубликован |
n_note |
строка | Объём выборки словами, если он не число (например, «60000 домохозяйств») |
subgroup |
строка | Подгруппа: все, мужчины, женщины, возрастная категория и т. п. |
value_min |
число | Значение или нижняя граница диапазона |
value_max |
число | Верхняя граница. Для точечной оценки равно value_min |
value_type |
код | point · range · lower_bound · upper_bound |
unit |
код | Единица измерения (см. ниже) |
question_short |
строка | Краткая формулировка вопроса или показателя |
note |
строка | Комментарий, предупреждение о сопоставимости, связь с другими находками |
question_type |
код | ЧТО измеряется: ценность, ожидание, готовность, намерение, поведение, статистика |
technology_type |
код | К какому средству относится показатель |
response_type |
код | Форма ответа: бинарная, порядковая, непрерывная, счёт, индекс |
framing |
код | Дополнительное условие в формулировке вопроса |
ladder_step |
0–4 | Ступень «лестницы приверженности», 0 — вне лестницы |
ci_low, ci_high |
число | Границы интервала, как их опубликовал источник. Пусто, если интервал не публиковался. Считать их самим по объёму выборки нельзя: это была бы наша оценка, а не оценка автора |
sd |
число | Стандартное отклонение. Держится отдельно от границ интервала: пара ci_low/ci_high никогда не содержит отклонение |
uncertainty |
код | Чем задана неопределённость: ci95 · ui95 · sd · range · iqr. Пусто — источник её не приводит |
is_projection |
0/1 | Величина относится к будущему или к сценарию, а не к состоявшемуся замеру. Смешивать прогнозы с наблюдениями в одном ряду нельзя |
is_derived |
0/1 | Величина посчитана составителем базы, а не взята из источника дословно |
verification |
код | Откуда мы знаем, что число такое. primary — независимо сверено с первичной публикацией · corroborated — сверено с цитируемой публикацией либо подтверждено двумя независимыми пересказами · from_primary — внесено из первичного документа при разборе, отдельной сверки не было · secondary — из пересказа, не сверялось · pending — не проверялось · failed — сверено и не совпало |
verified_on |
дата | Когда проведена сверка. Обязательна при primary, corroborated и failed |
Про
from_primary. Обладать первичным документом и сверить по нему конкретное число — разные вещи. Строка, внесённая при разборе статьи, помеченаfrom_primary, а неprimary: первичный текст был на руках, но независимой перепроверки этого значения не было. Смешивать эти состояния значило бы завышать надёжность базы. Если вам нужны только перепроверенные величины:df[df.verification.isin(["primary", "corroborated"])]. |source_name| строка | Организация и название источника | |source_year| год | Год публикации источника | |source_url| URL | Ссылка на первоисточник. Пусто у сводок — причина сказана словами вnotesреестра | |source_doi| DOI | Цифровой идентификатор публикации, если он есть | |source_tier| код |T1·T2·T3(см. ниже) | |source_access| код | Что именно у нас на руках:microdata·full·partial·abstract·blocked·secondary·derived| |source_license| код | Условия повторного использования первичных данных. Для длинных рядов продолжительности жизни это не формальность: перепубликовать законно можно Our World in Data и STMF, сырьё Human Mortality Database и IDL — нельзя | |source_peer_review| код |peer_reviewed·preprint·conference·official·grey·media. Препринты и тезисы в базе есть, и подавать их наравне со статьями нельзя |
| Код | Тема | Строк |
|---|---|---|
D1 |
Желание бессмертия, вера в загробную жизнь, страх смерти | 557 |
D2 |
Желаемая и ожидаемая продолжительность жизни; возраст начала старости | 216 |
D3 |
Отношение к технологиям продления жизни и борьбе со старением | 332 |
D4 |
Демография и статистика населения: ОПЖ, здоровая ОПЖ, долгожители, пределы | 630 |
D5 |
ЗОЖ, здоровье населения, wellness-экономика | 472 |
E |
Крионика, цифровое бессмертие, рынки долголетия | 120 |
M |
Состав выборки: доля мужчин, доля с высшим образованием и подобное. Это метаданные опроса, а не замер отношения — в матрицу покрытия такие строки не входят | 77 |
| Код | Смысл | Строк |
|---|---|---|
pct |
проценты | 1599 |
years |
годы | 463 |
scale_score |
средний балл по шкале | 91 |
count |
счёт объектов | 81 |
ratio |
отношение | 48 |
persons |
человек | 48 |
litres |
литры | 22 |
years_per_year |
лет за год | 11 |
pct_change |
изменение в процентах | 8 |
billion_usd |
млрд долларов | 7 |
years_per_decade |
лет за десятилетие | 6 |
rmb |
юани | 6 |
grams_per_day |
граммов в сутки | 6 |
trillion_usd |
трлн долларов | 3 |
usd |
доллары | 2 |
per100k |
на 100 тыс. населения | 1 |
million_usd |
млн долларов | 1 |
index |
значение индекса | 1 |
| Тир | Что означает |
|---|---|
T1 |
Репрезентативная выборка или официальная статистика; прямое измерение по теме |
T2 |
Смежная тема, коммерческий опрос или ограниченная методология |
T3 |
Неслучайная выборка, отраслевая аналитика, справочные издания. Не обобщается на население |
Что было на руках, когда величину вносили в базу. То же поле называется access в sources.csv.
| Код | Смысл | Строк |
|---|---|---|
full |
первоисточник получен полностью | 1819 |
partial |
получена часть: аннотация, отрывок, отдельные таблицы | 361 |
microdata |
получены микроданные, величина посчитана из них | 172 |
secondary |
первоисточника не было, величина взята из пересказа | 51 |
derived |
производная сводка, собранная в этом проекте | 1 |
Каждая строка размечена по четырём признакам. Таблицы ниже пересобираются
из самих данных скриптом scripts_build/build_codebook_tables.py, и число
строк в них — фактическое. Кода, которого нет в таблице, в наборе нет:
скрипт падает, если встречает неописанный.
Разметка сделана по имени показателя, но совпадает не всегда. Замысел
был такой: один и тот же indicator получает один код. На деле это
выполняется не везде — величина под одним именем может относиться
к разному замеру. Расхождения по полям: ladder_step — 16 имён,
question_type — 12, response_type — 11, topic — 9,
technology_type — 6, framing — 6, unit — 2. Например
want_live_forever встречается и со ступенью 1, и со ступенью 0.
Поэтому фильтровать по коду разметки, а не по indicator, нельзя:
разметка описывает строку, а сопоставимость задаёт indicator.
Что за величину несёт строка.
| Код | Смысл | Строк |
|---|---|---|
value |
Ценность, убеждение, предпочтение. Сюда же самооценка собственного образа жизни: это заявление о себе, а не наблюдённое поведение | 1624 |
behavior |
Наблюдённое или измеренное поведение, а не рассказ о нём | 200 |
population_stat |
Статистика населения: величина, не зависящая от мнения опрошенных | 200 |
belief |
Убеждение о том, как устроен мир: существует ли загробная жизнь, победит ли наука старение | 190 |
willingness |
Готовность что-то сделать при названных условиях | 70 |
expectation |
Прогноз о себе: сколько проживу, когда испортится здоровье. Не желание | 59 |
attitude |
Отношение к предмету — одобрение, приемлемость, оправданность, — без обязательства что-либо делать | 52 |
knowledge |
Осведомлённость: знает ли опрошенный о предмете вопроса | 6 |
intention |
Намерение, заявленное как решение, а не как готовность при условии | 3 |
О каком способе продления жизни идёт речь.
| Код | Смысл | Строк |
|---|---|---|
none |
Вопрос не о технологии | 1888 |
lifestyle |
Образ жизни: питание, движение, отказ от вредного | 262 |
cryonics |
Крионика | 90 |
cloning |
Клонирование клеток, тканей, органов и тела | 57 |
digital |
Цифровое бессмертие, перенос сознания | 51 |
medical |
Медицинское вмешательство или процедура | 20 |
genetic |
Вмешательство в геном, генная терапия | 17 |
device |
Устройство или гаджет: носимый датчик, прибор | 10 |
pharmacological |
Лекарственное средство: рапамицин, метформин, таблетка | 6 |
augmentation |
Аугментация: имплант, протез, усиление способностей | 3 |
Какое условие поставлено в самом вопросе. Формулировка решает многое: см. правило 1 ниже.
| Код | Смысл | Строк |
|---|---|---|
none |
Условий в формулировке нет | 2272 |
population_wide |
Величина относится к населению целиком, а не к ответившим на вопрос | 100 |
financial_cost |
В вопросе названа цена или денежные затраты | 13 |
health_guaranteed |
Вопрос обещает сохранение здоровья или молодости | 6 |
condition |
В вопросе стоит иное условие — доступность, безопасность, отсутствие побочных эффектов | 4 |
consent |
Формулировка про согласие: разрешил бы, допустил бы | 3 |
cognitive_loss |
Условие о потере памяти или рассудка | 2 |
dissent |
Формулировка про отказ: запретил бы, не допустил бы | 2 |
no_health_guarantee |
Вопрос прямо оговаривает, что здоровье не гарантировано | 1 |
burden_to_family |
Условие о том, что долгая жизнь ляжет бременем на близких | 1 |
Как устроен ответ опрошенного.
| Код | Смысл | Строк |
|---|---|---|
continuous |
Измеренная величина, а не выбор из вариантов | 993 |
binary |
Да или нет | 877 |
ordinal |
Упорядоченные градации без числовой шкалы | 270 |
categorical |
Выбор из перечисленных вариантов, больше двух | 112 |
count |
Счёт объектов | 97 |
likert |
Согласие по шкале Ликерта: от «полностью согласен» до «полностью не согласен» | 28 |
index |
Значение составного индекса | 21 |
probability |
Оценка вероятности события | 6 |
Центральная конструкция базы, приведённая к операциональному виду: ступени ранжированы по цене обязательства, которую человек берёт на себя.
| Ступень | Название | Что означает | Показателей |
|---|---|---|---|
| 1 | ценность | Заявить позицию. Цена — ноль | 187 |
| 2 | готовность | Согласиться на конкретное средство гипотетически | 44 |
| 3 | намерение | Заявить план действия | 3 |
| 4 | действие | Совершить поступок, в том числе необратимый | 52 |
| 0 | вне лестницы | Статистика населения и ожидания | 156 |
Ожидание («сколько я проживу») — это прогноз о мире, а не обязательство. Человек, ожидающий дожить до 90, ничем не связал себя; человек, подписавший криоконтракт, связал. Ставить их на одну шкалу нельзя.
Это различение имеет практическое следствие. Панели старения — HRS, SHARE, ELSA, CHARLS и объединяющий их Gateway to Global Aging — измеряют субъективную вероятность дожития, то есть ожидание. Это самые крупные и качественные данные, формально близкие к теме базы, и именно поэтому их регулярно принимают за измерение желания жить дольше. Они им не являются.
import pandas as pd
df = pd.read_csv("data/findings.csv")
# вся лестница, только сопоставимые ступени
ladder = df[df.ladder_step > 0]
# сравнить слова и дела внутри одной темы
ladder[ladder.technology_type == "cryonics"].groupby("ladder_step").value_min.describe()Разметка задумывалась как удобство, но дала самостоятельный результат.
-
Ступень «намерение» почти пуста: 9 показателей из 417. Между гипотетической готовностью и совершённым действием лежит слой, который поле почти не измеряет. Это самый крупный методологический пробел базы. Единственный полноценный замер — мета-анализ Rhodes и de Bruijn 2013 (N = 3 899 из 10 исследований): из тех, кто намеревался заниматься физической активностью, 36 % так и не начали, а обратный переход почти отсутствует — среди не намеревавшихся начали лишь 2 %. Разрыв односторонний.
-
Формулировку почти никто не варьирует. Условие «при сохранении здоровья» встречается в 6 показателях, обратное условие — в 1. При этом именно оговорка о здоровье переворачивает результат: без неё доля желающих долгой жизни резко падает. Поле опирается на различение, которое почти не проверяет экспериментально.
-
Ценностный слой перевешивает всё остальное вместе взятое: 275 показателей против 133 на ступенях «готовность» и «действие» суммарно. Поле охотнее всего измеряет то, что ничего не стоит респонденту.
-
«Действие» перевешивает «готовность» по объёму — 75 показателей против 58 — и по прослеживаемости прочнее: T1 стоит у 57 из 75 против 31 из 58. Но почти всё это измеренное поведение в области здорового образа жизни (67 показателей): официальная статистика, когортные наблюдения, мета-анализы. Необратимое действие в собственном смысле — заключённый контракт на крионику — стоит на всю базу за одним показателем, и тот получен опросом сообщества, а не счётчиком провайдера. Самый нижний край лестницы держится на самых слабых данных из всей базы.
По крионике лестница при этом собирается целиком и показывает обвал на четыре порядка внутри одной темы: слышали о крионике 47 %, готовы в принципе — около 20 %, намерены — 6 %, подписали контракт — 5 % в сообществе LessWrong и порядка 0,00006 % населения Земли по счётчикам провайдеров. Разрыв создаёт не последняя ступень, а переход от готовности к намерению и далее к необратимому шагу.
Это главный раздел кодбука. Игнорирование этих правил даст формально корректные, но бессмысленные выводы.
Строки с одинаковым indicator измеряют одно и то же и сопоставимы между странами
и годами. Строки с разным indicator — разные конструкты, даже если звучат похоже.
Пример: want_live_forever (хотят жить вечно) и want_live_to_100 (хотят дожить
до 100) — не две оценки одной величины. В США по первому получается 19–33 %,
по второму 29–77 %. Это не противоречие в данных, а разные пороги.
| Пара | Почему нельзя сравнивать |
|---|---|
zozh_adherence_objective (9,7 %) vs zozh_selfreport_always (53 %) |
Объективный критерий из пяти условий одновременно vs самоотчёт. Разрыв частично определительный: конъюнкция пяти требований при 60 % прохождения по каждому механически даёт ≈7,8 % |
sports_participation Россия (60,3 %) vs insufficient_physical_activity мир (31,3 %) |
Административная отчётность Минспорта vs стандартизированный критерий ВОЗ (150 мин/нед). Разные определения и источники |
longevity_is_good Япония (68,8 %) vs want_live_to_100 Япония (28,2 %) |
Общая ценность долголетия vs конкретный порог; разные выборки (все взрослые vs возраст 77–81) |
want_live_to_100 США 2016 (77 %) vs 2025 (29 %) |
Разные полстеры и шкалы: прямой бинарный вопрос vs распределение желаемого возраста. Различие инструментальное, не трендовое |
Всегда проверяйте value_type:
point— точечная оценка,value_min=value_max;range— первоисточник дал диапазон; используйте обе границы, при расчётах берите середину и указывайте неопределённость;lower_bound— известна только нижняя граница (value_maxпусто);upper_bound— только верхняя.
Поля ci_low, ci_high и sd заполнены только там, где интервал
опубликовал сам источник, — это 26 строк из 2 404. В поле uncertainty
указано, что именно опубликовано: ci95, ui95, iqr, sd или range.
Такие границы переносите вместе со значением и не пересчитывайте:
у сложных выборок они учитывают дизайн, а формула по объёму выборки — нет.
Для остальных строк интервала в данных нет. Если он нужен, считайте сами
из n_sample: ±1,96·√(p(1−p)/n) — и помните, что для квотных онлайн-панелей
это нижняя оценка: реальная ошибка больше расчётной на величину
дизайн-эффекта.
Часть источников пересекается с более ранним корпусом; в sources.csv это отмечено
полем overlap_phase1. При количественном синтезе учитывайте такие показатели один раз.
Россия и США дают 56,9 % всех национальных показателей — больше половины,
а не «почти половину». Это свойство
доступности источников, а не темы. Любое утверждение вида «в мире считают так-то»
проверяйте на этот перекос — см. coverage.csv и вкладку «Карта покрытия» витрины.
Справочная таблица по 183 странам, выгруженная напрямую из Global Health
Observatory ВОЗ. Держится отдельно от findings.csv намеренно: это машинная
статистика по всем странам сразу, и если влить её в основной датасет,
она задавит собой опросные данные, ради которых база и существует.
| Поле | Описание |
|---|---|
country_iso3 |
Код страны |
country_en |
Название |
year_hale, hale_years |
Год и значение ожидаемой продолжительности здоровой жизни |
year_le, life_expectancy_years |
Год и значение общей ожидаемой продолжительности жизни |
gap_years |
Разрыв: сколько лет человек живёт в плохом здоровье |
gap_share_pct |
Тот же разрыв как доля всей жизни |
Медиана разрыва по миру — 9.3 года, размах от 6.5 до 12.5. Но распределение устроено неожиданно: разрыв максимален в богатых странах (Австралия — 12,5 года, США — 12,46) и минимален в бедных (Сомали — 6,5).
Как доля жизни он при этом меняется куда слабее: размах по 183 странам — от 10,9 % до 16,3 %, и у 169 стран из 183 он лежит между 12 и 16 %. Иными словами, богатые страны не сжимают период болезни, а растягивают и жизнь, и болезнь пропорционально. Это независимо подтверждает вывод GBD 2023 о расширении разрыва (см. источник N194 в реестре).
⚠ Оговорка о сопоставимости: ВОЗ даёт для США разрыв 12,5 года, GBD 2023 — 14 лет. Расхождение методологическое, а не ошибка. Смешивать оценки из двух систем в одном ряду нельзя.
| Поле | Что означает |
|---|---|
source_id |
Номер источника, N###. Номера не переиспользуются |
block |
Тематический блок, к которому источник отнесён при сборе: A — международные опросы, B — Россия, C — демография, D — ЗОЖ и здоровье, E — крионика и цифровое бессмертие. Блок один на источник; показатели из него могут лежать под любой темой topic |
type |
Жанр: academic_article, poll_national, official_stats, database, meta_analysis и прочие |
organization_authors |
Кто провёл: организация или авторы |
year |
Год публикации или диапазон |
title |
Название работы |
coverage |
Охват: страна, число стран, описание выборки |
N |
Объём выборки. У официальной статистики вместо числа — описание охвата |
method |
Как собраны данные |
fieldwork |
Даты полевого этапа |
url, doi |
Адрес первоисточника и DOI, если есть |
access |
Что было на руках при разборе: full, partial, abstract, secondary, microdata, derived, blocked |
license |
Лицензия первичных данных. Пусто у 168 источников из 185 — не выяснена; перепубликация таких данных под вопросом |
peer_review |
peer_reviewed, preprint, official, grey, media, conference |
retrieved |
Дата обращения. Пусто у 178 из 185 |
overlap_phase1 |
Пересечение с более ранним корпусом проекта: при количественном синтезе такие показатели учитывают один раз |
tier |
Прослеживаемость T1–T3, см. выше |
survey_mode |
Способ опроса: online, phone, f2f, mixed, cohort, register, device, review |
extraction |
Глубина разбора: full, partial, none |
no_data_reason |
Почему у источника нет показателей: reference, infrastructure, unverified, blocked, covered_elsewhere, pending |
notes |
Свободное примечание |
| Поле | Описание |
|---|---|
country_iso3 |
Код страны |
country_en |
Название |
total |
Всего показателей по стране |
D1…E |
Число показателей в каждом тематическом блоке |
Учтены только строки с geo_scope = national. Показатели из межстрановых
исследований в матрицу не входят — иначе покрытие выглядело бы полнее, чем оно есть.
Все публикуемые CSV собираются из рабочих файлов проекта скриптом:
python scripts/build_dataset.pyСкрипт нормализует страны в ISO-коды, разбирает диапазоны значений и периоды, подтягивает названия и ссылки источников и пересчитывает матрицу покрытия.