Math and Code
2.03K subscribers
1 photo
101 links
• По всем вопросам: @lesha_privet

• Поддержать канал голосом: https://t.me/boost?c=2187172722

• Ссылка для друга: https://t.me/+VZi8XKZsg7s3NmNi
Download Telegram
«Производная, матрицы, теорвер, а где мне это вообще пригодится?» — вопрос, который я в универе слышал чаще любого другого 🤡.

Обычно на него отвечают абстрактно: «математика учит думать». Знакомо? Это правда, я и сам об этом писал, кстати. Но сегодня раскрою эту тему по-другому — на точных примерах рабочих задач.

Возьму базовые темы из вузовской программы и покажу, в какую рабочую задачу превращается каждая из них. Получится небольшой разбор 🔍🌎🔎.



Производная 📁

• В вузе это предел отношения приращений и таблица правил дифференцирования.

• В работе — ответ на вопрос «с какой скоростью меняется метрика».


Классика, когда выручка сервиса растёт, по идее, всё отлично. Но растёт она быстрее или медленнее, чем месяц назад? Замедление роста — это ранний сигнал о проблеме, который приходит тогда, когда абсолютные цифры ещё красивые и все довольны.

Кто заметил замедление первым, тот и нашёл проблему до того, как она стала пожаром. По сути ты смотришь на производную метрики, просто в отчёте её называют «темп роста» ☺️.



Теорвер 📁

• В вузе это задачки про шары и монетки и вендинговые аппараты.

• В работе — почти всё, что связано с решениями в условиях неопределённости.


Классика, когда запустили фичу, конверсия выросла на 2% — это реальный эффект или случайный шум, который завтра рассосётся? Ответ на этот вопрос — это статистическая значимость, и на нём стоят все A/B-тесты.

Я недавно разбирал задачу про антифрод, где «система ловит 99% нарушителей», но банит в основном невиновных — это чистая условная вероятность, на которой горят даже опытные аналитики. Вот так шары и монетки внезапно оказываются деньгами и банами 😁.



Линейная алгебра 📁

• В вузе это матрицы, которые постоянно нужно перемножать.

• В работе — таблица «пользователи × товары» это буквально матрица, в которой: строка — человек, столбец — товар, на пересечении — покупал или нет.


Системы рекомендаций сервисов работают на разложении таких матриц. Правда матрицы более сложные, но это все-таки матрицы. Каждый раз, когда сервис пугающе точно угадывает, что тебе показать, — где-то там перемножились те самые матрицы 🥵.



Статистика 📁

• В вузе это среднее, дисперсия, распределения и немного душности.

• На работе — самый быстрый способ отловить враньё в отчётах или в рекламе.


Классика, когда в вакансии или в каком-то отчёте написано «средняя зарплата в компании 200к». А медианная при этом 90к, потому что несколько топов тянут среднее вверх, и половина людей получает меньше 90к. Одно слово — «средняя» вместо «медианная» — и отчёт рассказывает совсем другую историю. Кто понимает эту разницу, читает такие отчёты насквозь. Кто нет — просто верит написанному 🔨🔨🔨.



И вот главная мысль: в математике нет «бесполезных» тем — есть темы, которые просто еще не раскрылись в твоих рабочих задачах.

Причём заметь, я нигде выше не писал «выучи формулы» и вообще что-либо про них. Формулы забудутся, и это нормально. Останется другое — ты будешь узнавать структуру задачи. Видеть, что вопрос «почему просела конверсия» — это про базу сравнения. Что «правда ли фича сработала» — про отделение эффекта от шума. Что «какой сегмент важнее» — про то, как правильно разрезать данные.

Хорошая вузовская программа кладёт это в голову насовсем, и именно за это платят аналитикам.


Так что если сидишь сейчас над матаном и думаешь «зачем я это делаю» — ответ в этом посте. Эти знания не когда-нибудь пригодятся, а уже сейчас на этих прикладных вещах стоят конкретные рабочие задачи, за которые платят 🤑.



P.S. Сейчас для меня это очевидно, но если честно, учась в универе на прикладной математике, я не сразу это осознал. Было бы здраво, если бы тогда кто-то скинул мне такой пост. Поэтому, если у тебя есть знакомый, который сейчас задаётся похожими вопросами, — перешли ему 👨‍💻.



#статья 📚
Please open Telegram to view this post
VIEW IN TELEGRAM
2214873
Почти каждый день мы видим графики — в новостях, в рекламе, в чьей-то презентации на работе. И по привычке мы им верим: на графике сухие цифры, которые отображают сухие и объективные результаты. На самом деле это практически всегда не так 😤.



Графики обычно стоят на абсолютно честных данных, но всё равно могут привести тебя к неверному выводу. Давайте разберём, как так выходит — и как это замечать. Сначала база:

Чтобы соврать графиком, цифры трогать не обязательно. Числа могут быть настоящими до единого, для пущей объективности можно ещё прикрепить сложные формулы расчётов чисел, на основе которых строился график. Обманывает не сама цифра, а то, как её подали.


Ниже три самых популярных способа 👨‍💻.



🔍Первый способ🔎

Ось, которая начинается не с нуля. Смотри: какой-то показатель вырос на 1,5%. Само по себе — ни о чём. Но если убрать снизу ноль и начать шкалу впритык к «ростовым» значениям, эти 1,5% растянутся на всю высоту картинки и превратятся в крутую гору. Цифры те же, но подсознательный вывод противоположный.

Пример: ровно так в новостях небольшое колебание курса или цен подают как «резкий обвал» или «взлёт», хотя там разница в пару процентов, центов или копеек.



🔍Второй способ🔎

Удобно выбранный период. Тут данные вообще не трогают, просто решают, с какого момента их показать. Если провести понятную аналогию, то она будет такой: это как показывать свои фото только с одного ракурса. Фото настоящее, не обработанное, просто кадр и ракурс были выбраны заранее заинтересованным лицом, так сказать.

Пример: реклама какого-нибудь фонда или монеты: «доходность +40%». А если отмотать чуть левее точки, с которой начали рекламный график, — окажется, что перед этим фонд упал на 60%, и эти «+40%» просто отскок от дна, потому что кто-то решил купить просевший актив. Но подается это как уверенный рост.



🔍Третий способ🔎

Игра с размером картинки. Это любят в инфографике. Допустим, надо показать, что чего-то стало в два раза больше. Честность — это когда отображают столбики, один из которых вдвое выше, но не всегда делают именно так, смотри пример ниже.

Пример: часто столбики заменяют на какую-нибудь иконку, например, логотип компании, а затем при росте в два раза — «ростовую» иконку увеличивают пропорционально и в высоту, и в ширину, чтобы не исказить её. В итоге эта «ростовая» иконка кажется огромной, потому что мозг смотрящего в первую очередь считывает визуальное пятно. Отсюда может сложиться ощущение успешнейшего роста, хотя рядом аккуратно и мелко написано «рост в 2 раза».



И вот здесь главная мысль: график вводит в заблуждение не числами, а оформлением. Ось, масштаб, период, тип диаграммы — это не про красивое отображение. Это про интерпретацию тем, кто этот график будет смотреть. А вот создатель графика, по сути заранее моделирует то, что смотрящий должен почувствовать, ещё до того, как он вчитается в цифры 🤡.



Скажу честно: на мой взгляд, ничего плохого в использовании этих способов — нет. Вопрос скорее в том, для кого такой график строят и в чём цель.

Когда собираешь график для отчёта в большой компании или для своего приложения — в первом случае движение осей или выбор периода может быть основным требованием к графику, а во втором случае — нужна максимальная прозрачность, чтобы понять куда двигать свой продукт.

Лучше просто знать эти базовые способы, чтобы не быть введенным в заблуждение красиво представленными объективными цифрами. Это прям основа основ, но её можно периодически забывать, особенно когда видишь «головокружительный» рост своего приложения или команда отчиталась о стабильном развитии 🌚.



Способов не три, их точно больше. Что тогда с этим делать? Правило простое: когда видишь убедительный график, сначала смотри не на линию, а на оси и подписи. Также, лучше всего задать пару вопросов, если что-то смущает или кажется уж ОЧЕНЬ позитивным:

Ось начинается с нуля или нет?

• За какой период построен график? Почему именно за этот период?

• «Больше на N%» — это относительно чего? Было 1, стало 3 — это тоже +200%.


Пять секунд на эти вопросы — и большая часть манипуляций нейтрализована: хоть в новостях, хоть в рекламе, хоть в отчёте у коллеги 🤯.



В сухом остатке: график — это сильный инструмент, он показывает то, что в таблице на тысячу строк глазами не разглядишь. Но именно поэтому им проще всего манипулировать, порой даже не нарочно. Поэтому читать график стоит как бы с конца: сначала оси, период и масштаб, а уже только потом переходить к самой линии или столбикам 🔨🔨🔨.



P.S. Если у тебя есть знакомый, который верит каждому «резкому росту» из новостей и рекламы, — перешли ему. Пусть в следующий раз сначала глянет на оси и период.



#статья 📚
Please open Telegram to view this post
VIEW IN TELEGRAM
179731
Привет, закидываю второй build-in-public по проекту, который сейчас собираю 🌚.

У меня с понедельника начался отпуск, поэтому я с головой ушел в свои проекты 🫥.

За последние 5 дней я собрал нормальный лендинг проекта и авторизацию 👨‍💻.

Что могу сразу сказать:

• Если вы видите, что кто-то говорит про сборку идеального лендинга с ИИ за 1-2 часа, то это просто фарс.


• Дуров был прав, когда говорил, что начинать собирать проект нужно с авторизации.




Давайте теперь поподробнее:


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


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

Большая часть работы была под капотом: пароли хешируются через Argon2id, сессии работают через защищённую HttpOnly cookie, а от перебора паролей добавлены кулдауны по комбинациям email и IP. Ну и на сессии пользователей сделан TTL, который спустя определенное время разлогинивает пользователя 🤒.



Пока это всё ещё локальный MVP, который лежит у меня в столе: пользователи, сессии и прогресс хранятся в JSON. Потом еще буду переезжать на PostgreSQL отдельно, но это в будущем.

Честно, не знаю правильно это или нет, но выкатывать на первый обзор хочется практически готовую и хорошо собранную версию 🔨.



В общем, отпуск очень продуктивно проходит. Большое спасибо, что читаете ⌨️!



#лайф 🤝🏻
Please open Telegram to view this post
VIEW IN TELEGRAM
20983
Отпуск по классике заставляет задуматься о вещах, которые в обычное загруженное время игнорируются мозгом 😤.



Подумал об одной простой вещи:

Внутренний рост идет непрерывно, а внешний рост, который наблюдают со стороны, происходит обычно резкими скачками.


Например: оффер с зарплатой в 2 раза выше текущей, первый платящий пользователь в твоем сервисе — снаружи между этими этапами тишина, потому что они появляются в моменте.

По аналогии — это как закипание воды: сначала она долго греется до 99°, визуально не меняясь, а закипает только в самый последний момент 😐.



Сложность и проблема периода до 99° в том, что обычно его приходится проходить в одиночку. Это нормально, но иногда морально тяжело. Здраво, когда у вас уже есть сильное комьюнити, но это 100°, если вы поняли о чем я 🔨🔨🔨.



С моим проектом по сути такая же история сейчас:

ℹ️ Сначала шоу-кейсы, чтобы доказать, что я могу собрать просто что-то работающее.

ℹ️ Потом собрал контент-банк, это было очень трудно, некоторые вопросы даже улетали друзьям и коллегам на ревью. Это достижение для меня: обычно я полирую до последнего и никому не показываю, а тут отдал сырое на ревью.

ℹ️ Собрана обертка приложения, прям полностью: весь каркас и логика. Я на днях переехал на PostgreSQL, устранил какое-то дикое количество багов (около 40), которые мне выявил Claude в связке с ChatGPT. Моё ручное тестирование не отлавливало их, потому что баги были куда глубже. В общем, это очень хорошо.

К чему это я — все это движение, это много труда, времени, денег, но результат будет в одном быстром моменте, когда кто-то начнет использовать приложение или когда кто-то оплатит подписку.

Можно это считать обесцениванием своего труда, но на мой взгляд это реальность и ничего плохого в ней нет 🌚.



В общем, двигаемся дальше и посмотрим, что будет. Столкновение моего проекта с реальностью всё ближе и ближе, волнительно 👨‍💻.



P.S. Напишите в комментах, над чем сейчас работаете вы, интересно почитать. Или:

☺️ — тоже на отрезке до 99°.

🍾 — уже кипел, знаю это чувство.

⌨️ — просто лайк.



#лайф 🤝🏻
Please open Telegram to view this post
VIEW IN TELEGRAM
29139