Как посчитать воронку продаж питон
Перейти к содержимому

Как посчитать воронку продаж питон

построить диаграмму воронки с процентной разницей, используя сюжетно в python

Я хочу сгруппировать по стране и sales_entity и отдельно подсчитать идентификаторы. Для этого я использовал следующий код: df1= df.groupby([‘country’,’Sales Entity’])[‘id’].nunique().reset_index(name=’count’) Мой вывод из этого кода выглядит следующим образом:

На основе этого вывода я хочу сгенерировать график воронки отдельно для Канады и США, чтобы в воронке отображалась стоимость каждой торговой организации, а также процентный рост / снижение. Например, если мы посмотрим на Канаду, воронка должна начинаться с «продаж А» со значением 4 и общим процентным соотношением как 100%. По мере продвижения вниз по воронке к «продажам B» должно отображаться значение 3, процентное изменение и так далее. Точно так же для США воронка должна начинаться с «продаж D», за которыми следуют «продажи C», «продажи B» и «продажи A» с отображением их значений и процентного изменения. Как в этом случае я могу создать диаграмму воронки, используя plotly в Python, без ручного ввода значений из моей таблицы?

2 ответа

Если вам нужны другие столбцы, вы можете добавить их в данные и отобразить на графике, используя texttemplate Пример

Output

Пробовал, ссылаясь на официальную ссылку. Я построил график, сравнивая две страны на одном этапе. В то же время на него ответил @venky, но я осмелился ответить, потому что формулировка другая. Спасибо за возможность узнать это. из plotly import graph_objects as go

Диаграмма воронки в Python

Диаграммы-воронки часто используются для представления данных на различных этапах бизнес-процесса. Они является важным механизмом бизнес-аналитики для выявления потенциальных проблемных областей процесса. Например, они используются для наблюдения за доходами и затратами в процессе продаж на каждом этапе и отображают значения, которые постепенно уменьшаются. Каждый этап отражает определенный процент от общего числа всех значений.

Базовая диаграмма воронки с plotly.express

Plotly Express – это простой высокоуровневый интерфейс для Plotly, который работает с различными типами данных и отрисовывает фигуры в простом стиле.

С помощью px.funnel каждую строку фрейма данных можно представить как уровень воронки.

Сложенная диаграмма воронки с plotly.express

Базовая диаграмма воронки с трассировкой graph_objects go.Funnel

Если Plotly Express не дает хорошей отправной точки, можно использовать более универсальный класс go.Funnel из plotly.graph_objects (https://plotly.com/python/graph-objects/).

Настройка параметров размера и цвета маркеров

В этом примере используются параметры textposition и textinfo для определения вида информации, отображаемой на диаграмме, а также показано, как настроить столбцы.

Сложенная диаграмма воронки с go.Funnel

Базовая диаграмма воронки с областями с plotly.express

С помощью px.funnel_area каждая строка фрейма данных представляется как уровень воронки.

Базовая диаграмма воронки с областями с go.Funnelarea

Настройка параметров размера и цвета маркеров в диаграмме воронки с областями

Множество воронок с областями

Источники

Обратите внимание на ссылки для px.(funnel) или https://plotly.com/python/reference/funnel/ и https://plotly.com/python/reference/funnelarea/ , чтобы получить больше информации о параметрах и атрибутах диаграммы.

А как насчет Dash?

Dash – открытый фреймворк для создания аналитических приложений, в нем не требуется JavaScript, и он тесно интегрирован с библиотекой построения диаграмм Plotly.

Узнайте, как установить Dash здесь.

Везде, где в этой статье вы видите fig.show() , можно отобразить такой график в приложении Dash, передав его в аргумент figure компонента Graph из пакета built-in dash_core_components , следующим образом:

Материал подготовлен в рамках курса «Python для аналитики».

Всех желающих приглашаем на demo-занятие «SQL для работы с данными». SQL становится все более востребован для аналитиков, менеджеров и маркетологов, которые работают с данными. На открытом уроке мы разберем основные SQL запросы и на практике покажем, как их использовать для формирования выгрузок и витрин. >> РЕГИСТРАЦИЯ НА ЗАНЯТИЕ

Python Анализ данных Воронка

По месяцам воронка есть. Нужно создать воронку по гендеру male female по каждому месяцу (в файле их четыре). Значение гендера из файла вытаскиваю в переменной gender. Идея в общем такая, но не могу понять как сделать грамотно библиотеку со значениями male female, что бы код ниже работал. Или может как по другому сделать.

funnel_by_month = <> # создаем словарь, где будут храниться словари за каждый месяц
funnel_template =

with open(‘/content/drive/My Drive/Копия click_stream3.csv’, mode=’r’) as csv_file: # открываем файл
csv_reader = csv.DictReader(csv_file, fieldnames=[‘ID’,’page’,’date’]) # читаем файл

# проходим циклом по объекту csv_reader
for row in csv_reader: # берем строку из объекта csv_reader

page = list(row.items())[1][1] # вытаскиваем название страницы
event_date = list(row.items())[2][1][:-3] # вытаскиваем дату в формате YYYY-MM
gender = list(row.items())[3][1][1]

# проверяем существует ли ключ со значением event_date в словаре
if event_date not in funnel_by_month: # если нет
funnel_by_month[event_date] = funnel_template.copy() # создаем ключ, в значение копируем заготовку

# проверяем условиями и прибавляем единицу к нужному ключу в словаре
# идея в общем такая, но не могу понять как сделать библиотеку с ключами male female, что бы код ниже работал
if page == ‘1_home_page’:
if gender == ‘Male’:
funnel_by_month[male][event_date][‘1_home_page’] += 1
elif gender == ‘Famale’:
funnel_by_month[female][event_date][‘1_home_page’] += 1
elif page == ‘2_search_page’:
if gender == ‘Male’:
funnel_by_month[male][event_date][‘2_search_page’] += 1
elif gender == ‘Famale’:
funnel_by_month[female][event_date][‘2_search_page’] += 1
elif page == ‘3_payment_page’:
if gender == ‘Male’:
funnel_by_month[male][event_date][‘3_payment_page’] += 1
elif gender == ‘Famale’:
funnel_by_month[female][event_date][‘3_payment_page’] += 1
else:
if gender == ‘Male’:
funnel_by_month[male][event_date][‘4_payment_confirmation_page’] += 1
elif gender == ‘Famale’:
funnel_by_month[female][event_date][‘4_payment_confirmation_page’] += 1

получается должны быть две воронки по male и famele в каждой из которых 4 воронки по четырём месяцам (в датасете только 4 месяца)

Black Afgano Мудрец (18357) Александр Осипов, проще сгруппировать датафрейм на нужным полям

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *