Исследования
Методология бенчмарка из комментария в ЛС
Три цифры описывают, насколько хорошо работает кампания из комментария в ЛС: доля совпадений, доля доставки и время до первого ЛС. Все три определены ниже вместе с кампанией, которую нужно построить, комментариями, которые нужно опубликовать, и файлом, в котором публикуются результаты. Данные не собраны, поэтому ни одного результата на этой странице нет — методология публикуется первой, намеренно.
Статус: методология опубликована; сбор данных не начат. Каждое измеренное поле в этом документе пусто до завершения первого запуска, после чего результаты и сырой набор данных публикуются здесь.
Что значат три метрики
Заголовок раздела «Что значат три метрики»Каждая метрика — это счётчик, делённый на счётчик, взятый на одном запуске против одной подключённой страницы, и каждая имеет знаменатель, который исключает пробы, которые платформа вовсе не доставила AFP.
| Метрика | Определение | Единица |
|---|---|---|
| Начатые пробы | Комментарии, опубликованные во время запуска, которые породили выполнение тестовой кампании | количество |
| Доля совпадений | Пробы, чьё выполнение покинуло узел-условие через Match, делённые на начатые пробы | процент |
| Доля доставки | Пробы, чьё выполнение записало отправленное ЛС, делённые на пробы, чьё выполнение достигло узла send_dm | процент |
| Время до первого ЛС | Секунды от публикации комментария наблюдателем до появления ЛС в переписке получателя | секунды, медиана и 90-й перцентиль |
Доля совпадений измеряет узел-условие, а не триггер. Узел-триггер не несёт конфигурации ключевых слов, поэтому каждый комментарий на посте в области запускает выполнение, и условие — единственное место, где текст сравнивается. Правила сопоставления ключевых слов определяет сравнение, которое выполняет каждый тип сопоставления.
Доля доставки измеряет то, что записал AFP, а не то, что увидел получатель. Узел send_dm, вызывающий ошибку, записывает эту ошибку, и запуск останавливается на нём, поэтому сбой виден; сообщение, принятое Facebook или Instagram и отфильтрованное после, считается доставленным по этому определению.
Время до первого ЛС измеряется по часам наблюдателя на обоих концах — когда комментарий отправляется и когда ЛС появляется в переписке получателя. Временные метки, записанные внутри AFP, приходят от платформы и служат только перекрёстной проверкой.
Где берётся каждая цифра
Заголовок раздела «Где берётся каждая цифра»Как строится тестовая кампания
Заголовок раздела «Как строится тестовая кампания»Одна кампания, четыре узла, без ожидания. Что-либо ещё в графе добавляет переменную, не имеющую отношения к трём метрикам.
- Создайте кампанию, привязанную к тестируемой странице, и откройте её на холсте.
- Добавьте триггер комментария. Установите область поста на конкретный пост (specific post) и выберите пост, созданный для запуска, чтобы обычный трафик на других постах не мог попасть в выборку. Оставьте уникально для пользователя (unique per user) выключенным — с ним повторный комментатор блокируется, и проба никогда не начинается.
- Добавьте узел-условие с типом сопоставления Список ключевых слов (Keyword list), указывающим на список ключевых слов, созданный для запуска. Оставьте обратное сопоставление выключенным, оставьте фильтры изображений, GIF и ссылок выключенными и оставьте ожидание ответа (wait for reply) выключенным, чтобы запуск разрешился за один проход.
- Добавьте узел
send_dmс фиксированным текстовым сообщением, подключённый к выходу Match условия. Не подключайте ничего к No Match, чтобы несовпадающий запуск заканчивался на условии и был однозначным в истории. - Сохраните кампанию, затем включите её. Активация валидирует граф и является отдельным действием от сохранения.
- Отключите все остальные кампании на этой странице. Каждая активная кампания, чей триггер совпадает, запускает своё выполнение, и две кампании, отвечающие на один комментарий, делают долю доставки бессмысленной.
Как выполняется запуск
Заголовок раздела «Как выполняется запуск»Сначала окружение: одна страница Facebook и один бизнес-аккаунт Instagram, оба подключены и подписаны, под аккаунтом, чья подписка активна. Комментарий, пришедший, пока подписка неактивна, записывается как ошибка подписки, а страница, чей сохранённый доступ перестал работать, записывает ошибку повторного входа. Оба считаются сбоями окружения и исключаются из всех долей.
- Зафиксируйте список ключевых слов на одно ключевое слово и зафиксируйте текст ЛС. Запишите оба дословно в заметках запуска.
- Назначьте один уникальный аккаунт комментатора на пробу. Один человек имеет один активный запуск одной кампании за раз, поэтому второй комментарий с того же аккаунта, пока первый запуск ещё активен, пропускается и молча сократил бы выборку.
- Комментируйте с аккаунтов, отличных от самой страницы. Комментарии, которые публикует страница, игнорируются, что исключает ведение запуска с аккаунта страницы.
- Для каждой пробы опубликуйте текст комментария для её корзины и запишите время отправки по часам наблюдателя.
- Наблюдайте за перепиской получателя и запишите время прибытия ЛС по тем же часам. Запишите отсутствие прибытия после фиксированной отсечки, выбранной до начала запуска и указанной с результатами.
- Прочитайте историю выполнений кампании и запишите для каждой пробы, покинул ли запуск условие через Match и где он остановился. История возвращает 20 самых свежих запусков и не обновляется сама, поэтому держите каждый пакет меньше этого и читайте его перед началом следующего.
- Отфильтруйте ленту активности по странице и временному окну запуска, затем экспортируйте её. Экспорт применяет фильтры ленты и загружается как JSON, и это журнал аудита за таблицей проба за пробой.
- Повторите на второй платформе, не меняя форму кампании, ключевое слово или текст ЛС.
Корзины комментариев
Заголовок раздела «Корзины комментариев»Каждая проба принадлежит одной корзине, и корзина фиксирует как опубликованный текст, так и ветку, которую она ожидается принять.
| Корзина | Что публикуется | Ожидаемая ветка |
|---|---|---|
| Точное ключевое слово | Только ключевое слово | Match |
| Ключевое слово в предложении | Предложение, содержащее ключевое слово как подстроку | Match |
| Ключевое слово в верхнем регистре | Ключевое слово, набранное заглавными буквами | Match |
| Почти совпадение | Слово, которое делит префикс с ключевым словом, не содержа его | No Match |
| Несвязанный текст | Комментарий на посте, не содержащий ключевого слова | No Match |
| Только медиа | Стикер или изображение без текста | No Match |
Комментарий только с медиа достигает условия как текст-заполнитель, а не как пустая строка, поэтому он принадлежит выборке: это единственная корзина, где то, что сравнивает условие, — не то, что набрал комментатор.
Результаты
Заголовок раздела «Результаты»Результатов нет. Сбор данных не начат, и ничего на этой странице не было измерено.
Определения, форма кампании, корзины и отсечка зафиксированы публично до появления любого числа, поэтому итоговые цифры можно проверить против протокола, который никто не мог настроить после просмотра данных.
Что будет содержать сырой набор данных
Заголовок раздела «Что будет содержать сырой набор данных»Один файл JSON на запуск, публикуемый на этой странице рядом со сводной таблицей, с одним объектом на пробу. Экспорт активности, сделанный на шаге 7, публикуется с ним без изменений, поэтому каждую пробу можно проследить до строки, которую записал AFP.
| Поле | Что хранит |
|---|---|
trial_id | Порядковый номер в запуске |
platform | facebook или instagram |
bucket | Одно из шести названий корзин выше |
comment_text | Точный опубликованный текст |
comment_posted_at | Часы наблюдателя, когда комментарий был отправлен |
execution_started | Было ли создано выполнение для этого комментария |
branch_taken | match, no_match или none |
dm_recorded | Записало ли выполнение отправленное ЛС |
dm_observed_at | Часы наблюдателя, когда ЛС появилось в переписке |
time_to_first_dm_seconds | Разница между двумя временными метками наблюдателя |
outcome | delivered, no_match, no_execution, environment_failure или timeout |
notes | Что-либо необычное в пробе, простым текстом |
Измеренные поля равны null, пока запуск их не заполнит. Одна проба из опубликованного скелета выглядит так:
[ { "trial_id": 1, "platform": "facebook", "bucket": "exact_keyword", "comment_text": "price", "comment_posted_at": null, "execution_started": null, "branch_taken": null, "dm_recorded": null, "dm_observed_at": null, "time_to_first_dm_seconds": null, "outcome": null, "notes": "" }]Ограничения
Заголовок раздела «Ограничения»- За доставку отвечает не только AFP. AFP передаёт сообщение в Facebook или Instagram; что происходит после, выходит за рамки всего измеренного здесь, а время до первого ЛС включает собственное время доставки платформы.
- Один аккаунт, одна аудитория, одно окно. Запуск охватывает одну страницу Facebook и один бизнес-аккаунт Instagram в одно время суток. Он ничего не говорит о страницах с другим трафиком, другим числом подписчиков или в другом регионе.
- Часы наблюдателя ручные. Оба конца измерения времени записываются человеком, наблюдающим за двумя поверхностями, поэтому разрешение грубое, а время человеческой реакции входит в число.
- Выборка синтетическая. Комментарии, написанные для заполнения корзин, — не те комментарии, которые пишут реальные подписчики, а корзина «почти совпадение» выбрана так, чтобы сидеть близко к границе совпадения.
- Обработка регистра не подтверждена. Корзина верхнего регистра измеряется, но ожидаемая ветка для неё не проверена, пока инженерия не подтвердит, как сравнение обрабатывает регистр букв.
- Ни один конкурент не измерялся. Эти метрики описывают только AFP. Страницы сравнения прямо заявляют, что ни одно число производительности конкурента не было измерено.
- Доли зафиксированы, а не гарантированы. Ничто здесь не является уровнем сервиса. Опубликованная цифра описывает один запуск за один день.
Связанное
Заголовок раздела «Связанное»- Исследования — стандарт, которому соответствует каждое исследование на этом сайте, и что опубликовано на данный момент.
- Маршрутизируйте комментарии в ЛС — как построить кампанию, которую измеряет этот метод.
- Протестировать и отладить кампанию — чтение истории выполнений, от которой зависит запуск.
- Состояния выполнения — что значит остановленное, ожидающее или неудачное выполнение при чтении.
- Модерировать комментарии — лента активности и её экспорт.