Прежде чем перейти к описанию инженерных уровней опишем из чего складывается Total Comp, что такое Перфоманс Ревью и как оно влияет на Total Comp
Total Comp складывается из трех компонент: Базовая зарплата + премия + RSU (у работников первого года еще есть бонус за подписание и бонус за релокацию)
Базовая зарплата это то, что сотрудник получает всегда и при любых условиях
Премия - это какой то процент от зарплаты за шесть месяцев, который выдается дополнительно по итогам ревью
RSU - это акции компании, которые выдаются на 4 года, с возможностью забирать 1/16 каждый квартал и делать с ними что захочется (продавать или держать) Период когда акции становятся твоими называется vesting, в момент наступления вестинга удерживается часть акций на оплату налогов, остальные переводятся на счет работника (Во многом поэтому мой последний день в ФБ был 15 ноября)
RSU складываются из начального гранта, который выдается при приеме на работу и refresher - пакета акций который выдается каждый год по результатам двух ревью. Кроме того VP может выдать additional equity
Раз в полгода проходит процедура перфоманс ревью, во время которой собирается calibration package каждого сотрудника и происходит калибровка, где по четырем осям оценивают инженеров одного уровня между собой и в итоге решают, кому какую оценку дать. Делается это коллективом из инженеров более высоких уровней, руководителей оцениваемых инженеров и их начальника, затем это идет на уровень выше и еще выше и выше, но не всегда. Очевидно что директорам и VP нет смысла калибровать E3, но есть смысл калибровать E6
Мне довелось участвовать в калибровках что в Яндексе, что в Фейсбуке
Итоговые оценки бывают следующие
Does not meet expectations - катастрофа, видел такое в Яндексе два раза, один из этих разов поспособствовал получению этой оценки(оценка А по шкале Яндекса на тот момент)
Meets some - очень плохо, премии и рефрешеров нет
Meets most - терпимо, 80% от базовой премии и рефрешеров
Meets all - хорошо, 100% от базовой премии и рефрешеров
Exceeds - очень хорошо, 125% от базовой премии и рефрешеров
Greatly Exceeds - отлично, 200% от базовой премии и рефрешеров
Redefines expectations - невероятно хорошо, 300% от базовой премии и рефрешеров - никогда не видел такое
Кроме того существует коэффициент перфоманса компании, который умножает все это на еще одно число в диапазоне между 0 и 1.5, для Фейсбука это почти всегда было больше 1
Итоговая оценка также влияет на получение повышений, нельзя перейти на следующий уровень получив MA. Также получить EE на 3 уровне и на 8 это две огромные разницы
Обычно на перфоманс ревью уходит 4-6 недель времени почти всего менеджмента компании. Это лучшая из системных процедур что я видел в плане оценки сотрудника, но она отнимает кучу времени. В ФБ с этого года обещают 1 перфоманс ревью в год, но по прежнему два окна для промо - посмотрим как они это реализуют. Возможно дадут больше власти менеджеру?
К слову у нас в Блокчейне запустили перфоманс ревью с этого года, сейчас как раз проходит первый экспериментальный сбор калибровочных пакетов, затем пойдут калибровки
#BigTechLevelsCompensation
Total Comp складывается из трех компонент: Базовая зарплата + премия + RSU (у работников первого года еще есть бонус за подписание и бонус за релокацию)
Базовая зарплата это то, что сотрудник получает всегда и при любых условиях
Премия - это какой то процент от зарплаты за шесть месяцев, который выдается дополнительно по итогам ревью
RSU - это акции компании, которые выдаются на 4 года, с возможностью забирать 1/16 каждый квартал и делать с ними что захочется (продавать или держать) Период когда акции становятся твоими называется vesting, в момент наступления вестинга удерживается часть акций на оплату налогов, остальные переводятся на счет работника (Во многом поэтому мой последний день в ФБ был 15 ноября)
RSU складываются из начального гранта, который выдается при приеме на работу и refresher - пакета акций который выдается каждый год по результатам двух ревью. Кроме того VP может выдать additional equity
Раз в полгода проходит процедура перфоманс ревью, во время которой собирается calibration package каждого сотрудника и происходит калибровка, где по четырем осям оценивают инженеров одного уровня между собой и в итоге решают, кому какую оценку дать. Делается это коллективом из инженеров более высоких уровней, руководителей оцениваемых инженеров и их начальника, затем это идет на уровень выше и еще выше и выше, но не всегда. Очевидно что директорам и VP нет смысла калибровать E3, но есть смысл калибровать E6
Мне довелось участвовать в калибровках что в Яндексе, что в Фейсбуке
Итоговые оценки бывают следующие
Does not meet expectations - катастрофа, видел такое в Яндексе два раза, один из этих разов поспособствовал получению этой оценки(оценка А по шкале Яндекса на тот момент)
Meets some - очень плохо, премии и рефрешеров нет
Meets most - терпимо, 80% от базовой премии и рефрешеров
Meets all - хорошо, 100% от базовой премии и рефрешеров
Exceeds - очень хорошо, 125% от базовой премии и рефрешеров
Greatly Exceeds - отлично, 200% от базовой премии и рефрешеров
Redefines expectations - невероятно хорошо, 300% от базовой премии и рефрешеров - никогда не видел такое
Кроме того существует коэффициент перфоманса компании, который умножает все это на еще одно число в диапазоне между 0 и 1.5, для Фейсбука это почти всегда было больше 1
Итоговая оценка также влияет на получение повышений, нельзя перейти на следующий уровень получив MA. Также получить EE на 3 уровне и на 8 это две огромные разницы
Обычно на перфоманс ревью уходит 4-6 недель времени почти всего менеджмента компании. Это лучшая из системных процедур что я видел в плане оценки сотрудника, но она отнимает кучу времени. В ФБ с этого года обещают 1 перфоманс ревью в год, но по прежнему два окна для промо - посмотрим как они это реализуют. Возможно дадут больше власти менеджеру?
К слову у нас в Блокчейне запустили перфоманс ревью с этого года, сейчас как раз проходит первый экспериментальный сбор калибровочных пакетов, затем пойдут калибровки
#BigTechLevelsCompensation
👍25❤1
This media is not supported in your browser
VIEW IN TELEGRAM
В субботу снимали промо для запуска нового проекта
👍5😁3💩3💅1
Пожалуй последнее что нужно знать перед детальным описанием левелов, это то, что единого стандарта пока что нет. В целом стараются придерживаться линейки ФБ/Гугла, но например 4 уровень в Apple это 5 в ФБ/Гугле, но Staff Eng в Linkedin это 5 уровень в фб и 4 в Apple.
#BigTechLevelsCompensation
#BigTechLevelsCompensation
👍2
В среду у меня новый кандидат.
Закончил прикладную математику в университете в Калифорнии, Master of Science in Data Science из Универа Чикаго.
В резюме пишет что знает PySpark, Tensorflow, PyTorch (работал с Databricks), A/B тесты и Model Deployment (Flask) !
Очень интересно посмотреть правда ли это так, надеюсь что да
Закончил прикладную математику в университете в Калифорнии, Master of Science in Data Science из Универа Чикаго.
В резюме пишет что знает PySpark, Tensorflow, PyTorch (работал с Databricks), A/B тесты и Model Deployment (Flask) !
Очень интересно посмотреть правда ли это так, надеюсь что да
В среду в ФизТехе веду семинар у магистрантов Кафедры Промышленного Анализа Данных Х5 по ML System Design
Я подготовил две сложных темы, поэтому и отвечать на них будут преподаватели:
Principal Engineer из OLX, Berlin
Руководитель Направления Машинного Обучения из Х5, Москва
Думаю получится интересно
Я подготовил две сложных темы, поэтому и отвечать на них будут преподаватели:
Principal Engineer из OLX, Berlin
Руководитель Направления Машинного Обучения из Х5, Москва
Думаю получится интересно
👍5
Начнем по порядку. Е3 - иначе именуемый джуниором.
Примерная компенсация (берем США за точку отсчета)
Базовая зарплата - 110 - 140 тысяч долларов в год
Бонус - 5% от этого в год
Initial grant ±150 тысяч долларов
Refresher ~ 30 тысяч долларов в год
Может быть бонус за подписание от 30 до 100 тысяч долларов
Total Comp порядка 170-200 тысяч долларов в год, без учета бонуса за подписание
Что ожидается от E3?
Способность решать отдельные задачи независимо и с небольшой поддержкой, опираясь на собственную оценку и умение решать проблемы. Находить ответы на вопросы и решать возможные неполадки в разумное время, обычно за несколько дней
Способность решать все более сложные задачи. Желание и готовность искать новую работы, если текущие задачи решены. Желание принимать больше отвественности со временем
Понимание кодовой базы продукта или системы где ты работаешь. Способность предлагать улучшения и дополнения
Большая часть работы выполняется вовремя. Плотное сотрудничество с техлидом/менеджером, чтобы они помогли развить навык эстимации (оценки времени)
Принятие критики и работа над собой после получения конструктивной обратной связи.
Понимание и следование стандартам в фб в области дизайна, разработки, документации, ревью, тестов, анализа и деплоя кода. Демонстрация умений в анализе данных, программировании и SWE. На выходе должен получаться код высокого уровня, покрытый тестами, абстракции и Фреймворки используются когда необходимо
У Е3 есть 24 месяца чтобы стать Е4 - иначе на выход
#BigTechLevelsCompensation
Примерная компенсация (берем США за точку отсчета)
Базовая зарплата - 110 - 140 тысяч долларов в год
Бонус - 5% от этого в год
Initial grant ±150 тысяч долларов
Refresher ~ 30 тысяч долларов в год
Может быть бонус за подписание от 30 до 100 тысяч долларов
Total Comp порядка 170-200 тысяч долларов в год, без учета бонуса за подписание
Что ожидается от E3?
Способность решать отдельные задачи независимо и с небольшой поддержкой, опираясь на собственную оценку и умение решать проблемы. Находить ответы на вопросы и решать возможные неполадки в разумное время, обычно за несколько дней
Способность решать все более сложные задачи. Желание и готовность искать новую работы, если текущие задачи решены. Желание принимать больше отвественности со временем
Понимание кодовой базы продукта или системы где ты работаешь. Способность предлагать улучшения и дополнения
Большая часть работы выполняется вовремя. Плотное сотрудничество с техлидом/менеджером, чтобы они помогли развить навык эстимации (оценки времени)
Принятие критики и работа над собой после получения конструктивной обратной связи.
Понимание и следование стандартам в фб в области дизайна, разработки, документации, ревью, тестов, анализа и деплоя кода. Демонстрация умений в анализе данных, программировании и SWE. На выходе должен получаться код высокого уровня, покрытый тестами, абстракции и Фреймворки используются когда необходимо
У Е3 есть 24 месяца чтобы стать Е4 - иначе на выход
#BigTechLevelsCompensation
👍21❤3
Brexit вносит свои корректировки. Теперь, чтобы привезти сотрудника из Греции или Италии, необходимо делать ему рабочую визу.
Сегодня решили что нанимаем стажера из Италии на 6 месяцев, но он не может работать из Лондона, потому что рабочую визу мы делаем только для Full-time employee.
Впрочем, думаю с полутора медианными зарплатами среднего итальянца он не будет долго горевать, а затем мы его увезем за море
#CoolStory
Сегодня решили что нанимаем стажера из Италии на 6 месяцев, но он не может работать из Лондона, потому что рабочую визу мы делаем только для Full-time employee.
Впрочем, думаю с полутора медианными зарплатами среднего итальянца он не будет долго горевать, а затем мы его увезем за море
#CoolStory
👍5
У трех сотрудников Ковид, один в Аргентине, второй в Лондоне, Третий в Бостоне. У одного вообще нет симптомов, у второго легкие, у третьего средней степени недомогание. Можно через свою команду следить за распространением эпидемии
Недавно я рассказывал про статью 2021 года, Using Synthetic Controls: Feasibility, Data Requirements, and Methodological Aspects
Если задуматься, эта статья тесно связана с методами матчинга , только вместо поиска подходящего матча, мы его создаем
Возникает вопрос, как же подобрать матч? Раньше в моей голове в эти моменты всплывал propensity score
К счастью, недавно я наткнулся на статьи и выступления Gary King, который сейчас директорствует в Гарварде в the Institute for Quantitative Social Science.
Советую ознакомиться с его выступлением Gary King, "Why Propensity Scores Should Not Be Used for Matching"
https://www.youtube.com/watch?v=rBv39pK1iEs&t=3103s
В этом выступлении есть очень интересный слайд, в котором утверждается что если мы проводим Fully Blocked А/В эксперимент, то это снижает стандартную ошибку оценки эффекта на 600%
Что в целом начинает напоминать чем-то стратификацию через множество ковариат
#ArticleReview
Если задуматься, эта статья тесно связана с методами матчинга , только вместо поиска подходящего матча, мы его создаем
Возникает вопрос, как же подобрать матч? Раньше в моей голове в эти моменты всплывал propensity score
К счастью, недавно я наткнулся на статьи и выступления Gary King, который сейчас директорствует в Гарварде в the Institute for Quantitative Social Science.
Советую ознакомиться с его выступлением Gary King, "Why Propensity Scores Should Not Be Used for Matching"
https://www.youtube.com/watch?v=rBv39pK1iEs&t=3103s
В этом выступлении есть очень интересный слайд, в котором утверждается что если мы проводим Fully Blocked А/В эксперимент, то это снижает стандартную ошибку оценки эффекта на 600%
Что в целом начинает напоминать чем-то стратификацию через множество ковариат
#ArticleReview
👍3
Время Валеры
В среду у меня новый кандидат. Закончил прикладную математику в университете в Калифорнии, Master of Science in Data Science из Универа Чикаго. В резюме пишет что знает PySpark, Tensorflow, PyTorch (работал с Databricks), A/B тесты и Model Deployment (Flask)…
Приятное удивление, он понимал о чем говорит. Flask, PySpark, алгоритмы машинного обучения DePaul University в Chicago получает от меня 10 баллов
Е4 - иначе именуемый мидлом.
Примерная компенсация (берем США за точку отсчета)
Базовая зарплата - 140 - 170 тысяч долларов в год
Бонус - 10% от этого в год
Initial grant ±300 тысяч долларов
Refresher ~ 60 тысяч долларов в год
Может быть бонус за подписание от 50 до 100 тысяч долларов
Total Comp порядка 250-300 тысяч долларов в год, без учета бонуса за подписание
Что ожидается от E4?
Все тоже, что требуется от Е3 плюс:
Способность деливерить средние и большие фичи, включающие множество задач, самостоятельно
Умение поддерживать собственную продуктивность
Демонстрация strong software engineering skills. Проектирование и написание хорошо структурированного кода. Способность идентифицировать код, требующий улучшений. Если трогаешь какой то кусок кода, после тебя он лучше, чем до тебя, включая миграцию на новые фреймворки и доп тесты
Умение доводить проекты до конца работая, с другими командами ( продакты, дизайн, продакшн инженеры) и понимание как организовывать вещи для запуска различных релизов
У Е4 есть 33 месяца чтобы стать Е5 - иначе на выход
#BigTechLevelsCompensation
Примерная компенсация (берем США за точку отсчета)
Базовая зарплата - 140 - 170 тысяч долларов в год
Бонус - 10% от этого в год
Initial grant ±300 тысяч долларов
Refresher ~ 60 тысяч долларов в год
Может быть бонус за подписание от 50 до 100 тысяч долларов
Total Comp порядка 250-300 тысяч долларов в год, без учета бонуса за подписание
Что ожидается от E4?
Все тоже, что требуется от Е3 плюс:
Способность деливерить средние и большие фичи, включающие множество задач, самостоятельно
Умение поддерживать собственную продуктивность
Демонстрация strong software engineering skills. Проектирование и написание хорошо структурированного кода. Способность идентифицировать код, требующий улучшений. Если трогаешь какой то кусок кода, после тебя он лучше, чем до тебя, включая миграцию на новые фреймворки и доп тесты
Умение доводить проекты до конца работая, с другими командами ( продакты, дизайн, продакшн инженеры) и понимание как организовывать вещи для запуска различных релизов
У Е4 есть 33 месяца чтобы стать Е5 - иначе на выход
#BigTechLevelsCompensation
👍19❤3
Сегодня я начну цикл из трех историй про собеседования в Яндекс трех разных людей. Двое из троих получили офер, но никого из них это не обрадовало.
Для меня очень обидно было слышать эти истории, ведь на протяжении четырех лет я был Яндексоидом, испытываю максимально теплые чувства к этой компании и зачастую ставил процессы в Яндексе в пример другим
Все события произошли во второй половине 2021 года
Начнем мы с истории некоего В.
Итак, В. написал его давний приятель, который на тот момент был Yandex Fellow. Он спросил В., собирается ли тот возвращаться в Россию, ведь у него есть интересное предложение в крупную структуру внутри Яндекса, возглавить ее команду аналитики и ML. В. был непрочь пообщаться с Яндексом, позиция была довольно интересной и привлекательной.
В. назначили встречу с потенциальным руководителем, а затем с рядом других людей. Все это были люди внутри Яндекса весьма известные, а один из этих людей даже находился на этой странице https://yandex.ru/company/people
По субъективной оценке В., он довольно неплохо прошел все этапы, но в реальности из всех этапов только один был заполнен во внутренней системе Яндекса, Фемиде и тот бы отмечен успешно.
Затем В. предложили порешать гномиков, то есть пройти техническое собеседование. Для Разработчиков это называется АА секция, для аналитиков совсем недавно ввели ААА секцию.
В. стоически прошел и через этот этап, ведь навык решения гномиков - первейший при управлении командой в 100+ человек. Впереди маячила секция по статам, но ее отменили из-за отпуска собеседующего, новую не назначили. В. Написал потенциальному руководителю, как так? Тот ответил:
- Секцию по статам отменили т.к. мы решили, что у нас и без неё будет достаточно информации про твои hard skills (которые на хорошем уровне).
- В целом мы провели достаточно секций. Больше, думаю, не потребуется. Нам будет нужно некоторое время чтобы внутри себя понять что и когда мы хотим предложить.
Спустя какое-то время к В. действительно пришли и сообщили:
- Простите, что давно не возвращалась к вам:
- Вы, возможно, уже знаете, что роль аналитика, на которую мы вас рассматривали, отменилась. Ребята поняли, что им не нужен фултайм-сотрудник на эту роль.
В. Не знал этого, ровно как и не знал того, что это была роль аналитик, все это время он думал что это руководитель аналитики. Но тут его успокоили и сказали что аналитик это для простоты, как кодовое название
Через пару дней В. cнова написали
- Будете ли вы открыты поговорить со мной и моей старшей коллегой в зум? Мы поняли, что из-за спешки мы в начале знакомства не поговорили обстоятельно про ваши ожидания и пожелания
Если бы не история, которая произошла в Яндексе с двумя другими людьми до этого, В. бы удивился, но В. знал эти истории и не удивился
В. поговорил и ему сказали что сейчас пройдет ревью и будет конкретика, к нему вернутся, а предыдущую роль разорвали на много маленьких кусочков, примерно то чего боялся медведь Балу в Маугли.
Через несколько недель В. с удивлением заметил, что его потенциальный руководитель покинул Яндекс. Тут то он все и смекнул
На этом история не закончилась, прошло несколько недель и В. написали
- Привет, я из команды подбора топов Яндекса и веду поиски на финтех
- Мы сейчас ищем большого хеда на всю аналитику финтеха
В. оперативно пообщался в тот же день, но когда ему сообщили что ищут человека который сможет управлять большой командой и обладать тех. навыками и что такого найти сложно и нужно будет пройти специальные секции, он слегка взволновано спросил.
- ААА секцию?
- Да, ААА секцию
На что В. cпросил, смотрели ли его Фемиду до встречи, на что ему сказали что не смотрели. В. Удивился и попросил собрать все с Фемиды и затем обсудить детали. Надо ли говорить что к В. не вернулись, а на Фемиде ничего не обновилось?
В. не до конца понял что произошло, в чем же проблема? В нем, в секциях, в вакансии, в Яндексе? Вроде бы и рекрутер вернулся с чем-то положительным и его начальник, и причины понятны, почему эта вакансия пропала. Но все это оставило странное послевкусие
Для меня очень обидно было слышать эти истории, ведь на протяжении четырех лет я был Яндексоидом, испытываю максимально теплые чувства к этой компании и зачастую ставил процессы в Яндексе в пример другим
Все события произошли во второй половине 2021 года
Начнем мы с истории некоего В.
Итак, В. написал его давний приятель, который на тот момент был Yandex Fellow. Он спросил В., собирается ли тот возвращаться в Россию, ведь у него есть интересное предложение в крупную структуру внутри Яндекса, возглавить ее команду аналитики и ML. В. был непрочь пообщаться с Яндексом, позиция была довольно интересной и привлекательной.
В. назначили встречу с потенциальным руководителем, а затем с рядом других людей. Все это были люди внутри Яндекса весьма известные, а один из этих людей даже находился на этой странице https://yandex.ru/company/people
По субъективной оценке В., он довольно неплохо прошел все этапы, но в реальности из всех этапов только один был заполнен во внутренней системе Яндекса, Фемиде и тот бы отмечен успешно.
Затем В. предложили порешать гномиков, то есть пройти техническое собеседование. Для Разработчиков это называется АА секция, для аналитиков совсем недавно ввели ААА секцию.
В. стоически прошел и через этот этап, ведь навык решения гномиков - первейший при управлении командой в 100+ человек. Впереди маячила секция по статам, но ее отменили из-за отпуска собеседующего, новую не назначили. В. Написал потенциальному руководителю, как так? Тот ответил:
- Секцию по статам отменили т.к. мы решили, что у нас и без неё будет достаточно информации про твои hard skills (которые на хорошем уровне).
- В целом мы провели достаточно секций. Больше, думаю, не потребуется. Нам будет нужно некоторое время чтобы внутри себя понять что и когда мы хотим предложить.
Спустя какое-то время к В. действительно пришли и сообщили:
- Простите, что давно не возвращалась к вам:
- Вы, возможно, уже знаете, что роль аналитика, на которую мы вас рассматривали, отменилась. Ребята поняли, что им не нужен фултайм-сотрудник на эту роль.
В. Не знал этого, ровно как и не знал того, что это была роль аналитик, все это время он думал что это руководитель аналитики. Но тут его успокоили и сказали что аналитик это для простоты, как кодовое название
Через пару дней В. cнова написали
- Будете ли вы открыты поговорить со мной и моей старшей коллегой в зум? Мы поняли, что из-за спешки мы в начале знакомства не поговорили обстоятельно про ваши ожидания и пожелания
Если бы не история, которая произошла в Яндексе с двумя другими людьми до этого, В. бы удивился, но В. знал эти истории и не удивился
В. поговорил и ему сказали что сейчас пройдет ревью и будет конкретика, к нему вернутся, а предыдущую роль разорвали на много маленьких кусочков, примерно то чего боялся медведь Балу в Маугли.
Через несколько недель В. с удивлением заметил, что его потенциальный руководитель покинул Яндекс. Тут то он все и смекнул
На этом история не закончилась, прошло несколько недель и В. написали
- Привет, я из команды подбора топов Яндекса и веду поиски на финтех
- Мы сейчас ищем большого хеда на всю аналитику финтеха
В. оперативно пообщался в тот же день, но когда ему сообщили что ищут человека который сможет управлять большой командой и обладать тех. навыками и что такого найти сложно и нужно будет пройти специальные секции, он слегка взволновано спросил.
- ААА секцию?
- Да, ААА секцию
На что В. cпросил, смотрели ли его Фемиду до встречи, на что ему сказали что не смотрели. В. Удивился и попросил собрать все с Фемиды и затем обсудить детали. Надо ли говорить что к В. не вернулись, а на Фемиде ничего не обновилось?
В. не до конца понял что произошло, в чем же проблема? В нем, в секциях, в вакансии, в Яндексе? Вроде бы и рекрутер вернулся с чем-то положительным и его начальник, и причины понятны, почему эта вакансия пропала. Но все это оставило странное послевкусие
👍22❤2
👍6
В качалках Лондона вес на блоке обычно заканчивается на отметке в 200 фунтов
В Москве, в пацанской качалке на районе был найден правильный блок с правильным весом в 310 фунтов
Я не мог не воспользоваться возможностью полетать на нем. Полет приложу в комменте
В Москве, в пацанской качалке на районе был найден правильный блок с правильным весом в 310 фунтов
Я не мог не воспользоваться возможностью полетать на нем. Полет приложу в комменте
👍7
Сколько себя помню, каждый раз когда я пересекался с маркетологами дольше получаса, постоянно поднималась проблема аллокации маркетингового бюджета и вопрос про инкремент.
Например, почти два года назад во время ужина, тогдашний и нынешний маркетинговый директор Е-Аптеки, Наталья, задавала мне этот вопрос, надеясь что я смогу ей как то помочь. Я ей что-то напредлагал через causal impact, но особо мы ничего не сделали. Проблема аллокации настолько классическая, что есть даже избитая цитата: Half the money I spend on advertising is wasted; the trouble is I don’t know which half.
К слову, раньше ужины с Натальей мне нравились гораздо больше, ведь она была директором по маркетингу Тануки с 50% скидочной картой
Как альтернатива решения этой задачи в моей голове всегда лежала статья 2019 от чуваков из Alibaba - A Unified Framework for Marketing Budget Allocation
Недавно я наткнулся на гораздо более многообещающую и в тоже время простую штуку, которая называется MMM Robyn, выпущенная компанией Meta (aka Facebook)
https://facebookexperimental.github.io/Robyn/
К сожалению МММ означает всего лишь Marketing Mix Modeling
Попробуем разобраться что же под капотом из зачем нужен Robyn
Если взять максимальный уровень абстракции сверху - загоняем в модель данные на какой канал сколько денег потратили, сколько с него пришло пользователей и сопутствующую информацию, умная машина говорит нам что делать
Попробуем пойти чуть глубже и начнем с данных
Зависимая переменная - метрика которая нас интересует, KPI - например продажи или GMV
Независимые переменные - признаки, которые влияют на зависимую переменную: медиа маркетинг, Non-media marketing(промо, скидки), сезонность (выходные, праздники, погода и тп.), макроэкономические факторы и многое многое другое
Подробнее о данных
Медиа активность:
Цифровые каналы - идеально количество impressions, не клики, так как показы имеют накопительный эффект и тоже могут привести к конверсиям без клика
Для Радио и ТВ Gross Rating Points (GRPs) или Target Audience Rating Points (TARPs).
Для печати - количество подписчиков/проданных единиц
Учитывать ли органику? Обычно советует включать только платный трафик, теоретически можно включить и органику
Non-media marketing:
Бинарный флаг, означающий наличие или отсутствие определенного типа промо - стоит подумать над регулярностью и какие промо заслуживают своего собственного флага
Временной ряд стоимости товаров/услуг
Сезонность и праздники:
Robyn предлагает использовать для выделения этих компонент встроенный prophet
Либо считать самостоятельно и указывать дополнительными бинарными флагами различные праздники, также можно использовать температуру для явного разделения сезонов (лето/зима)
Макроэкономика:
ВВП, безработица, инфляция, в наших реалиях, наверняка курс валюты
#ArticleReview Robyn 1/8
Например, почти два года назад во время ужина, тогдашний и нынешний маркетинговый директор Е-Аптеки, Наталья, задавала мне этот вопрос, надеясь что я смогу ей как то помочь. Я ей что-то напредлагал через causal impact, но особо мы ничего не сделали. Проблема аллокации настолько классическая, что есть даже избитая цитата: Half the money I spend on advertising is wasted; the trouble is I don’t know which half.
К слову, раньше ужины с Натальей мне нравились гораздо больше, ведь она была директором по маркетингу Тануки с 50% скидочной картой
Как альтернатива решения этой задачи в моей голове всегда лежала статья 2019 от чуваков из Alibaba - A Unified Framework for Marketing Budget Allocation
Недавно я наткнулся на гораздо более многообещающую и в тоже время простую штуку, которая называется MMM Robyn, выпущенная компанией Meta (aka Facebook)
https://facebookexperimental.github.io/Robyn/
К сожалению МММ означает всего лишь Marketing Mix Modeling
Попробуем разобраться что же под капотом из зачем нужен Robyn
Если взять максимальный уровень абстракции сверху - загоняем в модель данные на какой канал сколько денег потратили, сколько с него пришло пользователей и сопутствующую информацию, умная машина говорит нам что делать
Попробуем пойти чуть глубже и начнем с данных
Зависимая переменная - метрика которая нас интересует, KPI - например продажи или GMV
Независимые переменные - признаки, которые влияют на зависимую переменную: медиа маркетинг, Non-media marketing(промо, скидки), сезонность (выходные, праздники, погода и тп.), макроэкономические факторы и многое многое другое
Подробнее о данных
Медиа активность:
Цифровые каналы - идеально количество impressions, не клики, так как показы имеют накопительный эффект и тоже могут привести к конверсиям без клика
Для Радио и ТВ Gross Rating Points (GRPs) или Target Audience Rating Points (TARPs).
Для печати - количество подписчиков/проданных единиц
Учитывать ли органику? Обычно советует включать только платный трафик, теоретически можно включить и органику
Non-media marketing:
Бинарный флаг, означающий наличие или отсутствие определенного типа промо - стоит подумать над регулярностью и какие промо заслуживают своего собственного флага
Временной ряд стоимости товаров/услуг
Сезонность и праздники:
Robyn предлагает использовать для выделения этих компонент встроенный prophet
Либо считать самостоятельно и указывать дополнительными бинарными флагами различные праздники, также можно использовать температуру для явного разделения сезонов (лето/зима)
Макроэкономика:
ВВП, безработица, инфляция, в наших реалиях, наверняка курс валюты
#ArticleReview Robyn 1/8
facebookexperimental.github.io
Robyn
Our mission is to democratise modeling knowledge, inspire the industry through innovation, reduce human bias in the modeling process & build a strong open source marketing science community.
👍17❤6
Сколько данных нужно? Минимум два года при недельной гранулярности. Лучше иметь дневную гранулярность
Кроме гранулярности во времени, мы бы хотели иметь гранулярность по переменным, как пример приводится следующая картинка
#ArticleReview Robyn 2/8
Кроме гранулярности во времени, мы бы хотели иметь гранулярность по переменным, как пример приводится следующая картинка
#ArticleReview Robyn 2/8
👍1
Какая же библиотека от Фейсбука, без другой библиотеки от Фейсбука, поэтому немного про то, какой функционал добавляет Prophet
Prophet выделяет тренд, сезон, выходные и праздники/спец события
Robyn позволяет использовать окна моделирования разной длины для MMM и для выделения тренда/сезона и прочего через Prophet.
Возникает вопрос, окно какой длины выбирать?
Зависит от многих параметров - например скорость изменения рынка и маркетинговых практик. Скорее всего нет смысл смотреть что было десять лет назад. Что насчет пяти? Двух?
Количество наблюдений на уникальное значение переменной должно бы не менее 10
#ArticleReview Robyn 3/8
Prophet выделяет тренд, сезон, выходные и праздники/спец события
Robyn позволяет использовать окна моделирования разной длины для MMM и для выделения тренда/сезона и прочего через Prophet.
Возникает вопрос, окно какой длины выбирать?
Зависит от многих параметров - например скорость изменения рынка и маркетинговых практик. Скорее всего нет смысл смотреть что было десять лет назад. Что насчет пяти? Двух?
Количество наблюдений на уникальное значение переменной должно бы не менее 10
#ArticleReview Robyn 3/8
В качестве модели выступает регрессия с L2 регуляризацией(Ridge Regression) на зависимую переменную, с рядом ограничений и задачей минимизировать две, а в некоторых случаях три функции потери
Мы можем задать ограничения (constraints) на знак коэффициентов в модели: положительный, отрицательный, никаких ограничений
Независимые переменные делим на три категории и отправляем в модель:
paid_media_vars - собственно реклама, за которую мы платили, к этим переменным еще будут применены различные трансформации, о которых дальше, чтобы оценить эффект насыщения (saturation) и накопления (adstock)
organic_vars - пуши, посты, емейлы. На эти переменные тоже можно наложить трансформации для оценки эффекта насыщения и накопления
context_vars все остальное, активность конкурентов, цены, промо, макроэкономические факторы и тп
Теперь по поводу оценки adstock и saturation
Adstock - скорее всего в реальной жизни реклама имеет не мгновенный, но накопительный эффект, сколько лет прошло, а две мясные котлеты гриль засели в памяти до сих пор
Saturation - каждая следующая единица рекламы начинает приносить меньший эффект, после достижения определенной точки
Для учета Adstock в Робине есть две опции Geometric transformation и Weibull transformation
Первое попроще, использует всего один параметр Тета, но аппроксимирует хуже, второе посложнее и тяжелее объяснить его для нетехнарей, но аппроксимирует лучше. Используется The Weibull survival function
Weibull, как более сложная трансформация требует больше итераций для оптимизации через NeverGrad(о нем позже)
Для Saturation и построения S-curve используют двухпараметрическую функцию Хила (Биохимия входит в нашу жизнь)
#ArticleReview Robyn 4/8
Мы можем задать ограничения (constraints) на знак коэффициентов в модели: положительный, отрицательный, никаких ограничений
Независимые переменные делим на три категории и отправляем в модель:
paid_media_vars - собственно реклама, за которую мы платили, к этим переменным еще будут применены различные трансформации, о которых дальше, чтобы оценить эффект насыщения (saturation) и накопления (adstock)
organic_vars - пуши, посты, емейлы. На эти переменные тоже можно наложить трансформации для оценки эффекта насыщения и накопления
context_vars все остальное, активность конкурентов, цены, промо, макроэкономические факторы и тп
Теперь по поводу оценки adstock и saturation
Adstock - скорее всего в реальной жизни реклама имеет не мгновенный, но накопительный эффект, сколько лет прошло, а две мясные котлеты гриль засели в памяти до сих пор
Saturation - каждая следующая единица рекламы начинает приносить меньший эффект, после достижения определенной точки
Для учета Adstock в Робине есть две опции Geometric transformation и Weibull transformation
Первое попроще, использует всего один параметр Тета, но аппроксимирует хуже, второе посложнее и тяжелее объяснить его для нетехнарей, но аппроксимирует лучше. Используется The Weibull survival function
Weibull, как более сложная трансформация требует больше итераций для оптимизации через NeverGrad(о нем позже)
Для Saturation и построения S-curve используют двухпараметрическую функцию Хила (Биохимия входит в нашу жизнь)
#ArticleReview Robyn 4/8
👍2