en
Feedback
LEFT JOIN

LEFT JOIN

Open in Telegram

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

Show more

📈 Analytical overview of Telegram channel LEFT JOIN

Channel LEFT JOIN (@leftjoin) in the Russian language segment is an active participant. Currently, the community unites 42 992 subscribers, ranking 3 111 in the Technologies & Applications category and 14 788 in the Russia region.

📊 Audience metrics and dynamics

Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 42 992 subscribers.

According to the latest data from 02 July, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by -698 over the last 30 days and by -17 over the last 24 hours, overall reach remains high.

  • Verification status: Not verified
  • Engagement rate (ER): The average audience engagement rate is 17.50%. Within the first 24 hours after publication, content typically collects 11.82% reactions from the total number of subscribers.
  • Post reach: On average, each post receives 7 525 views. Within the first day, a publication typically gains 5 080 views.
  • Reactions and interaction: The audience actively supports content: the average number of reactions per post is 16.
  • Thematic interests: Content is focused on key topics such as аналитика, sql, данными, datalens, csv.

📝 Description and content policy

The author describes the resource as a platform for expressing subjective opinions:
Понятно про анализ данных, технологии, нейросети и, конечно, SQL. Услуги — leftjoin.ru Курсы по аналитике — https://stepik.org/users/431992492 Автор — @valiotti Реклама — @valiotti Перечень РКН: https://tapthe.link/PpkTHavwS

Thanks to the high frequency of updates (latest data received on 03 July, 2026), the channel maintains relevance and a high level of publication reach. Analytics show that the audience actively interacts with content, making it an important point of influence in the Technologies & Applications category.

42 992
Subscribers
-1724 hours
-1267 days
-69830 days
Posts Archive
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.