Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

лаб5 / lab5_analysis

.docx
Скачиваний:
1
Добавлен:
27.08.2024
Размер:
666.71 Кб
Скачать

ГУАП

КАФЕДРА № 41

ОТЧЕТ ЗАЩИЩЕН С ОЦЕНКОЙ

ПРЕПОДАВАТЕЛЬ

Ассистент

В.В. Боженко

должность, уч. степень, звание

подпись, дата

инициалы, фамилия

ОТЧЕТ О ЛАБОРАТОРНОЙ РАБОТЕ №5

ПРОВЕДЕНИЕ A/B тестирования

по курсу: ВВЕДЕНИЕ В АНАЛИЗ ДАННЫХ

РАБОТУ ВЫПОЛНИЛ

СТУДЕНТ ГР. №

4016

М.О. Жовтяк

подпись, дата

инициалы, фамилия

Санкт-Петербург 2022

  1. Цель работы

Цель: изучить алгоритмы для проведения A/B тестирования для принятия решений.

  1. Предварительный анализ

Ссылка на Jupyter-Notebook:

https://colab.research.google.com/drive/1cUVwym4fFn2W_rx-WBCDtfUUQxZx3NI2?usp=share_link

Загружается датасеты orders и visitors с помощью библиотеки pandas в Jupyter-ноутбуке. Выводятся первые 20 строк с помощью команды head. Это показано на рисунке 1.

Рисунок 1 – Загрузка файлов

Набор содержит информацию о идентификаторе заказа, идентификаторе пользователя, дате заказа, выручки заказа, и группу A/B теста, в которую попал заказ. Это продемонстрировано на рисунке 2.

Рисунок 2 – Содержание датасета visitors

Набор содержит дату, группу A/B теста, количество пользователей в указанную дату в указанной группе A/B теста. Выводится основная информация, которая показана на рисунке 3.

Рисунок 3 – Основная информация о датасетах

По информации можно увидеть, что все данные имеют правильный тип данных, пропусков нет. Далее проводится проверка на наличие дубликатов. Это показано на рисунке 4.

Рисунок 4 – Проверка на дубликаты

Дубликатов нет, тогда производится поиск скрытых дубликатов. Это показано на рисунке 5.

Рисунок 5 – Поиск скрытых дубликатов

Скрытых дубликатов нет ни в одном датасете, тогда производится поиск пересекающихся пользователей. Это показано на рисунке 6.

Рисунок 6 – Поиск пересекающихся пользователей

Создается массив уникальных пар значений дат и групп теста. Это показано на рисунке 7.

Рисунок 7 – Создание массива уникальных пар значений

Теперь создаются агрегированные кумулятивные данные по дням о заказах. Это показано на рисунке 8.

Рисунок 8 - Агрегированные кумулятивные данные по дням о заказах

Аналогично создаются агрегированные кумулятивные данные по дням о посетителях. Это показано на рисунке 9.

Рисунок 9 - Агрегированные кумулятивные данные по дням о посетителях

Таблицы объединяются в одну единую. Это показано на рисунке 10.

Рисунок 10 – Объединение таблиц

Мой вариант - 14, поэтому выполняется задание варианта, где изображается график среднего чека по группам A и B. По оси x - дата, по оси y - revenue/orders. Это показано на рисунке 11.

Рисунок 11 – График среднего чека по A/B

Средний чек в группе B в первых днях намного ниже A, но в последующих днях в группе B этот чек выше, причем во вторую половину месяца чек почти двукратно выше.

Загружаются данные нового датасета logs_exp. Выводятся первые 20 значений. Это показано на рисунке 12.

Рисунок 12 – Загрузка файла logs_exp.csv

Набор данных содержит столбцы: название события, уникальный идентификатор пользователя, время события, номер эксперимента. Это показано на рисунке 13.

Рисунок 13 – Информация об logs_exp

Всего в датасете 244126 строк, тип данных указан верно. Производится поиск на дубликаты. Это показано на рисунке 14.

Рисунок 14 – Поиск дубликатов

Производится поиск скрытых дубликатов. Это показано на рисунке 15.

Рисунок 15 – Поиск скрытых дубликатов

Скрытых дубликатов нет. В столбце номера эксперимента всего 3 контрольные группы: 246 и 247 - контрольные, 248 - экспериментальная.

Подсчитывается, сколько раз выполнялось каждое из действий, сортируется таблица в порядке убывания. Это показано на рисунке 16.

Рисунок 16 – Подсчет выполнения каждого действия

По таблице видно, что самым популярным действием является MainScreenAppear, самым непопулярным - Tutorial.

Подсчитывается количество пользователей, которые совершали каждое из этих событий. Здесь же выполняется дополнительное задание, которое высчитывает количество потерь в % количества пользователей после совершенного события. Это показано на рисунке 17.

Рисунок 17 – Подсчет кол-ва пользователей, выполняющих события, расчет процента потерь пользователей после выполнения события

Почти все устройства выполнили первое событие. Второе, третье, четвертое события выполнили примерно половина всех устройств. Очень мало устройств выполняли пятое событие.

Подсчитывается количество уникальных устройств, которые принадлежат одной из групп. Это показано на рисунке 18.

Рисунок 18 – Количество уникальных устройств по группам

Сумма устройств в каждой группе равно общему количеству уникальных устройств. Одного устройства в нескольких группах быть не может и различия в количеству между группами несущественная, поэтому можно проводить тесты.

А/А тест - тесты, проводимые перед А/В тестированием, чтобы убедиться, что нынешние показатели не являются выбросами(вероятность получения таких же результатов статистики или выше должна быть больше критического значения).

Нулевая гипотеза: Группы 246 и 247 не имеют различий

Альтернативная гипотеза: Группы 246 и 247 отличаются

Сначала считаем статистику в стандартных отклонениях стандартного нормального распределения. Если бы пропорции были равны, разница между ними была бы равна 0. Дальше высчитывается вероятность того, что при следующих измерениях полученные результаты будут либо идентичны нынешним, либо больше, если эта вероятность меньше критического значения, то нулевая гипотеза отвергается, следовательно, проводить A/B тесты бесполезно, так как данные не корректные, если вероятность больше, то можно проводить A/B тесты.

Результат A/A тестов на рисунке 19.

Рисунок 19 – Результаты A/A тестов

Нулевая гипотеза не отвергнута ни у какого события, поэтому запускается тест A/B.

А/B тест - тест, предназначенный для сравнения двух групп между собой, для выявление эффективности одной перед другой. Для этого вычисляется p-value - вероятность того, что для заданной модели, значения получатся такими же или больше. Если вероятность меньше коэффициента значимости то нулевую гипотезу отвергают, если больше, то не отвергают.

Нулевая гипотеза: Нет различий между группой А (246) и группой B (248).

Альтернативная: Есть различия между контрольной и экспериментальной группами

Результаты A/B тестов на рисунке 20.

Рисунок 20 - Результаты A/В тестов

Из полученного результата видно, что нулевая гипотеза не отвергается, следовательно разницы между группами 246 и 248 нет.

  1. Вывод

В результате лабораторной работы я улучшил навыки работы с библиотекой pandas, вспомнил работу функций группировки и агрегирования, познакомился с принципами работы A/A и A/B тестов. Реализовал данные тесты, вспомнил необходимый минимум математики для реализации данных тестов, проанализировал три набора данных, два из которых были связаны между собой и на основе связанных наборов данных создал таблицу, содержащую важнейшие значения этих наборов, узнал, что такое агрегирование и научился пользоваться методами pandas, для агрегирования данных.

Все наборы данных, которые обрабатывались в данной лабораторной работе представлены в удобном для проведения A/A и A/B тестов виде, следовательно для проведения тестов не было необходимости проводить нестандартную обработку.

Проведя A/A и A/B тесты нулевые гипотезы не были отвергнуты, следовательно необходимо изучить данную гипотезу другими средствами анализа, чтобы подтвердить её.

Соседние файлы в папке лаб5