ch
Feedback
LEFT JOIN

LEFT JOIN

前往频道在 Telegram

Понятно про анализ данных, технологии, нейросети и, конечно, SQL. Услуги — leftjoin.ru Курсы по аналитике — https://stepik.org/users/431992492 Автор — @valiotti Реклама — @valiotti Перечень РКН: https://tapthe.link/PpkTHavwS

显示更多

📈 Telegram 频道 LEFT JOIN 的分析概览

频道 LEFT JOIN (@leftjoin) 俄语 语言赛道中的 是活跃参与者。目前社区聚集了 42 992 名订阅者,在 技术与应用 类别中位列第 3 111,并在 俄罗斯 地区排名第 14 788

📊 受众指标与增长动态

невідомо 创建以来,项目保持高速增长,吸引了 42 992 名订阅者。

根据 02 七月, 2026 的最新数据,频道保持稳定运转。过去 30 天订阅人数变化为 -698,过去 24 小时变化为 -17,整体触达仍然可观。

  • 认证状态: 未认证
  • 互动率 (ER): 平均受众互动率为 17.50%。内容发布后 24 小时内通常能获得 11.82% 的反应,占订阅者总量。
  • 帖子覆盖: 每篇帖子平均可获得 7 525 次浏览,首日通常累积 5 080 次浏览。
  • 互动与反馈: 受众积极参与,单帖平均反应数为 16
  • 主题关注点: 内容集中在 аналитика, sql, данными, datalens, csv 等核心主题上。

📝 描述与内容策略

作者将该频道定位为表达主观观点的平台:
Понятно про анализ данных, технологии, нейросети и, конечно, SQL. Услуги — leftjoin.ru Курсы по аналитике — https://stepik.org/users/431992492 Автор — @valiotti Реклама — @valiotti Перечень РКН: https://tapthe.link/PpkTHavwS

凭借高频更新(最新数据采集于 03 七月, 2026),频道始终保持新鲜度与高覆盖。分析显示受众积极互动,使其成为 技术与应用 类别中的关键影响点。

42 992
订阅者
-1724 小时
-1267
-69830
帖子存档
LEFT JOIN
42 982
Парсим данные каталога сайта, используя Beautiful Soup (часть 1) http://leftjoin.ru/all/parsim-dannye-kataloga-sayta-ispolzuya-beautiful-soup-chast-1/

LEFT JOIN
42 982
Карта Machine Learning алгоритмов http://leftjoin.ru/all/karta-machine-learning-algoritmov/

LEFT JOIN
42 982

LEFT JOIN
42 982
Данные удобно записать в .csv-файл, чтобы в следующий раз дополнить статистику: with open('hyper_receipts.csv', 'a') as f: my_products.to_csv(f, header=True)

LEFT JOIN
42 982
photo content

LEFT JOIN
42 982
В завершение элементарно получим описательные статистики в текстовом виде командой .describe(): my_products.describe()

LEFT JOIN
42 982
photo content

LEFT JOIN
42 982
photo content

LEFT JOIN
42 982
«Шапка» чековых данных Можно построить гистограмму покупок или посмотреть на все в виде «ящика с усами»: import matplotlib.pyplot as plt %matplotlib inline my_products['sum'].plot(kind='hist', bins=20) plt.show() my_products['sum'].plot(kind='box') plt.show()

LEFT JOIN
42 982
photo content

LEFT JOIN
42 982
Чек из гипермаркета «Лента», QR-код, который нас интересует, обведен Что это значит для нас, аналитиков данных? Что мы можем лучше узнать себя, свои потребности и получить интересные данные о собственных покупках. Попробуем в рамках серии постов собрать небольшой прототип приложения, которое позволит строить динамику своих покупок. Итак, начнем с того, что в каждом чеке есть QR-code, если его распознать, то мы получим следующую строку: t=20190320T2303&s=5803.00&fn=9251440300007971&i=141637&fp=4087570038&n=1 В данной строке содержатся: t — timestamp, время, когда вы осуществили покупку s — сумма чека fn — кодовый номер fss, потребуется далее в запросе к API i — номер чека, он нам потребуется далее в запросе к API fp — параметр fiscalsign, потребуется далее в запросе к API В рамках решения первого шага нашей задачи мы будем парсить данные чека и собирать их в pandas dataframe, используя модули Python. Мы воспользуемся API (https://habr.com/ru/post/358966/), который отдает данные по чеку с сайта налоговой. В начале получим аутентификационные данные: import requests your_phone = '+7XXXYYYZZZZ' #нужно указать ваш телефон, на него придет СМС с паролем r = requests.post('https://proverkacheka.nalog.ru:9999/v1/mobile/users/signup', json = {"email":"email@email.com","name":"USERNAME","phone":your_phone})В результате выполнения POST-запроса мы получим пароль в виде SMS на указанный мобильный телефон. Далее, мы будем использовать его в переменной pwd Теперь распарсим нашу строку со значениями из QR-кода: import re qr_string='t=20190320T2303&s=5803.00&fn=9251440300007971&i=141637&fp=4087570038&n=1' t=re.findall(r't=(\w+)', qr_string)[0] s=re.findall(r's=(\w+)', qr_string)[0] fn=re.findall(r'fn=(\w+)', qr_string)[0] i=re.findall(r'i=(\w+)', qr_string)[0] fp=re.findall(r'fp=(\w+)', qr_string)[0]Будем использовать полученные переменные для извлечения данных. В посте на Хабре (https://habr.com/ru/post/358966/) довольно подробно изучены статусы ошибок при формировании запроса к API, не буду повторять эту информацию. В начале необходимо проверить, что по данному чеку есть данные, формируем GET-запрос. headers = {'Device-Id':'', 'Device-OS':''} payload = {'fiscalSign': fp, 'date': t,'sum':s} check_request=requests.get('https://proverkacheka.nalog.ru:9999/v1/ofds/*/inns/*/fss/'+fn+'/operations/1/tickets/'+i,params=payload, headers=headers,auth=(your_phone, pwd)) print(check_request.status_code)В запросе необходимо указать headers, хотя бы пустые. В моем случае GET-запрос возвращает ошибку 406, из чего я понимаю, что такой чек находится. Если не указать сумму или дату, то GET-запрос вернет ошибку 400 — bad request. Переходим к самому интересному, получаем данные чека: request_info=requests.get('https://proverkacheka.nalog.ru:9999/v1/inns/*/kkts/*/fss/'+fn+'/tickets/'+i+'?fiscalSign='+fp+'&sendToEmail=no',headers=headers,auth=(your_phone, pwd)) print(request_info.status_code) products=request_info.json()Должны получить код 200 (успешное выполнение GET-запроса), а в переменной products — все, что относится к нашему чеку. Чтобы работать с этими данными воспользуемся pandas и преобразуем все в dataframe. import pandas as pd from datetime import datetime my_products=pd.DataFrame(products['document']['receipt']['items']) my_products['price']=my_products['price']/100 my_products['sum']=my_products['sum']/100 datetime_check = datetime.strptime(t, '%Y%m%dT%H%M') #((https://docs.python.org/3/library/datetime.html#strftime-and-strptime-behavior отформатируем дату)) my_products['date']=datetime_check my_products.set_index('date',inplace=True)Теперь мы имеем рабочий pandas.dataframe с чеками, визуально это выглядит так:

LEFT JOIN
42 982
photo content

LEFT JOIN
42 982
Собираем данные с чеков гипермаркетов на Python http://leftjoin.ru/all/sobiraem-dannye-s-chekov-gipermarketov-na-python/ Недавно, покупая в очередной раз продукты в гипермаркете, вспомнил, что согласно ФЗ-54 любой оператор торговли, который пробивает кассовый чек, обязан отправлять данные чека в налоговую.

LEFT JOIN
42 982
Данную воронку можно отобразить в дашборде и добавить к ней фильтры / параметры

LEFT JOIN
42 982
photo content

LEFT JOIN
42 982
Аккуратно выбираем параметры, чтобы получить желаемый результат В итоге мы получаем воронку конверсий из одной цели в другую:

LEFT JOIN
42 982
photo content

LEFT JOIN
42 982
Выпадающее меню с выбором источников данных (в консоли — слева) Теперь научимся делать funnel-визуализацию. Для этого пишем следующий SQL-запрос: select 'Добавление товара в корзину' as step_name, ga_goal1Completions as goalCompletion from query_8 union all select 'Просмотр корзины' as step_name, ga_goal2Completions from query_8 union all select 'Оформление заказа' as step_name, ga_goal3Completions from query_8В данном случае query_8 — это как раз таблица с результатами запроса к источнику данных Google Analytics. Настроим визуализацию:

LEFT JOIN
42 982
Строим funnel-репорт в redash http://leftjoin.ru/all/stroim-funnel-report-v-redash/ Итак, мы планировали разобрать Funnel-визуализацию отчета в redash. В первую очередь, построим запрос к подключенному нами источнику данных (http://leftjoin.ru/all/kak-podklyuchit-google-analytics-k-redash/) — google analytics. Прямо вот такой текст необходимо положить в консоль запроса: { "ids": "ga:128886640", "start_date": "30daysAgo", "end_date": "yesterday", "metrics": "ga:users,ga:goal1Completions,ga:goal2Completions,ga:goal3Completions" }Мы данном запросе мы просим API Google Analytics отдать данные за последние 30 дней по аккаунту GA: 128886640. Мы хотим увидеть число пользователей и число выполнения целей 1, 2 и 3. В итоге получаем таблицу следующего вида: ga:users ga:goal1Completions ga:goal2Completions ga:goal3Completions 3,926 105 41 32 Отлично, это именно то, что нам нужно для построения воронки. Расскажу об одной очень полезной фиче Redash: query-results. Чтобы подключить таблицы с результатами выполнения запросов, идем в Data Sources и ищем query-results (beta). Подключаем новый источник данных. Теперь у нас появилась возможность обращаться к результатам запросов redash. Так, например, мы можем воспользоваться результатами запроса к Google Analytics. Как это сделать? Необходимо выбрать слева источник данных query-results:

LEFT JOIN
42 982
Выбираем созданный ранее JSON файл Пишем запрос к новому источнику данных Именно в таком виде запрос выполняется в консоли redash: { "ids": "ga:128886640", "start_date": "30daysAgo", "end_date": "yesterday", "metrics": "ga:users,ga:newUsers,ga:goal1Starts,ga:goal2Completions,ga:goal3Starts,ga:transactions,ga:transactionRevenue", "dimensions": "ga:date" }Как узнать параметры для выполнения запроса? У Google есть отличный ресурс Query Explorer (https://ga-dev-tools.appspot.com/query-explorer/), в котором можно найти все необходимые метрики и измерения, которые доступны в Google Analytics. Надеюсь, данная инструкция оказалась вам полезной, далее мы разберемся как построить воронку целей в Redash на основании данных из Google Analytics.