Расчет дисперсии и среднеквадратического отклонения для посетителей вебсайта
Для чего это нужно? Возможно, что вы хотите сравнить данные двух разных страниц сайта или сравнить показатели сайта за различный период. В общем, я не очень люблю объяснять зачем это нужно, если вы эту статью читаете, то, наверное, знаете для чего.
Где взять данные? Можно найти датасет на Каггл, но у Яндекса же есть замечательное live-demo, которое показывает посещаемость страницы metrica.yandex.com/promo/product. Или просто скачаем данные по прямой ссылке (нужно иметь аккаунт в Яндексе).
Теперь можете просто скопировать и вставить себе.
Как всем известно, дисперсия из выборки считается по формуле:
На практике из выборки считают чаще. Но, если вы счастливые обладатели данных генеральной совокупности, можете использовать формулу:
Результат будет немного отличатся, если перепутаете.
И мы получим значение в визитах пользователей в квадрате, или просто квадратных визитах, что не очень-то удобно. Поэтому, извлечем квадратный корень и получим среднеквадратическое отклонение. Для этого воспользуемся формулой:
Или воспользуемся формулой:
Теперь квадратов не стало, но толку от этих показателей около нуля, т.к. чем больше абсолютное значение данных, тем больше будут коэффициенты разброса данных (волатильности). Чтобы данные уровнять между собой, можно, нормировать или логарифмировать. Но можно просто посчитать коэффициент вариации (CV = The Coefficient of Variation), который учитывает среднее значение выборки.
Для этого, как обычно, воспользуемся формулой:
Понимаю, что очень сложно. Но осталось только протянуть формулы до конца таблицы. Результат:
Разброс в переходах из поисковых систем больше, чем разброс в прямых захода. А самый большой разброс в переходах из социальных сетей, что может быть не очевидно, "на глаз".
Теперь посчитаем все на Питоне. Но зачем? Просто мне нравится считать и использовать формулы, без объяснения, зачем это нужно.
Самое потное место этого кода df.columns[1:] - сделать срез без первой колонки, чтобы не расчитывать коэффициенты для Дат, которые невозможно вычислить. Ну и сначала записать результат в переменную, а уже потом объединить с ДатаФреймом для наглядности.
Результат:
Выводы:
1. Думаю, что пишу эту статью я для себя, т.к. искал в интернете статью, реферат, научную работу или любой документ, где есть пример расчета дисперсии для посетителей сайта и не нашел. Т.е. есть статьи с формулами, но с практическим применением я не нашел.
2. Питон маркетологу не нужен, потому что, выполнить все эти расчеты тремя строками кода, ну это не дело. Намного проще и понятнее протягивать формулы по ячейкам, особенно когда в таблице тысячи колонок. В Пандас генеральная совокупность расчитывается иначе, чем в Эксцеле, поэтому ошибиться там намного сложнее.
Еще раз покажу страшные формулы ниже, куда сложнее, чем в Эксцель:
3. Сами по себе формулы меня вообще мало интересуют. Их легко найти в поиске. Меня интересует практическое применение формул. А ситуация с практическим применением очень и очень печальная, т.к. маркетологов использование научных инструментов в работе не особо интересует (кроме корреляции об этом мой ролик на Ютубе), а серьезных ученых особо не интересует описывать статистические метрики сайтов.
4. Надеюсь, что если вы искали в поиске по запросу "Расчет дисперсии или среднеквадратического отклонения для сайта", то вы нашли мои расчеты.
И возможно, вы даже заинтересуетесь Pandas, как аналогу Эксцель, потому, что это значительно производительнее и полностью бесплатно. Установить тоже не сложно, даже на Мак.
Это вообще апофеоз российского образования. Школьники изучают математику 11 лет, затем высшая математика и статистка в ВУЗе, но никто из выпускников не знает зачем все это засунули ему в голову.
ну почему же, очень помогает при написании всякого рода научных работ и публикаций, в свое время много писал. Правда вышку в вузе сдавал раза 4)))
Вы не поверите, но я окончил статистический ВУЗ и у нас все, даже менеджеры по подбору персонала изучали статистику.
Так что вопрос этот близок мне по "личным причинам".