uz
Feedback
LEFT JOIN

LEFT JOIN

Kanalga Telegram’da o‘tish

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

Ko'proq ko'rsatish

📈 Telegram kanali LEFT JOIN analitikasi

LEFT JOIN (@leftjoin) Rus til segmentidagi kanali faol ishtirokchi. Hozirda hamjamiyat 42 976 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 3 111-o'rinni va Rossiya mintaqasida 14 788-o'rinni egallagan.

📊 Auditoriya ko‘rsatkichlari va dinamika

невідомо sanasidan buyon loyiha tez o‘sib, 42 976 obunachiga ega bo‘ldi.

02 Iyul, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni -698 ga, so‘nggi 24 soatda esa -17 ga o‘zgardi va umumiy qamrov yuqori darajada qolmoqda.

  • Tasdiqlash holati: Tasdiqlanmagan
  • Jalb etish (ER): Auditoriya o‘rtacha 17.50% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 11.82% ini tashkil etuvchi reaksiyalarni to‘playdi.
  • Post qamrovi: Har bir post o‘rtacha 7 525 marta ko‘riladi; birinchi sutkada odatda 5 080 ta ko‘rish yig‘iladi.
  • Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 16 ta reaksiya keladi.
  • Tematik yo‘nalishlar: Kontent аналитика, sql, данными, datalens, csv kabi asosiy mavzularga jamlangan.

📝 Tavsif va kontent siyosati

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

Yuqori yangilanish chastotasi (oxirgi ma’lumot 03 Iyul, 2026 da olingan) sababli kanal doimo dolzarb va katta qamrovli bo‘lib qoladi. Analitika auditoriya kontent bilan faol hamkorlik qilishini, uni Texnologiyalar & Aralashmalar toifasidagi muhim ta’sir nuqtasiga aylantirishini ko‘rsatadi.

42 976
Obunachilar
-1724 soatlar
-1267 kunlar
-69830 kunlar
Postlar arxiv
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.