Подготовка файла данных¶
Перед началом проекта n-Infinite самостоятельно считывает ваш файл опроса и определяет его структуру: какие столбцы относятся к одному и тому же вопросу, что означает каждый код, какие вопросы отображаются только после другого ответа и так далее. Он не требует единого формата — подойдет любая последовательная кодировка.
На этой странице объясняется, что система может определить самостоятельно, что ей действительно не под силу, а также приведен краткий контрольный список, который поможет сделать ваш файл максимально однозначным перед загрузкой.
Будет доступно в будущем выпуске
Описанный ниже шаг подтверждения — экран, где вы отвечаете на несколько вопросов, которые система не смогла решить самостоятельно, прямо внутри платформы — будет доступен в следующем выпуске. До тех пор следование этому руководству все равно поможет: чем чище ваш файл, тем надежнее будет собственное стандартное считывание системой.
Что система определяет автоматически¶
Из названий столбцов и самих данных n-Infinite определяет:
- Какие столбцы образуют один вопрос — батарею множественного выбора, сетку связанных столбцов, вопрос с одним выбором, числовое поле или открытый текст — по общему префиксу в их названиях.
- Разделитель, соединяющий название вопроса с кодом его варианта (например,
_вQ7_1,Q7_2,Q7_3). - Как кодируется каждая батарея, например:
1= выбрано,0= не выбрано, пусто = не показано1= выбрано, пусто = не выбрано (этот вопрос был показан всем)1= выбрано (yes),2= не выбрано (no), пусто = не показано- ячейка содержит код ответа напрямую (вопрос со шкалой или сеткой)
- Взаимоисключающие варианты внутри батареи (например, выбор "Only this one applies", который нельзя отметить вместе с чем-либо еще).
- Логика пропуска — вопросы, которые появляются только после того, как другой ответ соответствует определенному условию — извлекается непосредственно из того, какие строки пусты, а какие нет.
- Столбцы, которые вообще не являются ответами — respondent ID, token, start date, IP address, referral URL — распознаются по имени и исключаются из моделирования.
Когда данные однозначны, система действует самостоятельно. Она останавливается, чтобы задать вопрос, только когда два варианта интерпретации действительно одинаково правдоподобны — так что ни один реальный ответ не теряется, и ничего не придумывается из неверного предположения.
Четыре вещи, которые система не может решить самостоятельно¶
Некоторые сигналы не могут быть разрешены только на основе данных, независимо от их объема. Если ваш файл содержит один из таких случаев, вам будет задан вопрос до того, как что-либо будет сгенерировано:
- Что означает пустая ячейка. Пустота может означать "этому человеку никогда не показывали вопрос" или "ему показали вопрос, и он ничего не выбрал". О целой батарее, закодированной только
1/пусто, без явных нулей где-либо, всегда задается вопрос — даже когда все остальное в файле выглядит уверенно — потому что обе интерпретации одинаково хорошо соответствуют данным. - Коды исключения внутри множественного выбора (вариант "Other", "None of the above" или "Don't know", обычно высокий код, такой как
98или99). Без указания того, что он означает и был ли он показан всем, система не может знать, следует ли рассматривать его как обычный вариант или как исключение с собственным правилом видимости. - Столбцы, которые не являются явно метаданными. ID, token, timestamp и аналогичные столбцы исключаются автоматически, если их названия на это указывают. Столбец, который уникален для каждого респондента, но не назван как обычные метаданные (внутренний код панели, пользовательское поле отслеживания), может быть ошибочно принят за реальный вопрос.
- Разделитель, используемый в названиях столбцов, когда он непоследователен или конфликтует с собственным названием вопроса — например, столбец с именем
BRAND_CODсуществует наряду сBRAND_COD_1…BRAND_COD_7, где неясно, является лиBRAND_CODобъединенным ответом на тот же вопрос или несвязанным полем.
Связанный случай: при малой выборке (менее 250 реальных ответов) кажущееся правило логики пропуска подтверждается перед применением даже при достаточно высокой уверенности — при таком размере несколько случайных пустых значений могут выглядеть точно так же, как реальная маршрутизация.
В каждом из вышеуказанных случаев система не действует наугад. Она задает один короткий, конкретный вопрос — и только один раз.
Контрольный список перед загрузкой файла¶
- Используйте единый, последовательный разделитель для формирования названий столбцов вариантов (например, всегда
_) и не используйте этот символ внутри собственного названия вопроса. - Не давайте вопросу то же имя, что и префикс его собственной группы вариантов (избегайте наличия как
BRAND_COD, так иBRAND_COD_1). - Явно отмечайте "not selected" значением (например,
0), когда это возможно; оставляйте ячейку действительно пустой только для случаев "not shown to this respondent". - Если вопрос с множественным выбором содержит коды исключения (Other, None, Don't know), сообщите нам, что они означают и были ли они показаны всем.
- Используйте одинаковую кодировку для каждого столбца одной и той же батареи — не смешивайте
1/0с1/2внутри одной группы вопросов. - Не смешивайте
1и1.0для одного и того же ответа в файле — сохраняйте согласованный тип данных для данного столбца. - Если вопрос повторяется в разных волнах (например, 2023 и 2024), называйте столбцы так, чтобы волна отличалась от варианта ответа — а не просто была замыкающим числом.
- Столбцы, которые являются исключительно метаданными респондента (ID, token, date, IP, referral URL), должны быть четко названы как таковые и отделены от столбцов ответов.
- Используйте одинаковый словарь суффиксов для похожих вопросов, чтобы система распознавала, что они образуют одну и ту же группу.
- В случае сомнений отправьте краткий кодовый справочник вместе с файлом — это решит за одно сообщение то, что иначе потребовало бы нескольких раундов вопросов.
Три быстрых примера¶
1. Неоднозначная пустота
До: Q5_1 пуст как для людей, которые никогда не видели вопрос, так и для людей, которые видели его и ничего не выбрали.
После: Q5_1 = 0, когда не выбрано; пусто только тогда, когда вопрос не был показан.
2. Неотмеченный код исключения
До: Q7_98 находится рядом с Q7_1…Q7_20, при этом ничто не указывает, что 98 означает "None of the above".
После: краткое примечание (или строка в кодовом справочнике), указывающее "Q7_98 = None of the above (exclusive, shown to everyone)".
3. Разделитель, конфликтующий с реальным столбцом
До: существуют как BRAND_COD (столбец с одним объединенным ответом), так и BRAND_COD_1…BRAND_COD_7 (те же варианты, разделенные), использующие _ в качестве разделителя.
После: переименуйте объединенный столбец (BRAND_COD_TOTAL) или используйте разделитель, который не конфликтует с собственным названием вопроса.
4. Неотмеченные метаданные
До: столбец, такой как panel_uid или entry_ts, уникален для каждого респондента, но не назван id, token или timestamp, поэтому он рискует быть воспринятым как реальный вопрос.
После: назовите его узнаваемо как метаданные или отметьте его, когда будет задан вопрос.
О чем вас могут спросить и почему¶
Если ваш файл вызывает один из вышеуказанных случаев, на экране подтверждения будет задан вопрос примерно такого содержания:
| О чем мы можем спросить | Почему мы спрашиваем |
|---|---|
"Ваши столбцы вариантов, похоже, используют _, но проект настроен с другим разделителем — какой из них правильный?" |
Более одного разделителя могут одинаково хорошо объяснять названия ваших столбцов, или настроенный разделитель не соответствует ни одному столбцу. |
| "Эти столбцы выглядят как варианты одного вопроса, но собственное название этого вопроса также существует как столбец — это один и тот же вопрос или два разных?" | Общий префикс группы вариантов также является названием реального столбца в вашем файле. |
| "Этот вариант — его отметили лишь несколько респондентов, остальные пусты — был ли он показан всем или только некоторым?" | Вариант исключения никогда не содержит явного значения "not selected", в то время как его "собратья" содержат, и ничто другое в файле не объясняет пустые значения. |
| "Эти вопросы всегда показывают только отметку или пустоту, никогда явный ноль. Означает ли пустота 'not selected' или 'not shown to this person'?" | Целая батарея, закодированная только отметкой/пустотой, не имеет возможности различить эти два случая только по данным. |
| "Эти суффиксы вариантов не являются простыми числами — это отдельные варианты одного вопроса или несвязанные столбцы?" | Нечисловые суффиксы (код бренда, текстовая метка) не соответствуют обычному шаблону "вопрос + число", на который полагается система. |
| "Эти два небольших числовых суффикса — это варианты ответа или две волны одного и того же вопроса (например, два года опроса)?" | Короткий список числовых суффиксов может выглядеть как коды ответов или как повторяющаяся волна — оба варианта соответствуют данным. |
| "Этот вопрос всегда показывает только два значения, никогда ноль — одно из них 'yes', а другое 'no', или это два отдельных варианта?" | Без значения "not selected" в качестве якоря, двухзначная кодировка может быть либо ответом "yes/no", либо двумя выбираемыми вариантами. |
| "Это выглядит как столбец с одним объединенным ответом и набор отдельных столбцов вариантов для одного и того же вопроса — один вопрос или два?" | Один и тот же вопрос с множественным выбором, по-видимому, представлен в файле дважды, и две версии не полностью совпадают. |
| "Этот вопрос, похоже, появляется только для небольшой группы, которая ранее ответила что-то конкретное — это реальная логика пропуска или совпадение?" | Кажущееся правило основано на очень небольшом количестве респондентов, поэтому требуется подтверждение человека, что это реальный шаблон, а не шум. |
Если вы не ответите, система всегда возвращается к максимально безопасному стандартному значению — она никогда молча не принимает интерпретацию, которая могла бы создать или отбросить реальные данные.