Первая ячейка: Python прямо в браузере
Чему научишься
- запускать Python прямо на странице урока — ничего не устанавливая
- заводить переменные и читать код построчно: строка → что сделал Python → что стало в памяти
- печатать результат командой
print - считать оборот, и остаток — и честно называть числа своими именами
Инструмент дознавателя
SQL достаёт данные из базы. Python помогает обрабатывать их дальше: склеивать таблицы, считать метрики, рисовать графики, искать аномалии. Часть этого умеет и сам SQL — инструменты пересекаются, и это нормально.
Здесь Python работает прямо в браузере: код исполняется на той же машине, где открыта эта страница. Ничего устанавливать не нужно.
В моём архиве завёлся медведь. Панда, если точнее. Привыкай — она будет таскать тебе таблицы. Но не сегодня. — КВЕРИ

В этом уроке мы возьмём за основу три вещи: переменные, арифметику и print. Всё остальное — списки, циклы, устройство функций — в главе 2, и не раньше, чем эти три станут привычными.
Читать код будем по одной схеме, и её стоит запомнить:
строка кода → что сделал Python → что стало в памяти → что напечаталось
Начнём с ячейки из трёх строк. Нажми Выполнить.
Что произошло, строка за строкой
Python исполняет этот код сверху вниз, по одной строке за раз: выполняет первую строку, затем вторую, потом третью.
Строка 1: orders = 1284
- что сделал Python: запомнил число
1284под именемorders; - что стало в памяти:
orders → 1284; - что напечаталось: ничего. Присваивание само по себе ничего не выводит на экран.
Знак = здесь — не равенство из математики. Читать его можно так: «возьми значение справа и запомни под именем слева». Такое имя, связанное со значением, называется переменной.
Строка 2: print(orders)
- что сделал Python: посмотрел, какое значение сейчас связано с именем
orders, и передал его вprint; - что стало в памяти: ничего не изменилось —
printтолько читает значение; - что напечаталось:
1284.
Строка 3: print('Заказов за 14 марта:', orders)
- что сделал Python: передал в
printдва значения — сначала текст в кавычках, потом значение переменной; - что напечаталось:
Заказов за 14 марта: 1284.
Когда в print передают несколько значений через запятую, по умолчанию между ними появляется пробел.
Про кавычки: текст в кавычках Python воспринимает как текстовое значение, а не как имя переменной. Поэтому print(orders) печатает 1284, а print('orders') напечатал бы слово orders. Это различие важно: без кавычек Python ищет значение переменной, а в кавычках берёт сам текст.
print — команда вывода: всё, что ей передали в скобках, она показывает на экране. Строго говоря, это функция, и что такое функция — в главе 2; пока относись к ней как к кнопке «покажи мне».
И последнее: переменная, созданная в первой строке, уже доступна во всех следующих строках этого запуска. Поэтому сначала можно сохранить исходные данные, а ниже — использовать их в расчётах и выводе результата.
print читает значение и выводит его на экран.Переменная — бирка, а не коробка
Второе присваивание не создало вторую переменную. Оно перевесило бирку orders на новое число:
после строки 1: orders → 1284
после строки 4: orders → 1301 (старое значение потеряно)
После этого через orders уже не добраться до прежнего значения 1284. Если оно ещё нужно, его надо заранее сохранить под другим именем: orders_yesterday = 1284, orders_today = 1301.
Поэтому имена переменных важнее, чем кажется в первый день: a, b, x1 через неделю не расшифрует даже автор, а orders_today читается само. Правила в этом курсе простые: латиница, цифры и подчёркивания; начинать с цифры нельзя; пробелов нет — отсюда avg_check, а не avg check.
Теперь посчитаем что-нибудь осмысленное — и сразу на примере, где легко соврать самому себе.
Оборот — это не выручка
Средний чек — средняя сумма одного заказа. Умножим его на число заказов:
1284 заказа × 730 ₽ = 937 320 ₽
Что это за число? Соблазн назвать его «выручкой» огромен — и он же первая терминологическая ловушка курса.
937 320 ₽ — это оборот, он же GMV (gross merchandise value): суммарная стоимость товаров в заказах, прошедших через площадку. Это не значит, что все 937 320 ₽ стали доходом Котомаркета: основная часть стоимости товаров предназначена продавцам.
Котомаркет — маркетплейс: он не владеет кормом и лежанками, а сводит продавцов с покупателями. Его собственная выручка может складываться из комиссии с заказов, рекламы, платной доставки и других услуг. В нашем упрощённом примере считаем только комиссию. При ставке 12% выручка от комиссии за этот день:
937 320 ₽ × 0.12 ≈ 112 478 ₽
GMV больше комиссионной выручки примерно в 8,3 раза. Перепутать эти числа в отчёте — не оговорка, а другой смысл показателя.
| Число | Что означает | В нашем дне |
|---|---|---|
| Оборот (GMV) | стоимость товаров в заказах | 937 320 ₽ |
| Выручка от комиссии | сколько получила площадка при комиссии 12% | ≈ 112 478 ₽ |
| Прибыль | что осталось от выручки после расходов | ещё меньше, и это отдельный разговор |
У обычного магазина, который продаёт собственный товар, стоимость проданных товаров обычно входит в его выручку целиком. У маркетплейса-посредника GMV и собственная выручка площадки — разные показатели.
Л., запись №8: На совете директоров показали слайд „выручка 2.3 млн в день“. Это был GMV. Комиссия — 280 тысяч, и на неё живёт вся компания. Никто не поправил. Я поправила. Меня попросили не портить настроение.
Арифметика и комментарии
Комментарии. Всё, что стоит после # до конца строки, Python пропускает — это записка для людей. В commission_rate = 0.12 # комиссия площадки, 12% имя переменной говорит, что хранится ставка комиссии, а комментарий поясняет, как читать число 0.12: это 12%. Обе подписи бесплатны и обе спасают через месяц.
Арифметика. Четыре знака покрывают почти всё, что нужно аналитику:
| Знак | Действие | Пример |
|---|---|---|
* | умножение | 1284 * 730 → 937320 |
/ | деление | 75 / 1000 → 0.075 |
+ | сложение | 1284 + 17 → 1301 |
- | вычитание | 200 - 17 → 183 |
Порядок действий обычный, школьный: сначала * и /, потом + и -, скобки главнее всего. (1412 - 41) * 695 и 1412 - 41 * 695 — два очень разных числа.
Вычисление в присваивании. Строка gmv = orders * avg_check работает в два такта: Python сначала считает выражение справа (1284 * 730 → 937320) и только потом вешает бирку gmv на результат. После этой строки gmv хранит уже вычисленное число, а не формулу: если следом изменить orders, значение gmv само не пересчитается.
round(...) округляет число до ближайшего целого: round(112478.4) → 112478.
Три шаблона, которые ты уже знаешь
Пять ячеек — и у тебя в руках три базовых шаблона расчёта:
произведение: gmv = orders * avg_check 'сколько всего'
доля: conversion = buyers / visitors * 100 'какая часть'
остаток: delivered = shipped - lost 'сколько осталось'
В главе 1 эти же операции ещё не раз пригодятся при расчёте метрик — изменятся переменные и смысл чисел.
Теперь задания. Работают они так: ты дописываешь код в ячейке и нажимаешь кнопку — система запустит твой код и проверит результат, а если он не сойдётся, покажет, что именно не так. Ошибиться не страшно: попыток сколько угодно, и подсказка рядом.
0 на формулу и посчитай оборот дня (GMV) в переменную gmv.gmv— оборот за день;revenue— выручку Котомаркета (комиссия с оборота);conversion— конверсию в заказ, в процентах.
Главное из урока
- Python здесь исполняется прямо в браузере — ставить ничего не нужно
- Python читает код сверху вниз;
имя = значениекладёт значение в память под биркой, повторное присваивание бирку перевешивает - присваивание молчит,
print(...)печатает; текст в кавычках печатается буквально, имя без кавычек — своим значением #начинает комментарий; в присваивании сначала считается правая часть, потом результат попадает в переменную- три шаблона расчёта: произведение («сколько всего»), доля («какая часть»), остаток («сколько осталось»)
- оборот (GMV) = заказы × средний чек — это деньги покупателей; выручка маркетплейса — комиссия с оборота, и она в разы меньше
Пролог закрыт. Дальше — глава 1: DAU, , и первое дело из журнала Л.