Datalytics
9.37K subscribers
187 photos
13 videos
5 files
630 links
Канал для аналитиков данных про Python, карьерное развитие в анализе данных, всякое разное

Автор – @ax_makarov

Отдельный канал про ChatGPT и его практическое применение —  @ai_forge

Чат канала — @pydata_chat

Вакансии — @data_hr
Download Telegram
Игорь спрашивает: «Как сформировать путь из маркетолога в аналитика? Какие навыки нужно приобрести?»

Вот алгоритм работы аналитика:

Всё начинается с того, что какой-то заказчик приходит с задачей. Обычно эта задача сформулирована в мире заказчика, например «разобраться, почему у нас не растут продажи» или «мы запустили новую фичу, хотим понять, работает ли она».

Задача аналитика: разобраться в задаче, декомпозировать ее на атомарные подзадачи, решение которых поможет ответить на основной вопрос.
Например «разобраться, почему у нас не растут продажи» можно разобрать так:
* В прошлом году выручка компании расла каждый месяц (дальше значения выручки)
* В этом году рост остановился на значении…
* Как компания зарабатывает деньги? Какие продукты продает? Кому?
* Как изменилось количество новых покупателей?
* Как изменилось количество вернувшихся покупателей?
* Как изменился средний чек?
* Как изменился состав покупательской корзины?
* Как изменились цены на товары?
* Как изменилась посещаемость сайта?

И так далее. Аналитику нужно выделить из задачи целевые метрики и разобраться, из чего они состоят. Я называю этот подход составлением «Пирамиды метрик». В консалтинге его называют составлением «Дерева KPI». Я когда-то описывал этот процесс в блоге: https://blog.ohmystats.com/printsip-piramidy-kak-planirovat-reklamnyie-aktivnosti/
После того, как аналитик декомпозировал задачу, надо где-то достать данные для ее решения.
Данные могут лежать, например, в какой-нибудь базе. Чтобы их оттуда достать, нужно уметь писать запросы на SQL.
Еще они могут лежать где-то в интернете и, чтобы их получить, нужно написать запрос к API или распарсить какой-то сайт. Для этого полезно уметь писать несложные программы на каком-нибудь языке программирования. Я, например, пишу на R ил Python.
Когда данные получены, их нужно проанализировать, чтобы найти ответ на вопрос. Если аналитик хорошо декомпозировал задачу на первом шаге, весь анализ представляет собой последовательность простых математических операций: тут сложить, там поделить.

Как компания зарабатывает деньги? Какие продукты продает? Кому?
— продаем холодильники через интернет по всей России

Как изменилось количество новых покупателей?
— снизилось на 30%

Почему? Как изменилась посещаемость сайта?
— осталась на том же уровне, зато снизилась конверсия из посетителей в покупателей

Почему она снизилась? На каком этапе воронки?
— Конверсия просела на этапе оформления заказа

Когда она снизилась? Что произошло в этот день?
— 5 января. Мы в этот день убрали бесплатную доставкую
Последний этап в пработе аналитика — объяснить результаты анализа заказчику.
Для этого нужно логично и понятно объяснить ваш ход мыслей и подкрепить их иллюстрациями. Иногда задача — не столько ответить на один вопрос, сколько создать для заказчика инструмент, с помощью которого он сам бы на него отвечал в будущем. Это может быть дешборд, модель или какой-нибудь еще дата-продукт.

Создавать такие дата-продукты удобно теми же R и Python.
Итого, хороший аналитик умеет:
1. Декомпозировать задачу
2. Находить, доставать и готовить нужные для ее решения данные
3. Анализировать эти данные
4. Понятно объяснять результаты анализа заказчику

Первый пункт — самый важный.
Кстати, подписывайтесь на канал Лёши Куличевского. Он в аналитике съел слона и плохого не посоветует.

https://t.me/kulichevskiy
При работе с анализом непрерывных числовых данных может быть полезным разбить эти данные на диапазоны (иначе называемые корзинками или bins). В статье подробно рассказывается о том как разбить данные на диапазоны с помощью функций cut и qcut в pandas.

https://pbpython.com/pandas-qcut-cut.html
Статья из блога DataQuest о том как анализировать данные опросов с помощью Python. Полезно будет новичкам в качестве простого примера разведочного анализа данных

https://www.dataquest.io/blog/how-to-analyze-survey-data-python-beginner/
Forwarded from BigQuery Insights
​​Новый Python скрипт - позволяет извлекать данные об активности пользователя из Google Analytics и импортировать их в таблицу Google BigQuery.

via @BigQuery
Если вы в pandas используете apply на большом объеме данных, то может быть полезным прикрутить шкалу прогресса выполнения функции. В статье рассказывается о том как это сделать с применением библиотеки tqdm

https://towardsdatascience.com/progress-bars-in-python-and-pandas-f81954d33bae
7 советов для повышения эффективности анализа данных в Python: pandas-profiling для быстрого обзора данных, magic-команды, горячие клавиши, выделение блоков markdown цветом и многое другое

https://towardsdatascience.com/7-things-to-quickly-improve-your-data-analysis-in-python-3d434243da7
Подробный гайд по работе с временными рядами в Python. В нем даются примеры визуализации рядов, декомпозиции на трендовую и сезонную компоненту, применение статистических критериев для проверки гипотез, например, тест под забавным для постсоветского пространства названием KPSS, который позволяет проверить стационарность ряда.

https://www.machinelearningplus.com/time-series/time-series-analysis-python/
Наткнулся на интересную библиотеку для статистики - Pingouin. Имеет ряд преимуществ по сравнению с scipy.stats, например, t-test по умолчанию выдает не только T-value и p-value, но и доверительные интервалы, статистическую мощность и размер эффекта. Понятное дело, что всё это можно сделать и в scipy, но Pingouin делает это одной функцией, что крайне удобно. Вот ноутбук с кратким обзором того, что умеет Pingouin: https://nbviewer.jupyter.org/github/raphaelvallat/pingouin/blob/master/notebooks/00_QuickStart.ipynb

https://github.com/raphaelvallat/pingouin
Книга Nicolas P. Rougier "From Python to Numpy" рассказывает о том как с помощью NumPy существенно улучшить эффективность алгоритмов анализа данных. Автор специализируется в применении Python к научным исследованиям и визуализациям, поэтому книга изобилует сложными, но очень крутыми примерами.

https://www.labri.fr/perso/nrougier/from-python-to-numpy/
Статья о том как сделать исключение одного датафрейма из другого. Интерес представляет практический пример, когда merge вызывают с параметром indicator=True и это приносит пользу

https://kanoki.org/2019/07/04/pandas-difference-between-two-dataframes/
Обзор просто бомбической библиотеки Streamlit, которая позволяет создавать небольшие интерактивные веб-приложения для взаимодействия с данными и алгоритмами ML. Похоже на разработку Voila, но не привязана к ipyWidgets, а использует свои виджеты, создавать которые крайне просто. В общем, посмотрите и попробуйте, это кайф

https://habr.com/ru/post/473196/
Руководство по работе с datetime в python: как извлекать атрибуты datetime, работать с timedelta, а также с timezones. Помимо этого в руководстве есть раздел, посвященный работе с датой/временем в pandas

https://www.dataquest.io/blog/python-datetime-tutorial/