Сэмплирование что это такое
Эпоха сэмплирования
Есть два громких хита «нулевых» — S.O.S. Рианны и Paper Planes M.I.A, которые вышли с разницей в год. Для Рианны S.O.S. стала еще одной победой в чартах, а Paper Planes для M.I.A — вообще главным хитом в карьере. Это их песни? Да, но нет.
Этих треков не существовало бы, если бы не мотив отсюда и гитарная партия отсюда. Воровство? Нет, сэмплирование — законная практика в музыкальной индустрии.
Объясняем, что такое сэмплы, какими они бывают и как помогают музыкантам.
Краткая история сэмплов
Сэмпл — это звуковой фрагмент трека, чаще всего пара полноценных секунд или инструментальная партия. Практику, когда сэмплы из одной песни берут для создания другой, называют сэмплированием. Так можно делать музыку не с нуля, а на базе того, что уже записано.
Начало эпохи сэмплирования — 1940-е годы. Инженер-акустик Пьер Шеффер записывал звуки окружающей среды, резал их на мелкие кусочки и монтировал как хотел. Из этих фрагментов, или сэмплов, он создавал песни (хотя, строго говоря, песнями это назвать было очень сложно). Для своих работ Шеффер даже ввел новое понятие — «конкретная музыка».
Сэмплирование в привычном понимании появилось летом 1973 года. Клайв Кэмпбелл aka DJ Kool Herс играл на тусовке сестры. У него был фирменный трюк, «карусель»: он брал две пластинки с нужными треками, выбирал в них крутые партии и сводил их. Получалась бесконечная петля, которая приводила тусовку в восторг. Поверх кто-то даже фристайлил. По сути, рождался новый трек — аранжировка из «карусели» с чьим-то речитативом.
Первым официальным треком на основе сэмпла считается The Sugarhill Gang — Rapper’s Delight 1979 года. По совместительству это еще и первая коммерчески успешная хип-хоп песня в истории музыки. В качестве сэмпла тут взяли мелодию диско-хита группы Chic — Good Times. Лидер Chic Найл Роджерс посчитал, что трек использовали незаконно, и подал в суд. Все закончилось хорошо: до самих судебных разбирательств не дошло — музыканты быстро заключили соглашение, и фронтмена Chic добавили в соавторы Rapper’s Delight.
Сэмплирование часто становится поводом для разбирательств — но только если музыканты берут фрагменты треков в качестве сэмплов, а согласия автора не спрашивают и роялти ему не платят. О том, как это бывает и к чему приводит, мы еще скажем.
Какими бывают сэмплы и зачем они нужны
У музыки есть жанры, а у сэмплов — категории. Они довольно условные, но этого хватает, чтобы обозначить характеристику и задачи применения. Сэмплы делятся на:
Музыкальные. Отрывки песен, конкретные инструментальные партии, от вокала до звона треугольника.
Голосовые. Записи разговоров — телефонных или на диктофон. К голосовым сэмплам еще относят диалоги из фильмов. В песнях и такое встречается.
Природные. Звуки природы — стук дождя, шум волн, крик чаек, трещание сверчков, шелест листвы.
Причин, по которым используют сэмплы — вагон, но основных три:
ДОПОЛНЯТЬ. Представим музыканта, у которого есть очень крутая идея для трека, но не хватает какой-то мелочи. И вот эта мелочь находится — но в другой песне.
Свежий пример — Break My Heart Дуа Липы. Трек начинается с партии бас-гитары, которая задает основу всей композиции. Эта основа — слегка переделанная мелодия одного из главных бэнгеров, Need You Tonight группы INXS.
СОЗДАВАТЬ НОВОЕ. Если говорить о создании на сэмпле с нуля, то лучше всех ситуацию объяснит трек Old Town Road рэпера Lil Nas X. Основа — фрагмент из инструменталки 33 Ghosts IV группы Nine Inch Nails. Теперь у Old Town Road 14 платиновых сертификатов в США.
Еще есть треки, которые целиком и полностью состоят из другой музыки. В 2000 году австралийцы The Avalanches выпустили альбом Since I Left You, в котором не было ни одного оригинального звука — все композиции на 100% состояли из сэмплов. The Avalanches стали пионерами субжанра «пландерфоника» — когда группа не пишет музыку сама, а собирает ее из кучи чужих сэмплов. В их треке Since I Left You — около 900 таких фрагментов.
ПОДЧЕРКИВАТЬ. Еще сэмплы используют, чтобы создать нужную атмосферу или сделать акцент на посыл. Возьмем трек Soulmate рэпера Мака Миллера. Он начинается с монолога героя Робина Уильямса из фильма «Умница Уилл Хантинг» о поиске родственной души. Эти слова передают смысл, который Миллер раскрывает в треке.
Если говорить об атмосфере, примеров будет намного больше. Один из них — Metronomy и их самый популярный альбом The English Riviera. Заглавный трек начинается с плеска волн и крика чаек. Такой ход выстраивает в голове слушателя декорации: небольшой курортный городок, где разворачивается история выяснения непростых отношений.
Сэмплы — good or evil?
У сэмплов есть и сторонники, и критики. И чаще всего в их аргументах встречаются три мнения:
Сэмплы — это хорошо. Они открыли поле для экспериментов — настолько огромное, что границ не видно. В мире постмодернизма использовать чужую музыку — нормально. Но слушателю важнее, как обыгрываются семь нот, а не как они играются.
Сэмплы — это спорно. Раньше условный сингер-сонграйтер сидел с гитарой дни напролет и, страдая, выжимал из себя материал. Сейчас все намного проще. Артист берет сэмпл, заливает его в какой-нибудь Ableton или Fruity Loops, накидывает сверху трещоток, басов, и все — новый хит готов. Да, это тоже сонграйтерство, но с готовыми фрагментами.
Сэмплы — это очень-очень плохо. В идеальном мире, чтобы получить добро на использование сэмпла, нужно отправить запрос. Если его одобрят, автор этого фрагмента музыки, его менеджмент или лейбл определятся с оплатой — одноразовой или отчислениями. В этом случае автор трека становится соавтором и получает проценты, о которых договоритесь.
Но нередко музыканты используют чужие песни без согласия их авторов.
Так было с хитом Stay With Me Сэма Смита — он продвигался в чартах и приносил Смиту прибыль. Все было хорошо до тех пор, пока легендарный музыкант Том Петти не услышал в этом треке не отголоски, а прямое совпадение со своей песней I Won’t Back Down, которую написал вместе с Джеффом Линном. Обошлось без суда — Петти и Линну предложили 12,5% авторских прав, они согласились.
Найти сэмпл в стоге сэмплов
Кажется, составить что-то из сэмплов — легко. Но на самом деле здесь куча нюансов, начиная с отбора материала и заканчивая тем, чтобы получить разрешение на использование. Но если все сделать честно и четко, результат впишется в историю музыки.
Этот эксперимент доказывает, что музыка ушла далеко за пределы записи нот в тетрадку. Сочинять — это не только перебирать аккорды до бесконечности, но и перебирать песни, пробуя сделать из них что-то новое. Главное — не забыть спросить разрешения на сэмпл.
Семплирование: когда возникает и как от него избавиться?
Создать отчёт в Google Analytics. Простая задача, пока не увидишь такое уведомление:
Что это значит? Google Analytics берёт 10% данных. Домножает их на 10. И говорит, что 100% так бы себя и вели.
Это классно, когда работаешь с большими цифрами. Отчёт готовится быстро.
Но есть и недостатки. Представьте, что вы получили 1 из 10 кусочков торта. И нужно понять, сколько на торте свечек. Если вам попался кусок без свечки — вы скажете, что 0. Если с 1 свечкой — то 10. А если 2 — то 20.
Так же и в аналитике. Вы выгружаете статистику по ключевым словам. Analytics построил отчёт на 10% данных. В эти данные вошёл запрос, который ввёл только 1 человек. Но в семплированном отчёте вы увидите, словно этот запрос привел 10 людей.
Семплирование искажает данные. Как от него избавиться?
Решение 1. Google Analytics Premium
Проблема в том, что в GA Premium тоже есть семплирование. Но можно выгрузить выборку на сторонний ресурс. Например, в Excel. И там уже обрабатывать сырые данные.
Плати, не плати. Excel все равно понадобится.
Решение 2. Попытаться обойти семплирование
Чтобы обойти семплирование, нужно понимать, как оно возникает.
Когда возникает семплирование?
1. Нестандартный отчёт
2. Много данных
Чем больше информации нужно выгрузить — тем чаще встречается семплирование.
Как обойти семплирование?
1. Короткие периоды времени
Например, вы создаёте отчёт за год. Возникает семплирование. Вместо 1-го большого создайте 12 маленьких отчетов. На каждый месяц. Выгрузка данных займёт больше времени. Зато семплирование может отключиться.
2. Высокая точность вместо быстрой обработки
При создании отчётов в Google Analytics кликните по такой иконке:
И порог семплирования умножается в 2 раза. Отчёт строился на 10% данных? После выбора «Высокой точности» он будет дольше грузиться, но захватит уже 20% выборки.
3. Отфильтрованные заранее представления (Views)
Что такое отфильтрованные представления? Например, это представления с посещениями только из контекстной рекламы. Или с посещениями только по какой-то конкретной кампании.
Если вы планируете создать отчет и сегментировать в нём данные, поменяйте порядок действий. Создайте заранее отсегментированные представления. И выгружайте отчёты отдельно для каждой части данных.
Но это не всегда работает. Сложные отчёты даже в фильтрованном представлении могут быть семплированными.
4. Упрощённый запрос
Сделайте выборку проще, чтобы меньше нагружать Analytics. Например, вы привыкли фильтровать какой-то параметр по регулярному выражению. Попробуйте профильтровать по точному. Возможно, часть данных будет уже проще обработать в Excel.
5. Решения на основе API — Google Analytics Query Explorer 2
Google Analytics Query Explorer 2
Это песочница от Google. Она использует тот же язык запросов. Здесь вы можете строить запросы. Делиться ссылкой с коллегой.
Преимущества
Ограничения
Как работает? Строите запрос — какие данные хотите получить. Даёте ссылку на отчёт программисту. Просите выгрузить данные по API.
Обратите внимание! Google Analytics Query Explorer выгружает до 10 тыс. строк за один раз.
Существуют другие инструменты, с помощью которых можно выгружать данные с Google Analytics. Они защищают от семплирования. А для особо крупных проектов — значительно уменьшают его. Читайте о том, какие бывают источники данных для интернет-проекта, кроме Google Analytics.
Supermetrics Data Grabber
Это дополнение к Excel. Работает с Windows Excel 2003+ и с Mac Excel 2011.
Вытягивает данные из Google Analytics, Google AdWords, Bing Ads, Facebook, Youtube, Twitter.
Стоимость: 39-174$ в месяц.
Как работает? Выбираете период, метрики и ставите галочку «Попытаться избавиться от семплирования». И выгружаете отчёт.
Supermetrics for Google Docs
Дополнение к Google Docs, Google Sheets.
Вытягивает данные из Google Analytics, Google AdWords, Google Webmasters Tools, Bing Ads, Facebook, Youtube, Twitter, Database.
Стоимость: бесплатно, 49-99$ в месяц.
Платная версия частично решает проблему семплирования. Бесплатная — нет.
Как работает? В Google Docs появляется колонка справа. В ней можно выбрать, по каким параметрам строить отчет. Выгружает до 100 000 строк.
Analytics Canvas
Программа, которая работает на Windows XP, Vista, 7, 8
Вытягивает данные из Google Analytics, Bing Ads, файлы Excel, Database (SQL etc.)
Стоимость — 49-798$ в месяц
Преимущества. Экспортирует затраты в Google Analytics.
Как работает? Как база данных. Выгружает информацию из Google Analytics. Может объединять разные куски данных между собою. Например, из CRM выгрузили номер заказа и сумму. А из Google Analytics — номер заказа и рекламный источник. Инструмент объединят данные в единую таблицу.
Язык программирования «R» + дополнение RGA
Работает с Windows, Mac.
Вытягивает данные из Google Analytics.
Преимущества. Бесплатный инструмент.
Как работает? Специальный скрипт подгружает несколько библиотек. Идёт к API на Google Analytics.
Чтобы обойти семплирование, обратите внимание на 2 параметры: batch и walk.
Batch. Делит выборку на группы по 10 000 строк. Выгружает данные порциями. Как Google Analytics Query Explorer.Потом склеит все в один файл.
Walk. Полезен, когда выгружаете данные за большой период. Параметр делит данные по дням. Если вы создаёте отчёт за 1 год, параметр walk поделит его на 365 отдельных блоков. Выгрузка данных займет больше времени, зато вы избавитесь от семплирования.
Файлы для установки, инструкцию по настройке и скрипт для R+RGA смотрите на Roman.ua.
Не довольствуйтесь малым. Анализируйте все данные!
Что не так с сэмплированием
Сэмплирование данных значительно снижает нагрузку на вычислительные мощности. Но как можно судить о количестве дырок в сыре по одному куску? Что если из-за сэмплирования легко можно терять 20 тысяч и больше долларов в день?
Часто сэмплирование мешает проводить точный анализ потока данных, чему свидетельствует кейс под катом.
Сэмплирование — это способ формирования репрезентативной выборки так, чтобы можно было сделать выводы о генеральной совокупности.
Репрезентативность можно обеспечить, если выбирать элементы из генеральной совокупности случайным образом. Это означает, что у каждого посетителя сайта будет одинаковый шанс попасть в отчет. В большинстве случаев это не влияет на форму графика. Различие в значениях не будет заметно при переводе в процентное соотношение. Но сэмплирование может повлиять на статистически значимые различия.
Для того, чтобы сэмплированные данные могли адекватно передавать выводы обо всей совокупности, в выборке изначально не должно быть никаких аномалий: выбросов или провалов. Но никто от них не застрахован и почиканные данные могут быть искажены.
Более того, они даже могут быть скрыты маркетинговым эффектом, как описано тут.
Зачем используется сэмплирование
Google и Яндекс применяют эту технику для снижения нагрузки на свои сервера. Отчет генерируется гораздо быстрее, но он может ввести маркетолога в заблуждение.
Кейс: как можно потерять деньги из-за сэмплирования
Компания Х получает в среднем 2 миллиона пользователей в сутки. В этом случае гугл уже применяет сэмплирование данных. Каждый день компания покупает 50 тысяч пользователей по 2$ каждый. Таким образом в день на рекламу уходит 100 000 у.е.
Среднее значение конверсии платного трафика в регистрации составило 25% по версии Google Analytics. При проверке на сервисе t.onthe.io, который не использует сэмплирование, средняя конверсия составила 20%.
Значит какие-то данные потерялись или исказились при сэмплировании. Компания Х из-за этого теряла 20 000$ в день.
Как избежать сэмплирования в GA
Сэмплированные данные не всегда объективно отображают ситуацию. Есть несколько способов избежать сэмплирования.
1. Премиум аккаунт в GA
2. Уменьшение временного интервала выборки
Если для отчета используется большой временной отрезок (например отчет за год), то гугл скорее всего будет сэмплировать эти данные. Чтобы этого не допустить, можно разбить временной интервал на более мелкие части, например помесячно. А потом радостно слепить все месяцы вручную.
3. Увеличить точность
Можно увеличить точность выборки в настройках GA при формировании отчета. Погрешность представления данных уменьшится, но не сведется к нолю.
4. Сегментация данных с помощью представлений
Настроить несколько представлений данных. Например, на сайте 10 основных разделов, тогда можно сделать 8 представлений данных, которые будут принимать информацию каждый со своего канала. В общем потоке на сайт заглядывают все те же 2 миллиона пользователей в месяц. Каждый из разделов получает по 200 000 посещений. Получается что в каждом разделе данные сэмплироваться не должны. Минус в том, что аналитику всего сайта снова придется склеивать вручную.
Также можно использовать инструмент Google Analytics Query Explorer или скрипты на языке R. Подробнее об этих методах здесь.
Сэмплирование и точность вычислений
Ряд моих коллег сталкиваются с проблемой, что для расчета какой-то метрики, например, коэффициента конверсии, приходится кверить всю базу данных. Или нужно провести детальное исследование по каждому клиенту, где клиентов миллионы. Такого рода квери могут работать довольно долго, даже в специально сделанных для этого хранилищах. Не очень-то прикольно ждать по 5-15-40 минут, пока считается простая метрика, чтобы выяснить, что тебе нужно посчитать что-то другое или добавить что-то еще.
Одним из решений этой проблемы является сэмплирование: мы не пытаемся вычислить нашу метрику на всем массиве данных, а берем подмножество, которое репрезентативно представляет нам нужные метрики. Это сэмпл может быть в 1000 раз меньше нашего массива данных, но при этом достаточно хорошо показывать нужные нам цифры.
В этой статье я решил продемонстрировать, как размеры выборки сэмплирования влияют на ошибку конечной метрики.
Проблема
Ключевой вопрос: насколько хорошо сэмпл описывает «генеральную совокупность»? Раз мы берем сэмпл с общего массива, то получаемые нами метрики оказываются случайными величинами. Разные сэмплы дадут нам разные результаты метрик. Разные, не значит любые. Теория вероятности говорит нам, что получаемые сэмплированием значения метрики должны группироваться вокруг истинного значения метрики (сделанного по всей выборке) с определенным уровнем ошибки. При этом у нас часто бывают задачи, где для решения можно обойтись разным уровнем ошибки. Одно дело прикинуть, получаем ли мы конверсию 50% или 10%, а другое дело получить результат с точностью 50.01% vs 50.02%.
Интересно, что с точки зрения теории, наблюдаемый нами коэффициент конверсии по всей выборке — это тоже случайная величина, т.к. «теоретический» коэффициент конверсии можно посчитать только на выборке бесконечного размера. Это означает, что даже все наши наблюдения в БД на самом деле дают оценку конверсии со своей точностью, хотя нам кажется, что вот эти наши подсчитанные цифры абсолютно точны. Это так же приводит к выводу, что даже если сегодня коэффициент конверсии отличается от вчерашнего, то это еще не означает, что у нас что-то поменялось, а лишь означает, что сегодняшний сэмпл (все наблюдения в БД) из генеральной совокупности (все возможные наблюдения за этот день, которые произошли и не произошли) дал несколько иной результат, чем вчерашний. Во всяком случае для любого честного продукта или аналитика это должно быть базовой гипотезой.
Формулировка задачи
Допустим у нас 1 000 000 записей в БД вида 0/1, которые говорят нам о том, случилась ли конверсия по событию. Тогда коэффициент конверсии это просто сумма 1 делить на 1 млн.
Вопрос: если мы возьмем выборку размером N, то на сколько и с какой вероятностью будет отличатся коэффициент конверсии от посчитанного по всей выборке?
Теоретические рассуждения
Задача сводится к расчету доверительного интервала коэффициента конверсии по выборке заданного размера для биноминального распределения.
Из теории стандартное отклонение для биноминального распределения это:
S = sqrt(p * (1 — p) /N)
Где
p — коэффициент конверсии
N — Размер выборки
S — стандартное отклонение
Непосредственно доверительный интервал я считать из теории не стану. Там довольно сложный и запутанный матан, который в итоге связывает стандартное отклонение и конечную оценку доверительного интервала.
Давайте разовьем «интуицию» по поводу формулы стандартного отклонения:
Моделирование
Мы можем полностью отойти от теоретического решения и решить задачу «в лоб». Благодаря языку R теперь это сделать очень просто. Чтобы ответить на вопрос, в какую мы ошибку получим при сэмплировании, можно просто сделать тысячу сэмплирований и посмотреть, какую ошибку мы получаем.
Код на R генерирующий данные:
В результате мы получаем следующую таблицу (дальше будут графики, но детали лучше видны в таблице).
Коэффициент конверсии | Размер сэмпла | 5% | 10% | 20% | 80% | 90% | 95% |
---|---|---|---|---|---|---|---|
0.0001 | 10 | 0 | 0 | 0 | 0 | 0 | 0 |
0.0001 | 100 | 0 | 0 | 0 | 0 | 0 | 0 |
0.0001 | 1000 | 0 | 0 | 0 | 0 | 0 | 0.001 |
0.0001 | 10000 | 0 | 0 | 0 | 0.0002 | 0.0002 | 0.0003 |
0.0001 | 50000 | 0.00004 | 0.00004 | 0.00006 | 0.00014 | 0.00016 | 0.00018 |
0.0001 | 100000 | 0.00005 | 0.00006 | 0.00007 | 0.00013 | 0.00014 | 0.00016 |
0.0001 | 250000 | 0.000072 | 0.0000796 | 0.000088 | 0.00012 | 0.000128 | 0.000136 |
0.0001 | 500000 | 0.00008 | 0.000084 | 0.000092 | 0.000114 | 0.000122 | 0.000128 |
0.001 | 10 | 0 | 0 | 0 | 0 | 0 | 0 |
0.001 | 100 | 0 | 0 | 0 | 0 | 0 | 0.01 |
0.001 | 1000 | 0 | 0 | 0 | 0.002 | 0.002 | 0.003 |
0.001 | 10000 | 0.0005 | 0.0006 | 0.0007 | 0.0013 | 0.0014 | 0.0016 |
0.001 | 50000 | 0.0008 | 0.000858 | 0.00092 | 0.00116 | 0.00122 | 0.00126 |
0.001 | 100000 | 0.00087 | 0.00091 | 0.00095 | 0.00112 | 0.00116 | 0.0012105 |
0.001 | 250000 | 0.00092 | 0.000948 | 0.000972 | 0.001084 | 0.001116 | 0.0011362 |
0.001 | 500000 | 0.000952 | 0.0009698 | 0.000988 | 0.001066 | 0.001086 | 0.0011041 |
0.01 | 10 | 0 | 0 | 0 | 0 | 0 | 0.1 |
0.01 | 100 | 0 | 0 | 0 | 0.02 | 0.02 | 0.03 |
0.01 | 1000 | 0.006 | 0.006 | 0.008 | 0.013 | 0.014 | 0.015 |
0.01 | 10000 | 0.0086 | 0.0089 | 0.0092 | 0.0109 | 0.0114 | 0.0118 |
0.01 | 50000 | 0.0093 | 0.0095 | 0.0097 | 0.0104 | 0.0106 | 0.0108 |
0.01 | 100000 | 0.0095 | 0.0096 | 0.0098 | 0.0103 | 0.0104 | 0.0106 |
0.01 | 250000 | 0.0097 | 0.0098 | 0.0099 | 0.0102 | 0.0103 | 0.0104 |
0.01 | 500000 | 0.0098 | 0.0099 | 0.0099 | 0.0102 | 0.0102 | 0.0103 |
0.1 | 10 | 0 | 0 | 0 | 0.2 | 0.2 | 0.3 |
0.1 | 100 | 0.05 | 0.06 | 0.07 | 0.13 | 0.14 | 0.15 |
0.1 | 1000 | 0.086 | 0.0889 | 0.093 | 0.108 | 0.1121 | 0.117 |
0.1 | 10000 | 0.0954 | 0.0963 | 0.0979 | 0.1028 | 0.1041 | 0.1055 |
0.1 | 50000 | 0.098 | 0.0986 | 0.0992 | 0.1014 | 0.1019 | 0.1024 |
0.1 | 100000 | 0.0987 | 0.099 | 0.0994 | 0.1011 | 0.1014 | 0.1018 |
0.1 | 250000 | 0.0993 | 0.0995 | 0.0998 | 0.1008 | 0.1011 | 0.1013 |
0.1 | 500000 | 0.0996 | 0.0998 | 0.1 | 0.1007 | 0.1009 | 0.101 |
0.5 | 10 | 0.2 | 0.3 | 0.4 | 0.6 | 0.7 | 0.8 |
0.5 | 100 | 0.42 | 0.44 | 0.46 | 0.54 | 0.56 | 0.58 |
0.5 | 1000 | 0.473 | 0.478 | 0.486 | 0.513 | 0.52 | 0.525 |
0.5 | 10000 | 0.4922 | 0.4939 | 0.4959 | 0.5044 | 0.5061 | 0.5078 |
0.5 | 50000 | 0.4962 | 0.4968 | 0.4978 | 0.5018 | 0.5028 | 0.5036 |
0.5 | 100000 | 0.4974 | 0.4979 | 0.4986 | 0.5014 | 0.5021 | 0.5027 |
0.5 | 250000 | 0.4984 | 0.4987 | 0.4992 | 0.5008 | 0.5013 | 0.5017 |
0.5 | 500000 | 0.4988 | 0.4991 | 0.4994 | 0.5006 | 0.5009 | 0.5011 |
Посмотрим случаи с 10% конверсией и с низкой 0.01% конверсией, т.к. на них хорошо видны все особенности работы с сэмплированием.
При 10% конверсии картина выглядит довольно простой:
Точки — это края 5-95% доверительного интервала, т.е. делая сэмпл мы будем в 90% случаев получать CR на выборке внутри этого интервала. Вертикальная шкала — размер сэмпла (шкала логарифмическая), горизонтальная — значение коэффициента конверсии. Вертикальная черта — «истинный» CR.
Мы тут видим то же, что мы видели из теоретической модели: точность растет по мере роста размера сэмпла, при этом одна довольно быстро «сходится» и сэмпл получает результат близкий к «истинному». Всего на 1000 сэмпле мы имеем 8.6% — 11.7%, что для ряда задач будет достаточно. А на 10 тысячах уже 9.5% — 10.55%.
Куда хуже дела обстоят с редкими событиями и это согласуется с теорией:
У низкого коэффициента конверсии в 0.01% принципе проблемы на статистике в 1 млн наблюдений, а с сэмплами ситуация оказывается еще хуже. Ошибка становится просто гигантской. На сэмплах до 10 000 метрика в принципе не валидна. Например, на сэмпле в 10 наблюдений мой генератор просто 1000 раз получил 0 конверсию, поэтому там только 1 точка. На 100 тысячах мы имеем разброс от 0.005% до 0.0016%, т.е мы можем ошибаться почти в половину коэффициента при таком сэмплировании.
Также стоит отметить, что когда вы наблюдаете конверсию такого маленького масштаба на 1 млн испытаний, то у вас просто большая натуральная ошибка. Из этого следует, что выводы по динамике таких редких событий надо делать на действительно больших выборках иначе вы просто гоняетесь за призраками, за случайными флуктуациями в данных.