image

Мы открываем техно-блог компании Avito. Многие знают бренд, но не так много тех, кто знает, как сервис устроен с технической стороны. В своём блоге мы приоткроем завесу неизвестного и расскажем о технической кухне сервиса.

Начнем с небольшой истории о том, что проект представляет из себя сегодня, чем занимается команда инженеров, и что мы планируем делать в ближайшем будущем. Еще мы собрали в этом посте множество ссылок на уже опубликованные материалы, доклады и презентации нашей команды, которыми давно хотели поделиться. Хотите знать, где живут ваши объявления? Добро пожаловать под кат!

Начало


Очень сложно начинать короткий рассказ о компании с насыщенной историей так, чтобы ничего не забыть и не сильно вдаваться в детали. Детали оставим для будущих статей, в которых постараемся подробнее раскрыть те или иные вопросы. Если у вас есть особые или интересные темы, о которых вы бы хотели услышать от разработчиков Avito, пишите о них в комментариях — мы обязательно затронем эти вопросы.

Как и в случае многих больших проектов, история Avito начиналась с небольшой команды. Первая версия сайта была запущена в 2007-ом году, и первые шаги были полны проб и ошибок. В текущем виде сайт сформировался лишь два года спустя. Сервис начинал создаваться силами всего 4 разработчиков, которые занимались абсолютно всем, от инфраструктуры до клиентской части. Сайт 2009-го года вряд ли можно было бы отправить на конкурс «Лучший сайт чего-бы-то-ни-было». Но этот результат до сих пор вызывает чувство ностальгии у причастных к нему. Как и определенную гордость, ведь это было сделано малым количеством ресурсов, но достаточно для того, чтобы заявить о себе и заложить фундамент успешной компании.

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

Avito сегодня


Сегодня Avito стабильно входит в топ-5 площадок рунета, топ-3 мировых классифайдов по версии различных источников. Ежемесячно через web и мобильные приложения сервис обслуживает более 35 миллионов пользователей, которые ежедневно публикуют около миллиона новых объявлений (в “бэк-офисе” их накопилось уже более миллиарда), совершают более 100 тысяч сделок. По данным Яндекса, в некоторых городах России (например, в Москве), по числу просмотров страниц Avito опережает всех, включая социальные сети.
image

Avito является высоконагруженным проектом. Немного цифр, чтобы оценить масштаб: 300+ серверов, 10TB в postgres, 270TB картинок, 13Gbit/s трафика вечером в пике, около миллиона запросов к бекенду в минуту. Поэтому экспертиза в области обработки данных является одной из самых критичных для наших бизнес-процессов. При этом стоит понимать, что такие объемы данных нужно не только накапливать и хранить, но и обрабатывать, фильтровать, классифицировать и обеспечивать поиск по ним. Эффективно справляться со всеми задачами не может один-единственный инструмент, потому используется ряд решений, таких как: PostgreSQL, Tarantool, Vertica, MongoDB, Redis и прочие системы хранения. Мы обязательно поделимся рассказами про особенности архитектуры в будущих статьях. Пока же можно ознакомиться с докладами, в которых наши коллеги делятся своим опытом:


image

Много данных — это хорошо для сервиса, но большая проблема для пользователя – как найти нужное? В этом помогает систематизация объявлений и поиск по ним. Поиск — наиболее сложная задача. И проблема здесь не столько в объемах данных, сколько в человеческом факторе. Дело в том, что пользователи постоянно ошибаются, как в описании объявлений, так и в поисковой строке. Одна из основных задач — нивелировать ошибки в описании и понять, что же имел в виду пользователь.

Для устранения ошибок в описаниях используются различные справочники и алгоритмы коррекции, а так же более продвинутые подходы вроде компьютерного зрения. Последнее, например, с очень высокой вероятностью (по некоторым категориям более 95%) определяет, правильно ли пользователь выбрал категорию. Кроме того, Avito регулярно привлекает специалистов по машинному обучению для участия в конкурсах (на платформах machinelearning.ru, boosters и kaggle), целью которых является поиск наиболее эффективных алгоритмов для решения различных прикладных задач.

Для полнотекстового поиска используется Sphinx, и мы регулярно делимся опытом его использования, активно участвуем в развитии технологии.


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

image

Минутка рекламы… а точнее, поговорим о ее показе. Экономические и этические вопросы оставим для других блогов. Здесь же интересна техническая составляющая этого вопроса. Дело в том, что рекламодателям и площадкам интересна только целевая аудитория. Для ее определения используется сегментирование аудитории. Проблема в том, что пользователей и их запросов огромное количество, а чтобы определить категорию пользователя, необходимо учитывать множество критериев. При этом время на определение категории ограничено, ведь дальше она будет передана рекламным площадкам, между ними состоится аукцион и только тогда определится рекламный блок к показу. Все это связано с большим количеством данных и требованием, чтобы все происходить за доли секунды. Подробнее мы об этом уже рассказывали на конференциях и митапах.


Данные — не единственное сложное место. Бизнес и рынок диктуют все новые условия, которые превращаются во все более сложную бизнес-логику. Исторически сложилось, что бизнес-логика сервиса реализована на PHP. В прошлом году мы перешли на новую его версию — PHP7, и уже чувствуем как сервера выдохнули и стали напрягаться в три раза меньше. Сегодня PHP — не единственный серверный язык, который используется в Avito. Изначально проект был монолитным, но он уже давно развивается в сторону микросервисов. В зависимости от задачи и нагрузок используются различные языки, такие как Python и Go.

Какие бы сложные задачи не решались на стороне сервера, это все скрыто от обычного пользователя. А то, что видят пользователи, работая с сервисом, делается силами фронтенд команды. Изначально сайт создавался на традиционных для того времени технологиях, серверный рендеринг и jQuery. Но не так давно мы полностью отказались от jQuery в пользу браузерных API и небольших библиотек, решающих конкретные задачи. Фронтенд-разработка старается идти в ногу со времени, использовать актуальные технологии и подходы. Например, новая версия JavaScript используется с момента утверждения спецификации (сейчас используется ECMA2016). Помимо этого появляются все больше веб-приложений (SPA), которые реализуются на React и basis.js. Фронтенд-разработчики так же участвуют в open source проектах (таких, например, как CSSO), создают инструменты и делятся своим опытом на конференциях:


image
Компания Avito появилась практически вместе с зарождением мобильной платформы, какой мы знаем ее сегодня. Конечно же, сначала была только веб-версия, потом появилась веб-версия, адаптированная для мобильных устройств. Но нативные приложения – это нативные приложения, и у них есть своя специфика, которая зависит от платформы. Сегодня мобильным приложениям уделяется очень большое внимание — и мы уверены, что этот тренд будет сохранится. Отдельные команды разрабатывают сразу несколько приложений под iOS и Android. Ребята подходят к вопросу разработки ответственно, делятся своим опытом на конференциях и наработками на GitHub.

Обе команды, и iOS, и Android, используют самый современный стек технологий. Во-первых, это Swift и Kotlin, которые уже практически полностью заменили в наших продуктах тяжелое наследие Java и Objective-C. Во-вторых, это инвестирование в развитие и продвижение инженерных практик — CI, CD, Code Review, автоматизация тестирования. В-третьих, это чистая и масштабируемая архитектура, которая позволяет нескольким группам разработчиков развивать крупный проект без возникновения коллизий и оперативно реагировать на нужды пользователей.


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

Дизайнеры не только рисуют макеты, но и пишут собственные приложения, плагины, разрабатывают сложные интерактивные прототипы, участвуют в разработке дизайн-платформы. На некоторые каверзные вопросы ребята ответили в статье на vc.ru.

Тестирование в Avito появилось не сразу, первые QA-специалисты присоединились к команде в 2012-ом году. Сегодня в ней более 40 специалистов, треть из которых — автоматизаторы. Набор инструментов достаточно стандартный: PHP + PHPUnit, Selenium, Selendroid. Для организации взаимодействия между тестировщиками и разработчиками используется самописный инструмент “Avito.Cthulhu”, который позволяет хранить тест-кейсы, распределять задачи и отслеживать те, что вернули на тестирование.

Вот так выглядит разработка Avito, если рассказывать кратко. Конечно, многое ещё осталось за кадром. Постараемся в скором времени исправить этот недостаток!

Вместо заключения


Узнать больше про техническую кухню Avito можно из докладов наших разработчиков на ведущих конференциях и митапах. Кроме того, мы регулярно организуем встречи разработчиков в нашем офисе и хостим ивенты независимых сообществ, таких как MoscowJS, CocoaHeads, PostgreSQLRussia, Tarantool, Moscow SPA meetup и других. Анонсы всех событий и новости мы публикуем в нашем технологическом твиттер-канале AvitoTech, там же выкладываем ссылки на итоговые материалы. Записи со встреч, которые проходили в нашем офисе, можно найти на нашем Youtube-канале. Пишите в комментариях, с какой стороны вам было бы интересно узнать об Avito, и мы это обязательно учтём ваши пожелания при подготовке следующих постов. До новых встреч!
Поделиться с друзьями
-->

Комментарии (109)


  1. iLLuzor
    14.02.2017 14:32
    -23

    Технически, может и интересно, но фактически этот ваш авито огромная помойка, которая вообще не развивается из-за монопольного положения.


    1. RomanSun
      14.02.2017 14:58
      -7

      Полностью поддерживаю, год назад невозможно было проектор найти, т.к. при запросе «проектор» выдавалась вся категория «Телевизоры и проекторы». Сейчас вроде поправили, но сам поиск всё такой же недружелюбный. Где фильтры? Почему диапазон цен работает только в мобильном приложении и некоторых категориях?
      Сейчас вроде Юла мэйлрушная активно пиарится, может у них что получше выйдет.
      Строгая многоуровневая классификация — вот что хочется. Чтоб в разделах сложной электроники был фильтр по параметрам. Тогда и пользователи, как вы пишите, меньше ошибаться будут.


      1. Rpsl
        14.02.2017 15:03
        +4

        А кто будет заполнять эти параметры при подаче объявления?
        В поиске всегда можно поставить галку "искать только в названиях", это делает выдачу чуть-чуть дружелюбнее.


        1. Eldhenn
          14.02.2017 15:10
          +2

          Тот, кто желает, чтобы его объявление нашли покупатели?


          1. MMgo
            14.02.2017 15:25
            +1

            По моим субъективным ощущениям — такими будут в основном перекупщики и магазины.
            сфотал, написал номер, написал «новая, не битая не крашеная» и все


            1. Eldhenn
              14.02.2017 15:37

              Продают только автомобили? Вы когда-нибудь пробовали продраться через разделы «мебель» и «одежда»?


              1. MMgo
                14.02.2017 15:54

                Фраза про автомобили была собирательна.
                Я про то, что вне зависимости от категории, обычный человек не пишет достаточное количество информации о продаваемом товаре. Тем более он не захочет заполнять множество необязательных полей.


        1. APLe
          14.02.2017 15:43
          +1

          А кто будет заполнять эти параметры при подаче объявления?
          На ebay это во многих категориях работает (сходу помню про ювелирные украшения, смартфоны, палатки, старинные компьютеры).
          Правда, я не знаю, как соотносится средняя аккуратность и грамотность продавцов ebay и avito.


      1. martovskiy
        14.02.2017 15:34

        Пишите в поддержку, про такие случаи, как "проектор". Бывают, ошибки.


        Почему диапазон цен работает только в мобильном приложении и некоторых категориях?

        Не все так просто как кажется. Скорее всего фильтр цен рано или поздно появится.


        Строгая многоуровневая классификация

        Увы, от этого пользователи будут еще сильнее ошибаться. Нам бы самим хотелось, чтобы все аккуратно раскладывали вещи в нужные категории.


        1. caveeagle
          14.02.2017 15:49

          Почему диапазон цен работает только в мобильном приложении


          Не совсем понятна логика. Как такое может быть — в мобильном приложении фильтр работает, а на сайте — нет? Можете объяснить?


          1. zrx
            14.02.2017 17:41

            На сайте можно использовать GET запросы pmin и pmax
            Пример: ?q=macbook&pmin=20000&pmax=40000


        1. Eldhenn
          14.02.2017 15:51
          +3

          > Скорее всего фильтр цен рано или поздно появится

          Эээ…


        1. RomanSun
          15.02.2017 21:18

          Естественно я написал в поддержку… Последовал ответ:


          Ваш Инцидент №SR-373196 «Некорректная работа поиска» разрешен.
          Фактическое время разрешения: 20.05.2015 17:09:24.

          Если предоставленное решение не принесло ожидаемого результата, пожалуйста, ответьте на данное письмо.

          С уважением, команда поддержки Авито.


          Фактически ничего не изменилось, о чем я написал в ответном письме, но… тишина.


      1. MrAwesome
        14.02.2017 16:08
        -1

        На мой взгляд, Avito не предоставляет качественный поиск (за исключением авто и недвижимости) в угоду собственным интересам, что от части и логично, кто захочет покупать «буст» обьявления если его и так будет легко найти при условии что обьявление и запрос составленны корректно. Данная проблемма так же распрастранняется и на категорию «Недвижимсть» которая чуть более чем полностью состоит из разводных обьявлений от всеми любимых агентов. Кто пытался найти аренду квартиры в Москве или СПб через Avito тот поймет.


      1. aleksandros
        14.02.2017 16:49

        Может и надо. Но лишь бы нововведения не падали как снег на голову, а было бы продолжительное тестирование, сбор пожеланий и т.п.


    1. immaculate
      14.02.2017 18:14
      +5

      Интересно, за что столько минусов. Мне кажется, что объективно автор комментария прав. Не знаю в чем причина, но раньше, лет 5-6 назад было намного больше полезных объявлений от частных лиц.


      Сейчас очень много глупого спама, засоряющего результаты поиска, объявлений от фирм и мелких магазинчиков. Теоретически, я не против этих объявлений, только частное лицо может продавать старый инструмент или технику за вменяемые деньги, а эти магазины скупают все по дешевке, и выставляют за совсем неразумные деньги, раза в 2-3 дороже за инструмент или б/у телефон или фотоаппарат.


      1. iLLuzor
        14.02.2017 18:59
        +2

        Вам не кажется, я объективно прав.
        Авито просто кишит мошенниками, как со стороны продающих, так и со стороны покупающих.
        Попробуйте найти квартиру для съёма на авито. В 100% случаях при поиске «от собственника» вы попадёте на агентства. И в большинстве случаев увидите фотографии левых квартир. Жалуйся, не жалуйся — толку ноль.
        Разделы не соблюдаются — телефоны можно найти в разделе с машинами или с телевизорами, но зато модераторы могут заблокировать абсолютно адекватное объявление по надуманным причинам.
        Дизайн неудобный и не обновляется годами. Но зато постоянно вводятся новые платные услуги.

        И, я не знаю, как они это сделали, но ещё вчера сайт работал, а сейчас вижу «Доступ с вашего IP-адреса временно ограничен. Мы обнаружили на нём подозрительную активность, нарушающую работоспособность Avito.»


        1. Alexufo
          14.02.2017 20:22

          Чаще раза в секунду незя делать запросы. То есть если вы любитель открывать вкладки с шифтом пачками, словите бан временный.
          А если курл подключите ьез таймаута то бан пожизненный)


          1. iLLuzor
            14.02.2017 20:44

            Нет, не любитель. А что такое «курл» вообще не знаю


            1. mbwa
              15.02.2017 13:07

              curl is a tool to transfer data from or to a server, using one of the
              supported protocols (DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP,
              IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMB, SMBS,
              SMTP, SMTPS, TELNET and TFTP). The command is designed to work without
              user interaction.

              curl offers a busload of useful tricks like proxy support, user
              authentication, FTP upload, HTTP post, SSL connections, cookies, file
              transfer resume, Metalink, and more. As you will see below, the number
              of features will make your head spin!


              Это первые два абзаца мануала. Добросовестному пользователю позволит вытянуть интересующие объявления, спокойно на своей стороне просмотреть и вернуться на сайт уже определившись. Но тут ему рекламу не показать.

              Но это полбеды для площадки: автоматизированные системы конкурентов могут просто постоянно сливать базу, сами не тратя ресурсы на привлечение «объявлениедателей». Кроме прямой конкуренции такой базой можно распорядиться и с любой другой целью, в том числе и в ущерб «хозяину». Для этого и вставляют таймауты.


        1. LaPaw
          15.02.2017 19:10
          +1

          Я бы сказал в 95% случаев будет агенство. Сам как раз там себе квартиру и нашел. В центре. От собственника. И кстати, найти что-либо стоящее среди «глупого спама» гораздо проще чем среди «умного».
          А вот избавиться полностью от спама увы нереально. Было бы круто еслиб они как-то выделяли действительно уникальные объявления. Или сделали бы идентификацию пользователя по ЭЦП или паспорту. И объявления таких идентифицированных пользователей можно выделять. Может быть это не очень удобно, зато хоть какая-то защита от мошеничества и спама.


        1. neko_nya
          17.02.2017 09:12

          Мне эта фигня вылазила когда я через VPN стал жить. Пришлось подбирать сервер, на который авито не ругалось бы.


  1. msdos9
    14.02.2017 14:33
    +4

    Значки личных сообщений и сохраненных поисков уж больно похожи друг на друга — я лично постоянно путаюсь.


    1. Oldtuna
      14.02.2017 14:41
      +6

      Спасибо за конструктивный фидбек! Есть такой недостаток, будем исправлять!


      1. overtest
        14.02.2017 16:17

        Пару нетехнических вопросов (раз уж выдался счастливый случай пообщаться не с техподдержкой):

        1. Почему при отклонении платного объявления деньги назад не возвращаются? Интернет завален подобными жалобами, но ничего не делается.

        2. С поддержкой временами очень тяжко общаться. Такое ощущение, что разговариваешь не с человеком, а с роботом — ответы строго под кальку, даже если явно указываешь на абсурдность ситуации, будут писать в ответ одно и тоже (100% завал теста Тьюринга).


        1. Oldtuna
          14.02.2017 16:30
          -1

          Модерацию и поддержку будем делать удобнее и человечнее!


        1. nyurix
          15.02.2017 00:36
          +1

          по поводу пункта 1 — уже как несколько недель деньги возвращаются назад, если при подаче объявление было заблокировано или отклонено. Так что все таки что-то «делается»)


      1. Aingis
        14.02.2017 16:29

        Вспомнил ещё баг: висело старое объявление, при попытке его опубликовать, оно автоматически отклонялось по причине «не указана цена» (или заголовок, не помню). Объявление конечно же редактировалось и всё добавлялось, но всё равно его нельзя было опубликовать.


        Ну, ничего, попробуем перезагрузиться разместить новое. Показывается ошибка «нельзя повторно использовать фотографии». Свои же фотографии, Карл!


  1. ElvinFox
    14.02.2017 14:46
    +8

    А когда будет налажена навигация: нормальный поиск по ключевым словам, выдающий ТО что ты ищешь, а не всякий проплаченный шлак? И можно ли ожидать расширенный поиск?


    1. Oldtuna
      14.02.2017 14:59
      -2

      А какие именно фильтры вы бы хотели видеть в расширенном поиске?


      1. ElvinFox
        14.02.2017 15:21
        +3

        Начать можно с самого очевидного — цена. (я считаю бесчеловечностью заставлять пользователя продираться сквозь десятки страниц для нахождения своего диапозона цен)

        Далее добавить объединенные фильтры… Очень хочется видеть возможным такой запрос: «Новые объявления (по дате) в диапозоне X-Y с фото и несколькими ключевыми словами (на мой выбор)

        Каждый раз заходя на Авито я, к сожалению, думаю о собственном кроулере, дабы уже потом нормально найти нужное мне.


        1. amylabs
          14.02.2017 16:33

          Как же так? Ведь каждый ваш переход по пагинатору — это открутка баннеров площадки =)


          1. parasapiens
            15.02.2017 19:16

            +1
            Поэтому сортировка по цене в мобильном приложении есть, а на сайте нет
            Только введение полноценной системы покупки-продажи с комиссией за сделку уменьшит зависимость от рекламы, и поспособствует увеличению функционала (увы да, бесплатно ничего не бывает)


        1. aleksandros
          20.02.2017 13:05

          Диапазон цены можно указать самому: ?pmin=xxxx&pmax=yyyy


      1. APLe
        14.02.2017 15:32
        +3

        1). Возможность искать по точной фразе (чтобы «" череп"» не находил «продам черепах» )
        2). Возможность исключать слова (чтобы «череп -пластиковый» не находил «пластиковая модель черепа»)
        3). Ещё можно много чего придумать, вроде добавление фильтра по цене в web-интерфейс или добавление фильтров по категориям по аналогии с ebay или яндекс.маркет (чтобы, выбирая палатку, можно было отметить: «места: «2»-«3»-«4»» ,«дуги: «алюминий», «титан»», «два слоя»). Но это это уже или не так важно, или сложно в реализации.


        1. martovskiy
          14.02.2017 15:39
          +1

          1. Посмотрим. спасибо.
          2. работает


          1. moscow9990
            17.02.2017 15:17

            а какие еще существуют операторы поиска? (кроме -)


    1. vleonov
      14.02.2017 21:20

      А можете привести более подробный пример? Где и что ищется не так по ключевым словам.


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


    1. immaculate
      15.02.2017 09:54
      +1

      У меня была проблема не в проплаченном шлаке, а в том, что поиск не справляется с придурками, размещающими объявления. Например, я ищу какую-то запчасть на Mercedes A200. Ввожу в поиск «дроссельная заслонка Mercedes A200». В ответ мне гигантская простыня результатов, обрадованный открываю первые несколько объявлений а там: «Продаются запчасти Nissan, Mercedes A200, B200, W124, BMW X3, BMW X5, Hyundai Solaris». То есть какие-то магазины вбивают в свои объявления все возможные ключевые слова в надежде, что кто-то, открыв объявление все равно останется и что-то купит.


      В итоге, для того, чтобы найти искомое, приходится открывать каждое объявление из тысяч найденных. Неэффективно и раздражает.


      1. martovskiy
        16.02.2017 11:02
        +1

        Прямо сейчас вбил «дроссельная заслонка Mercedes A200» получил два результата по России в запчастях.


        Варианты облегчения поиска для себя:


        • искать в названиях объявления (галочка ниже поиска).
        • Минусовать слова например добавить "фара мерседес -nissan"
        • Брать в кавычки. "фара a200"


        1. immaculate
          16.02.2017 14:05

          Возможно, улучшили поиск. Я искал прошлым летом и осенью, может быть за прошедшие месяцы удалось нормализовать ситуацию. Рад, что это так.


  1. KorP
    14.02.2017 14:52
    +4

    А я надеюсь про расказ об аппаратной составляющей, виртуализацию, схд и тд


    1. Oldtuna
      14.02.2017 15:02
      +1

      Записали, обязательно расскажем!


  1. msdos9
    14.02.2017 15:00
    +1

    Ситуация: ввожу в поле поиска словосочетание «библиотека приключений» (без кавычек). Так вот, если регион «Вся Россия», то словосочетание не режется, но если выбрать какую-нибудь территорию (область), то данное словосочетание почему-то превращается в одно слово «приключений». Это фича такая?


    1. martovskiy
      14.02.2017 15:14
      -1

      Фича. Может быть, немного неудачная фича.

      С одной стороны это сделано для пользователей, которые любят писать длинные поисковые запросы. С другой стороны, подающие объявления, часто пишут мало информации. И это один из шансов помочь им найти друг друга.

      P.S. Как раз недавно, сделали, что оно реже так срабатывает.
      Сейчас нет такого


  1. ilyaplot
    14.02.2017 15:09
    +2

    Отделите нормальные объявления от откровенной рекламы. Ищешь запчасть на авто, видишь 50% объявлений — запчасти %список_марок% с ценой 100 рублей. Если сортируешь по цене, то можно смело на 3-5 страницу переключаться.


    1. Coffin
      14.02.2017 16:23
      +2

      300+ серверов освоили, а искать по интервалу цен не научились, что бы хоть как-то этот мусор отсеять.


      1. martovskiy
        14.02.2017 16:58

        Воспользуйтесь мобильной версией или мобильным приложением.


        1. Coffin
          14.02.2017 17:05

          я хочу не мобильной и не мобильным приложением и не могу, мой юзер экспириенс очень сильно страдает, что приходится пить таблетки т.к. приходится смотреть 100500 объявлений откровенного мусора.


        1. ilyaplot
          16.02.2017 14:48

          А я не хочу пользоваться мобильным приложением, мобильной версией и вообще телефоном. Я сел за компьютер. Вообще я считаю, что есть некая платформа, есть к ней несколько интерфесов. Эти интерфейсы должны работать абслютно одинаково.


  1. ilkz
    14.02.2017 15:13
    +3

    Последнее время цены стали откровенно неадекватными. Часто доходит до того, что поднятие объявления стоит едва ли не полцены от продаваемого товара. И пропадает весь смысл такой площадки.


  1. kloppspb
    14.02.2017 15:14

    Спам — фиг с ним, его везде полно, дело привычное. А вот с географией как обещали улучшения уже давно, так до сих пор их не видно. Если для недвижимости карта появилась, то искать что-то, скажем, в Стрельне, Петергофе и т.д. (если что — это районы Санкт-Петербурга такие, а не населённые пункты Ленинградской области) можно только через костыли :(


  1. stork_teadfort
    14.02.2017 16:16

    Не думали из «сайта с объявлениями» эволюционировать в торговую площадку по типу ebay, с частными непрофессиональными продавцами? Чтобы можно было купить что-то через сервис с его посредничеством и гарантиями. Сейчас любая покупка по почте из другого города — сплошная лотерея.
    Выбираю сейчас, к примеру, б/у объектив. Понял для себя что мне проще и гораздо надежнее купить на ебее с доставкой через посредника, чем связываться с продавцами с авито. В общем, ниша национальной торговой площадки не занята, и кто ее первый займет — вопрос.


    1. Oldtuna
      14.02.2017 16:25
      +1

      Это вопрос скорее к бизнес-подразделениям, но они планами на будущее не любят делиться, а мы тут больше про разработку и технологии :)


  1. ElvinFox
    14.02.2017 16:30
    +1

    Я думаю что многим будет интересен подход Авито к классификации объявлений, их корректировке (кАньки «зацепили» =)), индексированию.


    1. Oldtuna
      14.02.2017 16:32

      Да, про это обязательно ещё отдельно расскажем! Андрей в этом докладе https://www.youtube.com/watch?v=odwttz-GBOA уже многие вещи раскрыл


  1. slavenski
    14.02.2017 16:48

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


    Извиняюсь за свою придирчивость, но по-моему запятая перед «что» здесь лишняя, или я не грамотный.


  1. olegkash
    14.02.2017 17:08

    Ну если уж появилась возможность поговорить с человеческой поддежкой:)
    Вот что расстраивает при отклонении объявлений:
    1. Попробуйте продать два одинаковых товара, но отличающихся допустим цветом, одно будет отклонено как дубль.
    2. Попробуйте в объявлении написать Apple Part: 922-6767 (или что то похожее), отклоняют уже раз пять, после письма пишут, что тех. неисправность, хотя похоже просто такой алгоритм, но ведь не похож на номер телефона, не хватает еще как минимум 3-х цифр


    1. vleonov
      14.02.2017 21:29
      +1

      Эти проблемы известны и они решаются.
      Обращаться в "нечеловеческую" поддержку полезно хотя бы потому, что она учитывает все ваши отзывы, жалобы и проблемы. Они систематизируются, анализируются и ранжируются. Если девушка с приятным голосом не ответила вам лично, это не значит, что ваша проблема проигнорирована. Каждое обращение в службу поддержки повышает вероятность того, что данная проблема будет решена с более высоким приоритетом.


  1. rraderio
    14.02.2017 17:08

    1_000_000 / 300 / 60 = 56 рек/сек


    1. vleonov
      14.02.2017 20:44
      +2

      А что такое 300? Количество серверов с картинки? Ну это общая цифра – там и дев-сервера, и аналитические и вообще все-все, вплоть до внутренней инфраструктуры.
      Если интересна конкретика, то для php-бекенда используется 25 серверов, для сфинксов – 24, для основной БД – 2.


  1. 4ebriking
    14.02.2017 17:28
    +3

    А есть ещё предложение: поставить в описании товара обязательную пометку (галочку, поле) «полностью работоспособный», что бы можно было отфильтровать объявления «на запчасти» («требует ремонта» и т.п).
    В идеале — что-то типа обязательного поля с выпадающим списком («новый нараспакованный» / «мало б/у» / «б/у» / «есть незначительные поврежения» / «требует небольшого ремонта» / ведро с гайками «нерабочий на запчасти»… сейчс это в теле объявления на усмотрение подателя… Пирчём при публикации — выбор одного значения из этого списка, а при поиске — галочками любой набор из него. (впрочем возможно я невнимателн к вашему сайту)


  1. chumric
    14.02.2017 18:06
    +3

    Хочется узнать больше про технологии, а топик получился филиалом техподдержки и фидбэка


    1. Oldtuna
      14.02.2017 18:52

      Мы в целом ожидали, что в комментарии набегут с жалобами на сервис :) дело тоже полезное, мы всё учтем. Пишите, какие технологические темы вам интересны, будем потихоньку раскрывать!


  1. juga
    14.02.2017 18:20
    +3

    С удовольствием послушаю про ваши фронт-решения.

    Спасибо за статью!


    1. tyanas
      15.02.2017 19:57

      В целом про фронтенд Avito есть отдельный рассказ https://www.youtube.com/watch?v=H47TwFVOVB4

      Кроме того, есть, например, такой детектив про favicon https://www.youtube.com/watch?v=Y4LSYQVseiM


  1. parasapiens
    14.02.2017 19:42
    +2

    Специально зарегистрировался в надежде на ответ.
    Лично я (и многие знакомые) много сделок не совершаю на авито из-за отсутствия:
    1) Механизма безопасных сделок. Я не могу что то купить в Москве Или Петербурге потому как большинство продавцов хотят предоплату (на наложенный платеж почти никто не соглашается, и правильно делают)
    2) Отсутствия рейтинга продавца и системы отзывов о продавце и товаре(один раз обжегся, больше за пределеми крыма на авито ничего покупать не буду, да и с продавцами в крыму были проблемы. Лучше уж на алиэкспрессе)
    3) Отсутствие предложения метода оплаты и доставки, каждый раз нужно звонить спрашивать и договариваться об этом отдельно

    В общем говоря при том что авито крупнейшая торговая площадка, и можно и есть много вещей который я и многие хотели бы купить-продать, в конечном счете отсутствует цельный механизм обеспечения сделок, хоть с того же али передрали бы :(

    А никакого развития проекта не наблюдаю, в кои то веки сделали доступ к профилю продавца (чтобы можно было посмотреть на другие его товары).


    1. Alexufo
      14.02.2017 19:58

      Покупал фотик gh2 с линзой из Омска. Перевел тридцатку без всяких бесполезных наложных платежей а тем более предоплат.как будто почта мне чем то поможет с возвратом. Там операторы вечно занятые. Вопрос доверия к продавцу при личном общении. Тем более когда товаров аналогичных мало риск кидалова маленький


      1. parasapiens
        14.02.2017 20:03
        +1

        Первая же сделка за пределами крыма, пообщались с продавцем нормально, перевел всего то 800р. Продавец удалил свой аккаунт и все. После такого лично я даже 100р не переведу неизвестно кому. Вам повезло, но на везение рассчитывать нельзя, нужен системный подход


        1. aklimenko
          17.02.2017 15:17

          А для кого существует предупреждение перед сделкой?
          Предоплату Авито не рекомендует отсылать.


          1. parasapiens
            17.02.2017 16:55

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


    1. Oldtuna
      14.02.2017 20:01

      Хоть Хабр скажет нам спасибо за нового пользователя :) Павел, внедрение механизма безопасных сделок — это здорово, но потребует от нас сильно усложнить процесс размещения объявлений новыми продавцами, надо будет их всех верифицировать, а выше комментаторы уже жалуются, что частных лиц меньше магазинов. Мы безусловно будем работать над тем, чтобы повысить надежность сделок, но это не такая простая задача, чтобы просто передрать с али. Над доставкой мы работаем, развиваем проект www.checkout.ru, при покупке товаров у некоторых профессиональных пользователей Avito можно оформить доставку через этот агрегатор прямо на сайте.


      1. parasapiens
        14.02.2017 20:19

        Про безопасные сделки это ладно, но рейтинг продавца крайне критичен чтобы уменьшить количество мошенников (а мошенники на авито сейчас это как бэ норма, уж извините).

        С точки зрения юзабилити использование сторонних малоизвестных большинству сервисов не будет успешным как по мне, доставка и оплата должны быть интегрированы в сам механизм сделки ИМХО, а то пойди на тот сайт, потом на этот вернись, вместо того чтобы совершить сделку в несколько кликов, как это уже давно реализовано на других площадках, только не в Росии

        Получается парадокс что мне легче тот же товар в али или ебее (зарубежом в общем) легче купить чем в России


        1. Oldtuna
          14.02.2017 20:32

          Выбор доставки интегрирован в механизм сделки, переходить с сайта на сайт не нужно, просто сейчас ещё небольшое количество продавцов подключили этот сервис, но их количество с каждым днем растет.


        1. Oldtuna
          15.02.2017 00:26

          Вот тут по ссылке, как работает доставка с возможностью заказа в другой регион и оплатой при получении, а внизу страницы ссылка на магазины, которые уже подключены https://www.avito.ru/reklama/delivery#buyer


        1. ukko
          15.02.2017 09:37

          Рейтинг и отзывы — очень важны и нам тоже. Мы это понимаем и прорабатываем различные варианты. Если у вас есть конструктивное предложение в каком формате модифицировать сайт — пожалуйста, пишите. Все пожелания мы собираем и анализируем.

          PS Недавно на сайте появился публичный профиль продавца, который помогает повысить (либо, наоборот, снизить) уровень доверия к продавцу.


          1. parasapiens
            15.02.2017 10:37

            В данный момент авито это доска объявлений а не торговая площадка, а дальше чтобы обеспечить сделку продавец и покупатель уже должны сами договариваться — «мавр свое дело сделал, мавр может уходить», а этого неудобно:

            Нужен полноценный механизм — Увидел объявление >>> Нажал кнопку «купить» >>> выбрал способ оплаты (Сбер, киви, наличными, другое) и доставки (почта россии, ПЭК, быстрая почта и т.д.) из тех которые продавец указал в своем профиле >>> получил товар >>> оставил отзыв. Таким образом вы экономите время и нервы клиентов и у вас появляется новый метод монетизации — комиссия за сделку

            Да будут недовольные которые не привыкли платить, но будут и те кто готов платить лишь бы избавиться от не нужной возни. Если глобальная переделка вызывает опасение руководства, можно для начала сделать два метода продажи:
            1) Разместить объявление (текущий)
            2) Разместить товар (с полноценным механизмом продажи как указано выше)


            1. ukko
              15.02.2017 10:55

              Спасибо. Мы уже движемся в этом направлении https://www.avito.ru/reklama/delivery#buyer


            1. kloppspb
              15.02.2017 11:01

              BTW, система оплаты избавляет ещё от одной проблемы. Периодически продаю там какую-то мелочь, скажем, в пределах полутора тысяч. И хотя никаких предложений поторговаться не обозначено, 80% звонков — «price/2 и забираю прямо щас». Одно время пытался разговаривать, но быстро понял что это пустая трата времени.


          1. parasapiens
            15.02.2017 10:41

            + также предлагаю создать еще один метод продажи — аукцион, есть мешок.нет, где уже все реализовано, но ПОКА он не достаточно раскручен


    1. Alexufo
      14.02.2017 20:03

      Здравствуйте, я по обьявлению.
      Обмен устроит? Http://sdfgh.ee/f1sb?23


      Парсер телефонов просил как то усложнить против банального ocr.


    1. martovskiy
      15.02.2017 10:22

      Про доставку.
      Описание
      Пример товара, который можно купить в любой точке России.
      Пока это пилот с "магазинами"


  1. Alexufo
    14.02.2017 19:54
    -1

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


    1. Oldtuna
      14.02.2017 20:03

      Потому что такие товары (неофициальные «копии» телефонов) на Avito продавать в принципе нельзя.


      1. Alexufo
        14.02.2017 20:16

        Юридически нет. А по факту выходит можно. Потому что фейков китайских там тонны и честно указать что это не оригинал нет возможности. И всех устраивает кроме жертв. Выходит какое то сопутствие мошенничеству ради имитации закона… Поэтому я убрал слово копия и после 50 гопника, думающего что ему повезло попасть на дешевый оригинал, продал копию со словами это копия, вас устроит? Устроила.
        Так же фигня с продажей зажигалок с камерами и прочих спец тех. средств сьема информации которые можно использовать только органам. Их не блокируете хотя менты за них сроки дают реальные.


        Вы уж сделали бы в телефонах обьяву какую. Осторожно фейки. И ликбез какой. Как не попасть на фейк. Кидалова страшно много.


        1. Oldtuna
          15.02.2017 00:35

          Так это с любым законом/правилом так, юридически нет, а по факту люди себе позволяют. Как написано выше в посте, модерация — это вечная борьба :)

          Ликбез сделаем. Про популярные способы мошенничества мы пишем тут https://www.avito.ru/safety/main


          1. Alexufo
            21.02.2017 10:24

            Введите самсунг s6. Там по 12тр масса телефонов и все 100% копии очень хорошего качества. Даже экран 4к. Даже проверку имей проходят.
            И таких аппаратов очень очень очень много.


  1. sidristij
    15.02.2017 00:11

    А сделайте секретный параметр в URL чтобы при добавлении объявления и редактировании мне не предлагали тонну платных услуг, которые я _НИКОГДА_ не беру :)


    1. iROOT
      15.02.2017 11:00

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


      1. kloppspb
        15.02.2017 11:04

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


    1. vleonov
      15.02.2017 12:12

      @sidristij
      Вы не поверите, но об этой проблеме тоже известно и идут исследования, как ее наилучшим образом решить. ^_^


  1. TITnet
    15.02.2017 10:08

    Почему на главной странице нет поиска? Сразу по всей России.
    Я не хочу выбирать конкретный город, хочу по всему Avito искать сразу.


  1. TheWinterMan
    15.02.2017 11:01
    +1

    Есть ли в планах создание API?
    Уст


    1. Oldtuna
      15.02.2017 11:03

      Думаем над этим уже!


  1. hard_sign
    15.02.2017 15:10
    +1

    Подскажите своим специалистам по UI несложную, но очень нужную функцию: поменять регион, в котором подано объявление.


    1. aklimenko
      21.02.2017 16:12

      Нет смысла в таком функционале.

      Если ошибся, можно дождаться истечения срока размещения и поменять город. Или попросить поддержку)


  1. iAlex
    16.02.2017 11:43
    +2

    Наверно странно прозвучит, но Добро Пожаловать на Хабр. С Вами наверно с года так 2008, как пользователь, менялось многое но сайт оставался прежне узнаваемый. Время от времени шлю тикеты «на конкретных разводил». Украдкой видел некоторые доклады, теперь точно знаю что изучу все.


  1. soniclord
    16.02.2017 14:09
    -2

    А считается ли объявление типа "ремонтирую холодильники" коммерческим? Вроде как бы не на постоянной же основе работа ищется…


  1. grin101
    16.02.2017 14:09
    +1

    Подскажите, почему нельзя подать объявление о сдаче в аренду своей квартиры, как длительно, так и посуточно? Второе объявление тут же блокируется.Живу в Сочи, у нас курортный сезон, своя специфика, имел по этому поводу переписку с поддержкой, все, чего удалось получить в ответ: спасибо за ваш интерес, у нас такие правила.


    1. Oldtuna
      16.02.2017 14:24

      Ваше второе объявление система модерации определяет как дубликат и блокирует его. Мы постоянно совершенствуем систему модерации, чтобы она учитывала разные специфики в разных категориях, будем над этим работать, спасибо за фидбек!


  1. neko_nya
    17.02.2017 09:19

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


    1. kloppspb
      17.02.2017 10:29

      сделать фотографию камерой смартфона

      А что мешает загрузить нормальную?


  1. Sony
    17.02.2017 16:17

    Вы бы лучше придумали нормальную защиту от тех, кто парсит объявления и собирает базы имя-телефон.
    Надоело получать спам-смски.


  1. moscow9990
    18.02.2017 19:36

    какие еще существуют операторы поиска на авито? (кроме -, для исключения слова)


    1. Oldtuna
      20.02.2017 11:22

      "" слова рядом


      1. moscow9990
        20.02.2017 11:39

        возможно есть еще? (был вроде бы !, правда не знаю, что делает)


  1. Wild_ButcheR
    21.02.2017 19:24

    сначала всех приучили к Авито, потом функции сайта стали платными. Ловко сделали…


  1. bodgo
    22.02.2017 12:17

    Уважаемые технические специалисты, рассказ интересный и познавательный.
    Раз уж решили делиться историей успеха, можно набраться наглости и спросить как у «конкурента».
    Есть доска объявлений, работает уже больше 10 лет. Специализация туризм.
    Вопросы:
    1. На чем бы посоветовали делать авторизацию пользователей? (сейчас размещение происходит без авторизации с указанием е-маил, по которому можно редактировать объявление) На сколько критично, для полноценной работы сервиса доски объявлений, авторизация пользователя?

    2. На сколько ресурсоемко добавление фотографий к объявлениям, с хранением на своем хостинге? Возможно порекомендуете какой то способ заливки графики, не сохраняя на своем сервисе?

    3. На сколько эффективна доработка «обсуждения объявления», (публичного и через личные сообщения) внутри сервиса?

    4. Поиск релевантного объявления в базе собственной системой поиска, это похоже одно из самых сложных технических заданий (по обсуждению это ясно) после «борьбы со спамом». Вопрос собственно, а не было ли идеи, отдать это на «аутсерс» поисковику? Я понимаю, что время индексации, актуальности и все остальное. НО ведь технически, «релевантность» как у гугла или яндекса, это же реализовать очень сложно. И на сколько вложения в «собственный поиск», вас удовлетворяют?

    5. Какой способ поддержки актуальности объявлений (кроме времени публикации) могли бы подсказать?

    Спасибо!


    1. vleonov
      22.02.2017 14:23
      +2

      1. Советовать что-то очень сложно. Авторизация нужна, само собой. Как ее делать – решать только вам, исходя из вашей специфики. Сейчас всё идет в сторону "социализации" – авторизации через соц.сеточки, посмотрите в эту сторону.


      2. Для нас это не трудоемко. Решение, которое реализовали в самом начале зарождения Avito, работает до сих пор, особо не меняясь, потому что использовались максимально простые и эффективные решения. Когда-нибудь про хранение и обработку фоточек будет отдельный рассказ. Очень-очень кратко есть в докладике на 28-м слайде https://www.slideshare.net/pavlushko/avito-2013. Хранить ли на своих серверах или отдавать на сторонний хостинг – решать опять же только вам, что будет вам будет выгоднее и надежнее. Мы всегда придерживались первого.


      3. Личные обсуждения продавца с покупателем конечно нужны. Реализация публичного обсуждения кажется сомнительной.


      4. Сложных технических задач очень много и это не только борьба со спамом, с мошенниками или релевантность поиска. Идей про поиск и релевантность у нас было очень много, причин не отдавать это на "аутсорс" тоже много.


      5. Тут все зависит от вашей специфики: публикации, редактирования, платные/бесплатные поднятия и многое другое.