"Контекстная реклама в Avito: что под капотом?"
Вадим Аюев и Андрей Остапец (Avito)
Из этого доклада вы узнаете об основных этапах создания и обучения моделей, на основе которых работает контекстная реклама в Avito: как собираем и готовим данные, обучаем модели, как реализовано тестирование и внедрение.
Python Data Science meetup @ Avito 13.08.2016
"Распознавание марки и модели автомашин на изображениях" Евгений Нижибицкий (...AvitoTech
"Распознавание марки и модели автомобилей по изображениям"
Евгений Нижибицкий (Rambler&Co)
Евгений поделится опытом построения алгоритма классификации изображений автомобилей, который показал наилучший результат в конкурсе.
Python Data Science meetup @ Avito 13.08.2016
"Распознавание категории объявления по изображениям" Артур Кузин (МФТИ)AvitoTech
Победитель первого этапа конкурса Avito-2016 по распознаванию категорий объявлений расскажет о том, как ему удалось добиться этого результата.
Python Data Science meetup @ Avito 13.08.2016
"DeepLink’и в Avito" Артём Разинов (Avito)AvitoTech
Мы активно используем DeepLink’и в наших приложениях, как в push-уведомлениях, так и в ответах от API. В докладе я расскажу о том, как мы обрабатываем DeepLink’и для показа экранов из разных уголков приложения и для невидимых пользователю вещей.
Встреча iOS-разработчиков @ Avito #2 - 24 сентября 2016
"Построение рекомендательной системы на Python" Василий Лексин (Avito)AvitoTech
В своём докладе ведущий аналитик Avito Василий Лексин поделится опытом построения рекомендательной системы для всех general категорий. Из рассказа вы узнаете, как создать такую систему с нуля, в том числе: как подготовить данные, обучить модель и сгенерировать рекомендации.
Python Data Science meetup @ Avito 13.08.2016
Андрей Юткин. Media Picker — to infinity and beyondAvitoTech
Paparazzo - https://github.com/avito-tech/Paparazzo
В своём докладе Андрей поделится опытом разработки собственной камеры и галереи в приложении Avito и расскажет про проблемы, с которыми столкнулся в процессе. Из доклада вы узнаете:
- как реализовать вывод изображения с камеры в нескольких view одновременно
- как оптимизировать работу с памятью при работе с картинками
- как абстрагироваться от источника картинки
- как обработать изображения с помощью фрэймворка ImageIO
- как абстрагироваться от UIKit в слое Presenter архитектуры VIPER
- как работать с изображениями из iCloud и про другие скользкие моменты фрэймворка Photos.
"Распознавание марки и модели автомашин на изображениях" Евгений Нижибицкий (...AvitoTech
"Распознавание марки и модели автомобилей по изображениям"
Евгений Нижибицкий (Rambler&Co)
Евгений поделится опытом построения алгоритма классификации изображений автомобилей, который показал наилучший результат в конкурсе.
Python Data Science meetup @ Avito 13.08.2016
"Распознавание категории объявления по изображениям" Артур Кузин (МФТИ)AvitoTech
Победитель первого этапа конкурса Avito-2016 по распознаванию категорий объявлений расскажет о том, как ему удалось добиться этого результата.
Python Data Science meetup @ Avito 13.08.2016
"DeepLink’и в Avito" Артём Разинов (Avito)AvitoTech
Мы активно используем DeepLink’и в наших приложениях, как в push-уведомлениях, так и в ответах от API. В докладе я расскажу о том, как мы обрабатываем DeepLink’и для показа экранов из разных уголков приложения и для невидимых пользователю вещей.
Встреча iOS-разработчиков @ Avito #2 - 24 сентября 2016
"Построение рекомендательной системы на Python" Василий Лексин (Avito)AvitoTech
В своём докладе ведущий аналитик Avito Василий Лексин поделится опытом построения рекомендательной системы для всех general категорий. Из рассказа вы узнаете, как создать такую систему с нуля, в том числе: как подготовить данные, обучить модель и сгенерировать рекомендации.
Python Data Science meetup @ Avito 13.08.2016
Андрей Юткин. Media Picker — to infinity and beyondAvitoTech
Paparazzo - https://github.com/avito-tech/Paparazzo
В своём докладе Андрей поделится опытом разработки собственной камеры и галереи в приложении Avito и расскажет про проблемы, с которыми столкнулся в процессе. Из доклада вы узнаете:
- как реализовать вывод изображения с камеры в нескольких view одновременно
- как оптимизировать работу с памятью при работе с картинками
- как абстрагироваться от источника картинки
- как обработать изображения с помощью фрэймворка ImageIO
- как абстрагироваться от UIKit в слое Presenter архитектуры VIPER
- как работать с изображениями из iCloud и про другие скользкие моменты фрэймворка Photos.
"Опыт участия в Microsoft Malware Classification Challenge" Михаил Трофимов ...AvitoTech
"Опыт участия в Microsoft Malware Classification Challenge"
Михаил Трофимов (Machine Learning Works)
Из доклада Михаила вы узнаете о технической стороне конкурса: как проанализировать 200GB данных на ноутбуке, какие проблемы возникали в процессе и как их решали.
Python Data Science meetup @ Avito 13.08.2016
“Атличнаи дивчачьи каньки”: исправляем ошибки. Андрей Смирнов (Avito)AvitoTech
Avito каждый день помогает миллионам продавцов и покупателей найти друга несмотря на “языковой барьер”. Из доклада вы узнаете, какие алгоритмы мы используем для нахождения ошибок и опечаток, синонимов и сокр.
SphinxSearch meetup #2 @ Avito, 18.06.2016
"Favicon на стероидах" Александр Амосов (Avito)AvitoTech
Сделать фавиконку вашего сайта информативной и даже добавить простейшую анимацию - эта задача не такая уж и простая, как может показаться на первый взгляд. В своем докладе я расскажу, какие сложности могут возникнуть и какими интересными браузерными API придется воспользоваться, чтобы реализовать эту задачу.
"Basis.js - Production Ready SPA Framework" Сергей Мелюков (Avito)AvitoTech
Basis.js - это мощный фреймворк для создания полноценных SPA приложений. Он давно и активно используется в production, в том числе и в Avito. Цель доклада - рассказать об основных возможностях фреймворка и побудить слушателей попробовать данный фреймворк при создании SPA-приложений.
Мы в Avito не так давно начали использовать Golang, но он уже успел занять важное место в различных частях проекта. В докладе мы расскажем о том, какие задачи нам помогает решать Go, почему выбор пал именно на этот язык, с какими подводными камнями мы столкнулись, и как их обходили. В частности поговорим про:
• Сервисы. Как мы начали использовать Go для разработки микросервисов, как это сказалось на их поддержке, а также отдельно расскажем про “шаблон сервиса”, который мы используем.
• Поиск. Как мы с помощью Go мы реализовали RtIndexer для обновления Sphinx Rt индексов в кластере из множества машин (поиск по активным объявлениям), который устойчиво работает с отставанием не более 10 секунд при нагрузке до 1000 rps.
• Автоматизацию тестирования. Как мы пишем тестовые сервисы и API на Go. Подробней остановимся на использовании общих моделей тел запросов и ответов для отправки и получения, использовании горутин как воркеров для обработки очереди.
«Как 200 строк на Go помогли нам освободить 15 серверов» – Паша Мурзаков (Badoo)AvitoTech
В Badoo я работаю в команде, которая разрабатывает на PHP. Одна из фич, которой мы занимаемся, со временем начала отъедать всё больше и больше железячных ресурсов. В итоге мы едва успевали добавлять серверы под растущую нагрузку. При этом вечера, проведённые с Go дома, подсказывали, что можно сделать на порядки производительнее, не затратив на разработку много времени.
Я расскажу о том, почему наша фича так плохо ложится на PHP и хорошо – на Go, как уговорить всех всё переписать и не показаться сумасшедшим, ну и, конечно же, как из 19 серверов оставить только 4.
Продукт HP Vertica является системой управления базами данных, работающей по принципам массивной параллельной обработки и разработанной специально для хранения и обработки больших объемов данных.
HP Vertica поддерживает язык SQL, стандартные интерфейсы доступа к данным ODBC, JDBC, ADO.NET, а также содержащий множество коннекторов к различным инструментам бизнес-аналитики и анализа данных.
Кластер СУБД HP Vertica состоит из узлов стандартной архитектуры x86, объединенных сетевым соединением. Все узлы кластера являются равноценными, любой из узлов кластера может принимать и обслуживать запросы пользователей, а также выполнять загрузку данных.
"Building data streams" Константин Евтеев (Avito)AvitoTech
С ростом объема данных, количества пользователей и, как следствие, ростом нагрузки, возникает вопрос о масштабируемой архитектуре и распределении нагрузки, сохраняя при этом консистентность данных и отказоустойчивость системы. В своем докладе я расскажу, как мы решаем эти вопросы в Avito. Речь пойдет о реализации отдельных компонентов мета-шаблона Lambda Architecture с помощью PGQ и Londiste:
1. Работа с разными моделями данных: для обновления и чтения информации.
2. Batch and stream processing, обрабатывающий 1000 событий в секунду.
3. Инициализация и поддержка remote aggregates data sources.
4. Сохранение консистентности данных.
5. Восстановление при авариях и др.
От больших к очень большим данным — зачем нужна нормализация в Big Data / Гол...Ontico
Спроектировать хранилище данных, казалось бы, не сложно.
Собрать требования -> построить модель данных -> реализовать ETL.
Но проходит год-два, и рост объема данных, и, главное, рост сложности данных приводит хранилище на грань работоспособности.
В докладе будет проиллюстрировано, как Big Data хранилище Авито экспоненциально увеличивалось в размерах данных и сложности их взаимосвязей вместе с ростом объема и сложности бизнеса компании, сохраняя скорость выполнения запросов.
Будет обосновано, почему следование ограничениям 6-й нормальной формы (Anchor Modeling) помогает не утонуть в новых данных и успешно масштабировать нагрузку в условиях MPP СУБД.
В качестве финального штриха будет рассказано, как высоконормализованная модель данных Anchor Modeling позволяет малыми усилиями сделать шаг за пределы СУБД к хранению части данных в виде (ORC) файлов в распределенной файловой системе (HDFS) к сохранению для пользователей возможности работать со всеми данными посредством (почти) обычного SQL (без Hive).
"Икскод, джейсон, два скетча" Олег Фролов (Avito)AvitoTech
Дизайнер Avito и автор плагинов для Sketch расскажет о том, как интегрировать воркфлоу дизайнера и разработчика с помощью UIKit’a и прототипировать интерфейсы в нативной среде.
Встреча iOS-разработчиков @ Avito #2 - 24 сентября 2016
"О некоторых особенностях Objective-C++" Влад Михайленко (Maps.Me)AvitoTech
В своём докладе Влад будет говорить об использовании STL, управлении памятью, как работает ARC и C++, лямбды и блоки. И самое главное: где и как можно «выстрелить себе в ногу».
"Marshroute: удобный и расширяемый роутинг в iOS-приложении" Тимур Юсипов (Av...AvitoTech
В своём докладе я расскажу о подходе к построению навигации в больших приложениях на примере демо-проекта, приближенного по архитектуре к приложению Avito. Данная архитектура позволяет поддерживать DeepLink’и и iPad в существующем приложении, показывать плашки Push-уведомлений в верхнем видимом модуле, совершать переходы из верхнего видимого модуля, вызванные корневым модулем приложения, а также централизовано управлять анимацией переходов. Разработанная нами навигация оборачивает UIKit для совершения переходов в засахаренном и декларативном стиле. Использование этой системы позволило снизить связанность кода для повышения его переиспользуемости и тестируемости, а также выработать общие стандарты к построению стека навигации.
Встреча iOS-разработчиков @ Avito #2 - 24 сентября 2016
Badoo — это большая социальная сеть с более чем 180 млн. пользователей. Большинство новых фич в нашей компании мы предварительно оцениваем посредством A/B тестирования. Вот уже примерно год мы используем собственный высоконагруженный фреймворк тестирования, при этом по моему мнению он очень прост, понятен, и не требует огромных ресурсов на разработку и поддержку. В докладе я расскажу вам о том, почему мы пришли к собственному решению, его архитектуру и принципы работы. Я уверен, каждый из вас может сделать что-то подобное для своего проекта и начать принимать более обоснованные решения.
Тезисы:
* Как мы раньше тестировали
* Почему мы сделали свой инструмент
* Архитектура: API, граф. интерфейсы, транспорт, скрипты, БД
* Структура теста
* Основные правила А/Б тестирования
* Оценка результатов, примеры отчетов
* И заключительная часть про то, что от человека с головой полностью не избавиться
Для кого доклад:
Для разработчиков и техн. менеджеров соц. сетей, сайтов объявлений, блогов с рассылками, проектов, продающих что-то через e-mail расслыки, разных коммьюнити-сайтов, банков и вообще проектов, где взаимодействие с каждым клиентом долгосрочное.
Сложность:
Несмотря на то, что конференция называется Highload++, я уверяю, что представленную здесь архитектуру может потянуть проект с посещаемостью в 1000 чел в день и тремя программистами в штате. Закодить все, что здесь рассказано на PHP займет меньше недели одного человека. А результат, между прочим, пожно вполне изменрять в живой прибыли.
"Опыт участия в Microsoft Malware Classification Challenge" Михаил Трофимов ...AvitoTech
"Опыт участия в Microsoft Malware Classification Challenge"
Михаил Трофимов (Machine Learning Works)
Из доклада Михаила вы узнаете о технической стороне конкурса: как проанализировать 200GB данных на ноутбуке, какие проблемы возникали в процессе и как их решали.
Python Data Science meetup @ Avito 13.08.2016
“Атличнаи дивчачьи каньки”: исправляем ошибки. Андрей Смирнов (Avito)AvitoTech
Avito каждый день помогает миллионам продавцов и покупателей найти друга несмотря на “языковой барьер”. Из доклада вы узнаете, какие алгоритмы мы используем для нахождения ошибок и опечаток, синонимов и сокр.
SphinxSearch meetup #2 @ Avito, 18.06.2016
"Favicon на стероидах" Александр Амосов (Avito)AvitoTech
Сделать фавиконку вашего сайта информативной и даже добавить простейшую анимацию - эта задача не такая уж и простая, как может показаться на первый взгляд. В своем докладе я расскажу, какие сложности могут возникнуть и какими интересными браузерными API придется воспользоваться, чтобы реализовать эту задачу.
"Basis.js - Production Ready SPA Framework" Сергей Мелюков (Avito)AvitoTech
Basis.js - это мощный фреймворк для создания полноценных SPA приложений. Он давно и активно используется в production, в том числе и в Avito. Цель доклада - рассказать об основных возможностях фреймворка и побудить слушателей попробовать данный фреймворк при создании SPA-приложений.
Мы в Avito не так давно начали использовать Golang, но он уже успел занять важное место в различных частях проекта. В докладе мы расскажем о том, какие задачи нам помогает решать Go, почему выбор пал именно на этот язык, с какими подводными камнями мы столкнулись, и как их обходили. В частности поговорим про:
• Сервисы. Как мы начали использовать Go для разработки микросервисов, как это сказалось на их поддержке, а также отдельно расскажем про “шаблон сервиса”, который мы используем.
• Поиск. Как мы с помощью Go мы реализовали RtIndexer для обновления Sphinx Rt индексов в кластере из множества машин (поиск по активным объявлениям), который устойчиво работает с отставанием не более 10 секунд при нагрузке до 1000 rps.
• Автоматизацию тестирования. Как мы пишем тестовые сервисы и API на Go. Подробней остановимся на использовании общих моделей тел запросов и ответов для отправки и получения, использовании горутин как воркеров для обработки очереди.
«Как 200 строк на Go помогли нам освободить 15 серверов» – Паша Мурзаков (Badoo)AvitoTech
В Badoo я работаю в команде, которая разрабатывает на PHP. Одна из фич, которой мы занимаемся, со временем начала отъедать всё больше и больше железячных ресурсов. В итоге мы едва успевали добавлять серверы под растущую нагрузку. При этом вечера, проведённые с Go дома, подсказывали, что можно сделать на порядки производительнее, не затратив на разработку много времени.
Я расскажу о том, почему наша фича так плохо ложится на PHP и хорошо – на Go, как уговорить всех всё переписать и не показаться сумасшедшим, ну и, конечно же, как из 19 серверов оставить только 4.
Продукт HP Vertica является системой управления базами данных, работающей по принципам массивной параллельной обработки и разработанной специально для хранения и обработки больших объемов данных.
HP Vertica поддерживает язык SQL, стандартные интерфейсы доступа к данным ODBC, JDBC, ADO.NET, а также содержащий множество коннекторов к различным инструментам бизнес-аналитики и анализа данных.
Кластер СУБД HP Vertica состоит из узлов стандартной архитектуры x86, объединенных сетевым соединением. Все узлы кластера являются равноценными, любой из узлов кластера может принимать и обслуживать запросы пользователей, а также выполнять загрузку данных.
"Building data streams" Константин Евтеев (Avito)AvitoTech
С ростом объема данных, количества пользователей и, как следствие, ростом нагрузки, возникает вопрос о масштабируемой архитектуре и распределении нагрузки, сохраняя при этом консистентность данных и отказоустойчивость системы. В своем докладе я расскажу, как мы решаем эти вопросы в Avito. Речь пойдет о реализации отдельных компонентов мета-шаблона Lambda Architecture с помощью PGQ и Londiste:
1. Работа с разными моделями данных: для обновления и чтения информации.
2. Batch and stream processing, обрабатывающий 1000 событий в секунду.
3. Инициализация и поддержка remote aggregates data sources.
4. Сохранение консистентности данных.
5. Восстановление при авариях и др.
От больших к очень большим данным — зачем нужна нормализация в Big Data / Гол...Ontico
Спроектировать хранилище данных, казалось бы, не сложно.
Собрать требования -> построить модель данных -> реализовать ETL.
Но проходит год-два, и рост объема данных, и, главное, рост сложности данных приводит хранилище на грань работоспособности.
В докладе будет проиллюстрировано, как Big Data хранилище Авито экспоненциально увеличивалось в размерах данных и сложности их взаимосвязей вместе с ростом объема и сложности бизнеса компании, сохраняя скорость выполнения запросов.
Будет обосновано, почему следование ограничениям 6-й нормальной формы (Anchor Modeling) помогает не утонуть в новых данных и успешно масштабировать нагрузку в условиях MPP СУБД.
В качестве финального штриха будет рассказано, как высоконормализованная модель данных Anchor Modeling позволяет малыми усилиями сделать шаг за пределы СУБД к хранению части данных в виде (ORC) файлов в распределенной файловой системе (HDFS) к сохранению для пользователей возможности работать со всеми данными посредством (почти) обычного SQL (без Hive).
"Икскод, джейсон, два скетча" Олег Фролов (Avito)AvitoTech
Дизайнер Avito и автор плагинов для Sketch расскажет о том, как интегрировать воркфлоу дизайнера и разработчика с помощью UIKit’a и прототипировать интерфейсы в нативной среде.
Встреча iOS-разработчиков @ Avito #2 - 24 сентября 2016
"О некоторых особенностях Objective-C++" Влад Михайленко (Maps.Me)AvitoTech
В своём докладе Влад будет говорить об использовании STL, управлении памятью, как работает ARC и C++, лямбды и блоки. И самое главное: где и как можно «выстрелить себе в ногу».
"Marshroute: удобный и расширяемый роутинг в iOS-приложении" Тимур Юсипов (Av...AvitoTech
В своём докладе я расскажу о подходе к построению навигации в больших приложениях на примере демо-проекта, приближенного по архитектуре к приложению Avito. Данная архитектура позволяет поддерживать DeepLink’и и iPad в существующем приложении, показывать плашки Push-уведомлений в верхнем видимом модуле, совершать переходы из верхнего видимого модуля, вызванные корневым модулем приложения, а также централизовано управлять анимацией переходов. Разработанная нами навигация оборачивает UIKit для совершения переходов в засахаренном и декларативном стиле. Использование этой системы позволило снизить связанность кода для повышения его переиспользуемости и тестируемости, а также выработать общие стандарты к построению стека навигации.
Встреча iOS-разработчиков @ Avito #2 - 24 сентября 2016
Badoo — это большая социальная сеть с более чем 180 млн. пользователей. Большинство новых фич в нашей компании мы предварительно оцениваем посредством A/B тестирования. Вот уже примерно год мы используем собственный высоконагруженный фреймворк тестирования, при этом по моему мнению он очень прост, понятен, и не требует огромных ресурсов на разработку и поддержку. В докладе я расскажу вам о том, почему мы пришли к собственному решению, его архитектуру и принципы работы. Я уверен, каждый из вас может сделать что-то подобное для своего проекта и начать принимать более обоснованные решения.
Тезисы:
* Как мы раньше тестировали
* Почему мы сделали свой инструмент
* Архитектура: API, граф. интерфейсы, транспорт, скрипты, БД
* Структура теста
* Основные правила А/Б тестирования
* Оценка результатов, примеры отчетов
* И заключительная часть про то, что от человека с головой полностью не избавиться
Для кого доклад:
Для разработчиков и техн. менеджеров соц. сетей, сайтов объявлений, блогов с рассылками, проектов, продающих что-то через e-mail расслыки, разных коммьюнити-сайтов, банков и вообще проектов, где взаимодействие с каждым клиентом долгосрочное.
Сложность:
Несмотря на то, что конференция называется Highload++, я уверяю, что представленную здесь архитектуру может потянуть проект с посещаемостью в 1000 чел в день и тремя программистами в штате. Закодить все, что здесь рассказано на PHP займет меньше недели одного человека. А результат, между прочим, пожно вполне изменрять в живой прибыли.
Как «скачать» весь myTarget и не лопнуть. Михаил Иванков (Plarin)Егор Тютюников
Как «скачать» весь myTarget и не лопнуть:
- Правильные практики при работе с большим количеством данных;
- Оптимизация запросов к API;
- Эволюция работы с API myTarget.
08.11 SEMPRO Club - Влад Моргун - Цвет настроения серыйVladislav Morgun
SEO Team-lead в ЛУН & Flatfy. Куратор курса «Product SEO» в Projector. SEO-консультант
Серое SEO - баланс во вселенной.
Сын маминой подруги автоматизирует процессы. А вы?
Продвижение по белому, где все по чёрному.
Что делать, чтобы Google не укусил за бочок?
Как вам такое?
8-го ноября на Sempro.Club мы посмотрим на Google, как на продукт и узнаем как создать синергию между поиском и Вашим проектом. Обсудим цели и ограничения поисковых систем. Вектор их развития. Рассмотрим примеры поисковой оптимизации направленной на продукт и пользователя с использованием "серых" техник. Поделимся наработками по автоматизации процессов.
У нас в гостях Владислав Моргун SEO Team-lead в ЛУН & Flatfy. Вы знаете еще кого-то, кто имеет опыт продвижения долгосрочных белых проектов на 37+ стран?
Мероприятие Must know для SEO-специалистов, которые работают в продуктовых компаниях. Junior/Middle SEO.
Спикер:
Мария Долгова
Head of PPC в ITForce
От спикера:
На вебинаре мы поговорим о том, как экономить время, уходя от использования ручного назначения ставок, какую выбрать автоматическую стратегию под свою цель РК. Применим знания на практике, проведем эксперимент и сравним со стратегией ручного назначения ставок. Расскажу про нюансы и подводные камни при работе с автоматическими стратегиями в Google Ads.
На вебинаре Вы узнаете:
- Типы автоматических стратегий, принцип работы каждой, наиболее распространённые;
- Как подобрать автоматическую под свою цель РК;
- Тестирование автоматической стратегии для начала с помощью эксперимента, анализ результатов;
- Использование корректировок и скриптов при работе со стратегиями( для каждой свои условия);
- Нюансы и подводные камни при работе с автоматическими стратегиями в Google Ads.
Данный вебинар будет интересен:
- Интернет-маркетологам;
- Владельцам бизнеса и руководителям;
- Начинающим специалистам.
--------------------------------------------
ПОДПИСЫВАЙТЕСЬ на канал WebPromoExperts! - http://bit.ly/YouTube_WPE
--------------------------------------------
- Еженедельный ДАЙДЖЕСТ (e-mail рассылка) - http://bit.ly/wpe-subs
- FACEBOOK: https://www.facebook.com/webpromoexperts
- Instagram: https://www.instagram.com/webpromoexperts/
- Telegram: https://t.me/webpromoexperts
- ВКонтакте: https://vk.com/webpromoexperts
--
Академии интернет-маркетинга WebPromoExperts http://bit.ly/site_wpe-academy
Блог Академии: http://bit.ly/blog_wpe-academy
--
Организатор: Агентство эффективного интернет-маркетинга WebPromo: http://www.web-promo.ua/
Как увеличить конверсию и уменьшить расходы? И самое главное, как потратить на это минимум своего времени.
План презентации:
- Регулярная проверка ключевых показателей качества посадочных страниц рекламных кампаний:
• On-Page показатели (статус-код, время ответа сервера, метатеги)
• Анализ рекламируемого контента
- Анализ цен конкурентов для корректировки ставок
- Парсинг с помощью краулера для сбора товарного фида и быстрой генерации рекламных кампаний
- Ценность и возможности аналитики для PPC-специалиста
- Стандартные отчеты в Google Analytics для PPC-специалистов
• Ограничения в сборе и анализе рекламных данных в Google Analytics
• Автоматический импорт данных с помощью OWOX BI
- Построение кастомного дашборда в Google Data Studio для анализа эффективности рекламных кампаний
• Сбор данных и их структура
• Объединение данных из рекламных сервисов с данными вебсайта и CRM-систем
• Обзор дашборда в Google Data Studio и анализ решений, которые можно принимать на его основе.
Запись вебинара можно посмотреть здесь https://www.owox.com/c/3pp
Запись вебинара https://www.owox.com/c/3ha
Когда дело доходит до визуализации данных, начинаются проблемы с реализацией этого вопроса: отчет в Excel не раскрывает полную картину, а привлечь аналитика к созданию необходимых таблиц и диаграмм не всегда получается.
На вебинаре мы расскажем, как правильно визуализировать данные для своих отчетов и какие инструменты можно использовать для создания интерактивных дашбордов без помощи разработчиков.
Программа
- Почему нельзя затягивать с вопросом визуализации в период отчетности
- Обзор самых популярных инструментов: Data Studio, Google Sheets, Power BI и Tableau
- Как с помощью Data Studio построить красивый и эффективный маркетинговый отчет
- Как разобраться в сложных формулах Google Sheets
- Как найти ответы на свои вопросы по аналитике, используя Smart Data
------------------------------------------------
Попробуйте OWOX B бесплатноI: https://www.owox.com/c/25c
Подписывайтесь на нас!
Facebook: https://www.facebook.com/owoxbicis/
Telegram: https://t.me/owoxbicis
Twitter: https://twitter.com/owoxbicis
Секреты аналитики, маркетинга и ecommerce в нашей Тайной рассылке: https://www.owox.com/c/25b
Презентация доклада с курса в школе интернет-маркетинга от Genius Marketing
Докладчик: Александр Щербина, Senior PPC Specialist at Netpeak
11 октября, Киев
CV в пайплайне распознавания ценников товаров: трюки и хитрости Николай Масл...Mail.ru Group
Расскажу про различные полезные библиотеки и функции Python: от простых и известных, до специфичных и редких. Поделюсь тем, какие технологии мы используем при разработке, обучении и деплое наших моделей: что помогало улучшить качество, а что тормозило разработку.
Предсказание вероятности конверсии на данных систем аналитикиNetpeak
Презентация Алексея Даналина с онлайн-конференции от обучающего центра «Топ Эксперт» #SEO, #SMM, #Директ, #Конверсия.
Алексей рассказал, как на основе данных из систем веб-аналитики, можно предсказать вероятность конверсии для конкретной страницы и интернет-магазина в целом. Это позволяет делать более точные прогнозы на грядущие периоды, оптимизировать поставки и логистику товаров, бюджеты.
Обзор трендов рекомендательных систем от Пульса, Андрей Мурашев (AI Journey)Mail.ru Group
AI Journey — двухдневная конференция с ведущими международными и российскими спикерами — экспертами в области искусственного интеллекта и анализа данных, а также представителями компаний — лидеров по развитию и применению технологий ИИ в бизнес-процессах.
Сегментация изображений на острие науки (Евгений Нижибицкий, Rambler&Co)AvitoTech
В последнее время на популярных площадках появляется все больше конкурсов, связанных с компьютерным зрением, и в особенности — с сегментацией изображений. Некоторое время назад в таких задачах повсеместно доминировали подходы на основе сети U-Net. Евгений расскажет о решениях двух недавно завершившихся конкурсов, где хорошо зарекомендовали себя подходы на основе новой, претендующей на “народное признание“, сети.
Применение компьютерного зрения для анализа спортивных соревнований (Николай ...AvitoTech
Большое количество статистической информации о ходе спортивных игр и соревнований собирается вручную. Для автоматизации этого процесса можно использовать методы компьютерного зрения. В докладе будут рассмотрены подходы к анализу видеопотока с игры в настольньй теннис в реальном времени. Будут предложены алгоритмы, основанные на искусственных нейронных сетях и классическом компьютерном зрении для определения игровых событий, траектории мяча и фиксации результатов с судейского табло, а также представлены первые результаты.
Распознавание лиц с помощью глубоких нейронных сетей (Сергей Миляев, VisionLabs)AvitoTech
В докладе будут рассмотрены основные научные работы, которые позволили нейронным сетям распознавать людей точнее, чем это делает человек. Также будут продемонстрированы результаты компании VisionLabs на независимых международных тестах Face Recognition Vendor Test института NIST и Labeled Faces in the Wild Университета Массачусетса.
AvitoNet: сервис компьютерного зрения в Avito (Артур Кузин, Avito)AvitoTech
В Avito активно используется машинное обучение в различных микросервисах и продуктах. В докладе будет рассказано про часть, связанную с компьютерным зрением: AvitoNet. Это внутренний датасет и обученные на нём нейросети. Артур Кузин расскажет про задачи, которые ставились перед сервисом AvitoNet на этапе планирования, а также о выбранном подходе к решению и эволюции сервиса. Будут показаны результаты с демонстрацией работы AvitoNet во время подачи объявлений.
Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)AvitoTech
Любой проект со временем растет и наполняется новыми функциональными возможностями. QA-процессы должны оперативно и адекватно на это реагировать. Например, увеличением количества тестов всех видов. В этом докладе мы будем говорить про UI-тесты, которые играют важную роль в создании качественного продукта.
Количество тестов постепенно растет: от 1000 к 3000, от 6000 к 9000+ и т.д. Чтобы эта лавина не "накрыла" наш QA-процесс, нужно с самого раннего этапа развития проекта автоматизации думать про эффективность всей системы и каждого теста в ней.
В этом докладе я расскажу, как сделать систему гибкой к изменениям, а также про эффективное использование каждого из тестов. Кроме того, мы поговорим про оценку и метрики не только процессов автоматизации, но и всего QA.
Avito Automation Meetup (26.08.2017)
https://avitotech.timepad.ru/event/542380/
Проблемы управления тестами, или Что мешает создавать дешевые и полезные тест...AvitoTech
Мы все стремимся создавать качественные продукты. Мы знаем, что для того, чтобы создавать качественные тесты, их надо проверять, а значит, создавать тесты. Мы все знаем насколько это нужно… до того момента, пока не начинаем делать продукт.
И как только мы с горящими глазами садимся создавать свои тесты, нам тут же начинает мешать множество вещей: долго, дорого, ненужно, неэффективно… Хотя вот буквально пару недель назад все были согласны, что нужно писать тесты.
Давайте посмотрим, можно ли выбраться из этого лабиринта отговорок и создавать тесты быстро, дёшево и эффективно их потом поддерживать.
Avito Automation Meetup (26.08.2017)
https://avitotech.timepad.ru/event/542380/
Запускаем тесты в Continuous Integration - Сергей Пак (JetBrains)AvitoTech
Continuous integration умеет запускать тесты. Для этого его и придумали. Однако, как всегда, есть нюансы, связанные с теми или иными видами тестов. На митапе я расскажу про особенности настройки CI для работы с нагрузочным, приёмочным, интеграционным, UI- и Smoke-тестированием, проверкой корректности установки и апгрейда. Поговорим о том, на какие грабли можно при этом наступить и как их обойти.
Avito Automation Meetup (26.08.2017)
https://avitotech.timepad.ru/event/542380/
Векторы развития систем автоматизации тестирования - Дмитрий Химион (Avito)AvitoTech
Вы думаете, что сделали все для того, чтобы ваша система автоматизации тестирования работала чётко и правильно? Закрыли список задач? Или наоборот, находитесь в поиске того, что еще не охвачено? Тогда этот доклад для вас и для всех, кто интересуется автоматизацией тестирования и её гранями.
Когда все процессы в системах автотестирования работают нормально и выдают релевантные результаты, есть риск обмануться, что сделано уже всё, впереди — лишь унылая актуализация автотестов. Доклад прольет свет на то, что можно делать полезного в рамках и вокруг автоматизации тестирования.
Avito Automation Meetup (26.08.2017)
https://avitotech.timepad.ru/event/542380/
Прокачиваем WebDriverAgent, или Как тестировать iOS-приложения после ядерного...AvitoTech
Когда в прошлом году Apple с выходом Xcode 8 отказались от UI Automator, мы, как и многие, оказались у разбитого корыта. Appium, который у нас использовался, потерял актуальность, мы начали искать альтернативы и нашли инструмент WebDriverAgent от Facebook. Доклад о том, с какими проблемами мы столкнулись, как мы их решали и как это повлияло на нашу инфраструктуру тестирования iOS-приложений.
Avito Automation Meetup (26.08.2017)
https://avitotech.timepad.ru/event/542380/
2. Strictly ConfidentialStrictly Confidential
О чём будем говорить?
• Как выглядит контекстная реклама на Авито
• Как показать объявление
• Как строить простые модели
• Можно ли сделать модель лучше
• Фиды для профессиональных пользователей
• Обучение и тестирование моделей
Python Data Science Meetup, 2016-08-13
4. Strictly ConfidentialStrictly Confidential
Как показать объявление
• Отбирается множество объявлений, релевантных запросу
пользователя.
• Мы хотим, чтобы участники сами боролись за рекламные
места.
• Мы не хотим жёстко закреплять стоимость клика.
• Решение – аукцион среди рекламодателей.
• Для каждого объявления просим указать ставку (bid) –
максимальное количество денег, которое рекламодатель готов
заплатить (за клик).
Python Data Science Meetup, 2016-08-13
5. Strictly ConfidentialStrictly Confidential
Аукцион
• GSP – обобщённый аукцион второй цены
• 𝑐𝑜𝑠𝑡1𝑠𝑡 =
𝑏𝑖𝑑2𝑛𝑑 𝐶𝑇𝑅2𝑛𝑑
𝐶𝑇𝑅1𝑠𝑡
• CTR – «кликабельность». В нашем случае – вероятность
получения клика по объявлению.
Advert_id Bid CTR Bid * CTR Place
1 10 0.5 5 3-rd
2 8 0.8 6.4 1-st
3 8 0.7 5.6 2-nd
Python Data Science Meetup, 2016-08-13
6. Strictly ConfidentialStrictly Confidential
Наивная модель вычисления CTR
• Отношение кликов к показам: 𝐶𝑇𝑅 =
𝑐𝑙𝑖𝑐𝑘𝑠
𝑖𝑚𝑝𝑟𝑒𝑠𝑠𝑖𝑜𝑛𝑠
• Проще не бывает. Всё считаем в реальном времени.
• Очень неточная + много открытых проблем:
• Что делать с новыми объявлениями? Что делать с
объявлениями с небольшим числом показов?
Python Data Science Meetup, 2016-08-13
7. Strictly ConfidentialStrictly Confidential
Простая модель вычисления CTR
• Считаем вероятность клика по (похожим) обычным
объявлениям: 𝐶𝑇𝑅𝑖𝑡𝑒𝑚𝑠 =
𝑐𝑙𝑖𝑐𝑘𝑠 𝑖𝑡𝑒𝑚𝑠
𝑖𝑚𝑝𝑟𝑒𝑠𝑠𝑖𝑜𝑛𝑠 𝑖𝑡𝑒𝑚𝑠
• Считаем вероятность клика по (похожим) рекламным
объявлениям: 𝐶𝑇𝑅 𝑎𝑑𝑣𝑒𝑟𝑡𝑠 =
𝑐𝑙𝑖𝑐𝑘𝑠 𝑎𝑑𝑣𝑒𝑟𝑡𝑠+𝛼
𝑖𝑚𝑝𝑟𝑒𝑠𝑠𝑖𝑜𝑛𝑠 𝑎𝑑𝑣𝑒𝑟𝑡𝑠+
𝛼
𝐶𝑇𝑅 𝑖𝑡𝑒𝑚𝑠
• Считаем вероятность клика по искомому рекламному
объявлению: 𝐶𝑇𝑅 =
𝑐𝑙𝑖𝑐𝑘𝑠+𝛽
𝑖𝑚𝑝𝑟𝑒𝑠𝑠𝑖𝑜𝑛𝑠+
𝛽
𝐶𝑇𝑅 𝑎𝑑𝑣𝑒𝑟𝑡𝑠
• Здесь 𝛼 и 𝛽 – положительные константы.
• Простой, понятный и надёжный механизм. Частично
обновляется в реальном времени.
• Всё ещё не очень точная. Есть проблемы, например, почему
одинаковые объявления имеют разный CTR?
Python Data Science Meetup, 2016-08-13
8. Strictly ConfidentialStrictly Confidential
Теперь добавим немного machine learning
• Получим выборку на модели “холодного старта”
• Построим более умную модель
• Запустим в production
• Почему бы сразу не организовать конкурс?
• https://www.kaggle.com/c/avito-context-ad-clicks
Python Data Science Meetup, 2016-08-13
9. Strictly ConfidentialStrictly Confidential
Модель вычисления CTR
• Что хотим получить? Какую задачу решаем?
• Обучающая выборка, построенная на наивной модели
• Здесь x1, x2, …, xN – переменные (обозначим как x),
характеризующие контекст показа РО (время показа РО,
операционная система пользователя, IP, цена в объявлении и
т.д.); y – целевое действие (был клик или нет).
• Нужно построить такую модель f, для которой f(x) ≈ y.
# x1 x2 x3 … xN y
1
2
…
M
Python Data Science Meetup, 2016-08-13
10. Strictly ConfidentialStrictly Confidential
Модель вычисления CTR
• Как эффективно строить различные модели f при различных
условиях (характеристиках x и y) – предмет изучения machine
learning.
• Логистическая регрессия: 𝑓 𝐱 =
1
1+exp − 𝑥1 𝑤1+𝑥2 𝑤2+⋯+𝑥 𝑁 𝑤 𝑁
• Здесь w1, w2, …, wN – некоторые вещественные значения
(«веса», обозначим как w).
• Обучение такой модели будет сводиться к подбору w так,
чтобы минимизировать ошибку, например:
𝑙 𝐱 = −𝑦 log 𝑓 𝐱 − 1 − 𝑦 log 1 − 𝑓 𝐱
• Как подбирать веса? Например, итерационно, методом
стохастического градиента: 𝐰𝑡+1 = 𝐰𝑡 − 𝜂 𝑡 𝐠 𝑡, где 𝐠 𝑡 - градиент
ошибки работы модели в пространстве весов (𝐠 𝑡 = 𝐱 𝑡 𝑓 𝐱 𝑡 −
Python Data Science Meetup, 2016-08-13
11. Strictly ConfidentialStrictly Confidential
Модель вычисления CTR: как улучшить
• Добавить нелинейности – взаимодействия признаков (feature
interactions). Например, для признака x1 = категория и x2 = цена
можем ввести синтетический признак xN+1 = x1 * x2.
• C одной стороны, признаков станет много, с другой есть
опасность переобучиться и/или получить много ненужных
переменных. Решение – введение регуляризатора.
• Категориальные данные. Обычно каждый категориальный
признак, содержащий K уникальных значений,
«раскладывается» в K бинарных переменных. Т.е. размерность
данных растёт пропорционально числу уникальных значений в
таких признаках (см. куки, идентификаторы объявлений, IP-
адреса), а с добавлением взаимодействия между такими
признаками, всё станет совсем печально.
• Что делать?
Python Data Science Meetup, 2016-08-13
12. Strictly ConfidentialStrictly Confidential
Модель вычисления CTR: hashing trick
• Рассчитываем синтетический признак (на основе взаимодействия
2 и более признаков) и считаем от него хэш.
• Полученный хэш делим по модулю на 2K (максимальную
размерность признакового пространства)
• Теперь имеем разреженный вектор размерности 2K с 1 в
единственном индексе (остальные 0).
• То же самое делаем и для остальных признаков (в том числе и
для категориальных, для чего искусственно можно сделать их
категориальными).
• Таким образом, количество ненулевых значений в разреженном
обучающем векторе не будет превышать числа признаков.
• Итоговая модель описывается коэффициентами при ненулевых
«столбцах» разреженной матрицы признаков (все векторы вместе)
Python Data Science Meetup, 2016-08-13
13. Strictly ConfidentialStrictly Confidential
Модель вычисления CTR: FTRL
• В результате пришли к процедуре обучения модели:
𝐰𝑡+1 = argmin
𝐰
𝐰
𝑠=1
𝑡
𝐠 𝑠 +
1
2 𝑠=1
𝑡
𝜎𝑠 𝐰 − 𝐰𝑠 2
2
+ 𝜆 𝐰 1
где 𝑠=1
𝑡
𝜎𝑠 =
1
𝜂 𝑡
• Модель является дообучаемой (on-line learning), т.е. найденные
веса корректируются при обучении на новых данных.
• Модель возвращает вероятность клика по РО.
• Использование модели описано в работе “Ad Click Prediction: a
View from the Trenches”
Python Data Science Meetup, 2016-08-13
14. Strictly ConfidentialStrictly Confidential
Модель вычисления CTR: используемые признаки
• Признаки, описывающие объявление, например:
• Домен
• Цена
• Текст (объявление, заголовок)
• Микрокатегория
• …
• Признаки, описывающие пользователя, например:
• IP
• Cookie
• UA
• Факт логина
• …
• Признаки, описывающие поисковое окружение, например:
• Позиция показа объявления
• Время поиска
• Категория поиска
• Поисковый запрос
• …
Python Data Science Meetup, 2016-08-13
15. Strictly ConfidentialStrictly Confidential
Связанные задачи: обработка фидов
• Фид – файл в разметке YML (пока), в котором лежат текстовые
описания потенциальных рекламных объявлений.
• Задача: на основе данных из файла сопоставить каждому
товару микрокатегорию в дереве контекста Авито.
Python Data Science Meetup, 2016-08-13
16. Strictly ConfidentialStrictly Confidential
Связанные задачи: обработка фидов
• Текстовые данные превращаем в векторы большой
размерности путём нормализации слов и их последующего
кодирования (bag of words, tf-idf).
• Целевая переменная – микрокатегория, к которой принадлежит
это объявление.
• Как получить обучающую выборку (разметить данные из фидов
наших клиентов)? С помощью асессоров.
• Разметка включает указание микрокатегории товара, откуда мы
можем получить категорию и подкатегорию.
• Задача: построить модель, которая бы по текстовому описанию
товара возвращала для него TOP-5 вероятностей
принадлежности к микрокатегориям контекста и указывала,
насколько TOP-1 является правдоподобной.
Python Data Science Meetup, 2016-08-13
17. Strictly ConfidentialStrictly Confidential
Связанные задачи: обработка фидов
• Обучаем 3 модели (линейные классификаторы) на разных
уровнях (целевые переменные – категории, подкатегории,
микрокатегории). Без hashing trick, но с L1-регуляризацией.
• Как обучить логистическую регрессию разделять более чем 2
класса? One-vs-all схема, т.е. для разделения P классов строим
P моделей, получаем вероятности от каждого из них,
нормируем результаты.
• Алгоритм определения категории:
• Считаем прогноз на уровне микрокатегорий и отбираем 5
возможных кандидатов с максимальной вероятностью.
• У выбранных микрокатегорий, считаем прогноз на уровне
подкатегорий.
• У выбранных подкатегорий, считаем прогноз на уровне
категорий.
• Складываем 5 троек получившихся вероятностей,
выбираем тройку с максимальной суммой.
Python Data Science Meetup, 2016-08-13
18. Strictly ConfidentialStrictly Confidential
Связанные задачи: обработка фидов
• Из тестовой выборки выделяем валидационную, на которой
настраиваем пороги.
• Точность на контроле – 86%, точность работы модераторов –
88%.
• Суммарный объём товаров в фидах – более 7 миллионов
товаров.
Python Data Science Meetup, 2016-08-13
19. Strictly ConfidentialStrictly Confidential
Инфраструктура
• Более подробно про инфраструктуру рассказали на РИТе 2016:
• http://backendconf.ru/2016/abstracts/2097.html («Успеть за
100 миллисекунд: контекстная реклама на Sphinx» /
Дмитрий Хасанов)
Рисунок из ”Hidden Technical Debt in Machine Learning Systems”, 2014
Python Data Science Meetup, 2016-08-13
20. Strictly ConfidentialStrictly Confidential
Обучение моделей прогноза CTR
• Имеем разные места хранения данных: MongoDB и HP Vertica.
Разная ёмкость, разная скорость обработки запросов, разный
характер данных (вычислимые vs. статичные).
• Вносится задержка на очистку данных от «мусора».
• Процедура обучения (нахождение коэффициентов в модели
FTRL) занимает некоторое время.
• Результат: загрузка данных, предобработка и обучение
моделей (всё на Python!) происходит на выделенных серверах
раз в 6 часов; на выходе – коэффициенты модели,
передаваемые в сервис (Sphinx UDF).
Python Data Science Meetup, 2016-08-13
21. Strictly ConfidentialStrictly Confidential
Тестирование моделей off-line
• Хотим улучшить модель, например, протестировать новый
признак. Как это сделать?
• Грузим (вычисляем) новый признак из данных.
• Обучаем на некоторой выборке пару моделей: с признаком и
без.
• Проверяем обе модели на тестовой выборке: снизится ли
ошибка прогноза клика (LogLoss, AUC) и на сколько?
• Всё ещё недостаточно хорошо: новая модель «в бою» будет
приводить к изменению ранжирования в аукционе,
следовательно, пользователи будут видеть что-то другое и
целевые метрики могут непредсказуемо измениться.
Python Data Science Meetup, 2016-08-13
22. Strictly ConfidentialStrictly Confidential
Тестирование моделей on-line: сплит-тестирование
• Как делить трафик: по пользователям, по показам.
• Разделение должно быть корректным и повторимым.
• Целевые метрики на группах должны быть устойчивыми (А/А-
тесты, в том числе на неравновесных распределениях).
• hash(hash(cookie) + salt) % groups
• Желательно сохранять работающую старую модель на
небольшом объёме трафика.
Python Data Science Meetup, 2016-08-13
23. Strictly ConfidentialStrictly Confidential
Вместо выводов
• Конкурсы по data science – это очень хорошо.
• Кстати, у нас есть ещё: http://dataring.ru/competitions/avito-
category/
• Применимость моделей определяется инфраструктурой
(большие ансамбли моделей, с которыми побеждают на
конкурсах, на практике не работают).
• Всё, кроме нагруженной части непосредственного расчёта
CTR, можно сделать в Python.
• Дружная команда с короткой коммуникацией – залог успеха.
Python Data Science Meetup, 2016-08-13
24. Strictly ConfidentialStrictly Confidential
Vadim Ayuyev
Leading Data Scientist, Avito
vayuyev@avito.ru
Andrey Ostapets
Senior Data Scientist, Avito
aostapets@avito.ru
Python Data Science Meetup, 2016-08-13