Skip to content

Nimos95/ab-test-polytech

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A/B-тестирование: Эффективность новой инструкции для мультимедийных комплексов в учебных аудиториях

Python Pandas Matplotlib License Status


⚠️ ВАЖНОЕ ПРИМЕЧАНИЕ О ДАННЫХ

Данный проект создан для демонстрации навыков анализа данных. Вся информация, использованная в проекте, соответствует следующим принципам:

КОНФИДЕНЦИАЛЬНОСТЬ И ПЕРСОНАЛЬНЫЕ ДАННЫЕ

  • Все персональные данные (имена преподавателей, сотрудников) были заменены на вымышленные
  • Любые совпадения с реальными людьми являются случайными
  • Названия кафедр и аудиторий изменены для сохранения приватности
  • Данные не содержат реальной информации о сотрудниках университета

КОРПОРАТИВНАЯ ТАЙНА

  • Все данные о заявках JIRA были сгенерированы синтетически с помощью специального скрипта
  • Реальные данные о количестве заявок, времени решения и типах проблем не разглашаются
  • Статистические паттерны и распределения сохранены, но числовые значения изменены
  • Скрипт generate_jira_data.py создает реалистичный, но полностью вымышленный датасет

ЦЕЛЬ ПРОЕКТА

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

ИСХОДНЫЙ КОД ГЕНЕРАЦИИ

Вы можете ознакомиться со скриптом генерации данных:
generate_jira_data.py — создает реалистичный JIRA-дамп с сохранением всех статистических свойств, но без использования реальных данных.


О ПРОЕКТЕ

Автор: Москвин Никита Романович, инженер / аналитик данных
Организация: Санкт-Петербургский Политехнический университет Петра Великого
Год: 2025

Цель исследования

Оценить влияние нового дизайна инструкции для работы с мультимедийным комплексом на количество заявок преподавателей в JIRA.

Метрика

Количество заявок от преподавателей в JIRA на одну аудиторию за период тестирования (ноябрь 2025).

Гипотеза

H₀ (нулевая): Новый дизайн инструкции НЕ влияет на количество заявок
H₁ (альтернативная): Новый дизайн инструкции СНИЖАЕТ количество заявок


КЛЮЧЕВЫЕ РЕЗУЛЬТАТЫ

Метрика Группа A (старая инструкция) Группа B (новая инструкция) Изменение
Количество аудиторий 14 14
Всего заявок 60 40 -33.3%
Среднее заявок на аудиторию 4.29 2.86 -33.3%
Медиана заявок 4.0 2.5 -37.5%
Стандартное отклонение 1.73 1.51

Статистическая значимость

Показатель Значение Интерпретация
p-значение (t-тест Уэлча) 0.0281 Статистически значимо (p < 0.05)
t-статистика -2.33
Степени свободы 25.98
95% доверительный интервал [-2.66, -0.20] Не содержит 0

ПРОВЕРКА ДОПУЩЕНИЙ (ВАЛИДАЦИЯ)

1. Единица анализа

  • КОРРЕКТНО: Анализ проведен на уровне аудиторий (n=14/14)
  • ❌ Некорректно: Анализ на уровне заявок (было бы 60/40 — псевдоповторение)

2. Нормальность распределения

Тест Группа A Группа B Норма Вердикт
Шапиро-Уилк (p-value) 0.057 0.123 > 0.05 ✅ ВЫПОЛНЕНО
Асимметрия (Skewness) 0.32 0.28 < 1.0 ✅ ВЫПОЛНЕНО
Эксцесс (Kurtosis) -1.21 -1.39 < 2.0 ✅ ВЫПОЛНЕНО

3. Равенство дисперсий

Тест Значение Вердикт
Тест Левена p = 0.668 ✅ Дисперсии РАВНЫ (p > 0.05)
F-тест p = 0.636 ✅ Дисперсии РАВНЫ

4. Робастность (непараметрические тесты)

Тест p-value Вердикт
U-тест Манна-Уитни 0.032 ✅ ПОДТВЕРЖДАЕТ значимость
Тест Бруннера-Манзеля 0.028 ✅ ПОДТВЕРЖДАЕТ значимость
Бутстрап (10,000 итераций) 0.029 ✅ ПОДТВЕРЖДАЕТ значимость

5. Анализ мощности

Показатель Значение Интерпретация
Текущая мощность 84.3% ✅ ДОСТАТОЧНО (>80%)
Необходимый n для 80% мощности 11 ✅ Текущий n=14 достаточен

6. Чувствительность (Leave-one-out)

Показатель Значение Вердикт
Минимальное p-value 0.019
Максимальное p-value 0.047
Все p < 0.05? ✅ ДА Результат устойчив к выбросам

📊 АНАЛИЗ ПО КАТЕГОРИЯМ ПРОБЛЕМ

Категория Группа A Группа B Изменение Интерпретация
Не могу включить проектор 19 5 -74% ✅ ОГРОМНОЕ УЛУЧШЕНИЕ
Нет изображения на экране 9 6 -33% ✅ Улучшение
Нет звука в аудиосистеме 8 2 -75% ✅ ОГРОМНОЕ УЛУЧШЕНИЕ
Не подключается ноутбук через HDMI 7 3 -57% ✅ Улучшение
Не запускается мультимедийное ПО 8 2 -75% ✅ ОГРОМНОЕ УЛУЧШЕНИЕ
Требуется инструкция по использованию 4 2 -50% ✅ Улучшение
Другая проблема 5 9 +80% ⚠️ Требует анализа
Сложность с настройкой источников 0 9 +100% ⚠️ Новая категория
Проблема с переключением режимов 0 2 +100% ⚠️ Новая категория

Вывод: Все базовые проблемы снизились на 50-75%. Появились новые категории — это нормально при изменении инструкции, требуется доработка.


📈 ВИЗУАЛИЗАЦИЯ

Дашборд

A/B-Test Dashboard

Сравнение групп

Сравнение групп

Тепловая карта категорий

Тепловая карта

Динамика заявок по дням

Динамика

Размер эффекта

Размер эффекта

Бутстрап-верификация

Бутстрап


🛠 ТЕХНОЛОГИЧЕСКИЙ СТЕК

Python (основной анализ)

  • pandas — обработка и агрегация данных
  • numpy — численные расчеты
  • scipy — статистические тесты (t-тест, Манн-Уитни, Левен)
  • matplotlib/seaborn — визуализация
  • statsmodels — анализ мощности
  • jupyter — исследовательский анализ

Excel (валидация и дашборд)

  • Сводные таблицы
  • T-тест (функция T.TEST)
  • Тест Левена (ручной расчет)
  • Проверка нормальности (асимметрия + эксцесс)
  • Итоговый дашборд с KPI

💼 БИЗНЕС-ЭФФЕКТЫ

Что означают эти цифры для университета?

Метрика До После Экономия
Заявок в месяц 60 40 -20 заявок
Среднее время решения 14.2 ч 10.1 ч -4.1 часа на заявку
Критичных заявок (Highest) 7 3 -57%

🕒 Экономия времени сотрудников техподдержки

До: 60 заявок × 14.2 часа = 852 часа работы в месяц

После: 40 заявок × 10.1 часа = 404 часа работы в месяц

✅ ЭКОНОМИЯ: 448 ЧАСОВ В МЕСЯЦ!

Это эквивалентно 2.8 полным ставкам сотрудников техподдержки.

📉 Снижение нагрузки на преподавателей

  • До: Каждая аудитория создавала в среднем 4.3 заявки за период теста
  • После: 2.9 заявки на аудиторию
  • Экономия времени преподавателя: около 30 минут на каждую заявку (оформление, ожидание, коммуникация)

💰 Финансовый эквивалент (приблизительная оценка)

Если считать стоимость часа работы сотрудника поддержки 500 руб.:
448 часов × 500 руб. = 224 000 руб. экономии в месяц

В год: ~2.7 млн руб. потенциальной экономии.

🎯 Главный бизнес-вывод

Внедрение новой инструкции не просто улучшает статистику — оно высвобождает 2.8 полных ставки сотрудников, которые могут быть направлены на другие задачи, и экономит университету более 2.5 миллионов рублей в год.

📌 KPI для руководства

KPI Значение
Снижение заявок 33%
Сэкономленные часы в месяц 448 ч
Эквивалент сотрудников 2.8 ставки
Годовая экономия (оценка) ~2.7 млн руб.