Рассказ про работу в Яндекс.Такси на дорогой машине в Эконом классе в маленьком забытом провинциальном городишке. Личные наблюдения, подсчеты, экономика. Неприятные моменты и негодование над логикой и позицией Яндекса в определенных случаях.
Сервис развивает заказ такси из соцсети больше года, но первый 1 млн поездок получил в апреле.
Агрегатор «Ситимобил» переименовал своё мини-приложение VK Taxi для заказа такси из «ВКонтакте» и представил новую айдентику, сообщили vc.ru в компании. Теперь приложение называется «Такси “ВКонтакте”».
Сервис запустил рекламную кампанию, в том числе впервые на ТВ. В Санкт-Петербурге, Екатеринбурге, Новосибирске и Ростове-на-Дону, а позже и в других городах компания будет брендировать автомобили.
В мини-приложении «Такси “ВКонтакте”» можно вызвать и оплатить такси, разделить счёт с попутчиками, заказать доставку посылки с водителем. «Ситимобил» запустил его в июне 2019 года. В июле 2020 года пользователи впервые совершили 1,3 млн поездок за месяц — это треть от всего объёма с момента запуска сервиса.
За счёт обновления сервиса и рекламной кампании «Ситимобил» рассчитывает в третьем квартале 2020 года увеличить объём бизнеса «Такси “ВКонтакте”» как минимум вдвое, рассказал исполнительный директор агрегатора Виталий Бедарев.
Mail.ru Group владеет долей в «Ситимобил» (по данным «Контур.Фокус», 95,4% в компании принадлежат «О2о Холдинг», в нём по 45% контролируют ООО «Мейл.ру» и ООО «Цифровые активы» «Сбербанка») и полностью владеет «ВКонтакте». Группа создаёт собственное суперприложение на базе соцсети.
Время на прочтение
Российская компания VK намерена перезапустить свой сервис такси при поддержке крупных агрегаторов, сообщило агентство ТАСС со ссылкой на источник, знакомый с ходом переговоров. Партнёрство VK с транспортными компаниями позволит запустить сервис такси внутри социальной сети «ВКонтакте». Ранее компания-владелец соцсети прекратила сотрудничество с агрегатором «Ситимобил» после того, как последняя свернула деятельность в России.
Вероятно, VK запустит мини-приложение «Такси ВКонтакте» внутри соцсети при партнёрстве с одним из агрегаторов. В настоящий момент компания ведёт переговоры.
Один из партнёров интегрирует свои решения в «Такси ВКонтакте», которое будет функционировать в рамках «ВКонтакте», уточнил собеседник ТАСС. Пользователи смогут воспользоваться приложением во вкладке «Сервисы», однако сроки его запуска в компании не назвали.
В середине апреля совместное предприятие «Сбера» и VK в сфере транспорта и доставки еды подписало соглашение о продаже активов сервиса «Ситимобил» с управляющей компанией People&People. 1 мая состоялась передача активов сервиса новым владельцам. «Ситимобил» стал принадлежать компании ООО «Транс-миссия», которая владеет службами «Таксовичкоф» и «Грузовичкоф», а также входит в People&People.
Совместный сервис «Ситимобил» и VK, который создали на базе платформы VK Mini Apps, приостановил свою работу 31 марта.
Сначала немного воды и философии
Я не работаю и имею хорошие пассивные доходы (относительно человека, живущего в глубинке Свердловской области) сидя на диване. После развода испытал глубокую потребность в коммуникации, так как остался один дома.
Самым простым антидепрессантом мне на тот момент показалось работа в такси. И отвлечение от четырех стен, и социальные контакты и монетизация своего времени. Да и всегда еще с молодости была эта “мечта”. Это важное введение, чтобы читатель понимал мое дальнейшее сокрушение и негодование данным сервисом Яндекса. Весь текст ниже будет опираться как не крути на деньги, так как мой экономически построенный мозг привык всегда все изучать и считать.
Впрочем, данный пост я порывался написать уже давно, но хорошо, что оттягивал, дабы еще объективнее высказать свое мнение на все увиденные проблемы. Покатался я всего 2 месяца и сделал больше 500 заказов. Первые две недели активно тарабанил по 10 часов. Начало даже затягивать. Был огромный интерес, ощущение участия в какой-то игре, ощущение полезности, потребность в обратной связи и прочее. Потом решил так сильно не насиловать машину и темпы снизил, выходя только в выходные вечером. Хотелось бы вообще прекратить это занятие, но появилась даже зависимость и ощущение ломки, что вот надо уже пойти покататься. Это для тех, кто задумывался, но еще не попробовал данную сферу изнутри. Заглянув на эту кухню я сильно поменял отношение к водителям такси, в частности Яндекса. Перехожу к общим проблемам, которые, надеюсь, специалисты Яндекса услышат здесь и начнут решать.
Всем привет, хочу поведать вам одну очень интересную историю связанную с сервисом Такси ВКонтакте.
В один прекрасный вечер мне понадобилось быстро добраться до своего друга, я заказал такси со своей карты и наблюдая что таксист уже почти приехал, я начал собираться и выходить, когда вышел, увидел что такси уже уезжает без меня, я начал звонить водителю, но тот не брал трубку, я поднялся домой, написал в поддержку и вызвал себе еще одну машину, поддержка мне ответила что да действительно такая поездка была и деньги мне вернут за нее, на мой вопрос сколько это займет времени они ответили до 5 дней(на самом деле быстрее) как они пишут, не получив обратного возвращения моих денег спустя 4 дня, я решил написать им и поинтересоваться когда будет возврат средств(на балансе 0 рублей, даже сигарет не купишь, а курить хочется) в надежде получить возвращение средств пишу, и получаю ответ что деньги мне вернули, я радостный захожу в мобильный банк и вижу сумму ту что они должны были вернуть списали, и баланс моей карты стал отрицательным именно на ту сумму поездки, я в полном не понимании пишу в поддержку мол, за мой счет итак катался какой то человек, я попросил возврат средств, а вы решили списать еще больше, после долгого игнорирования меня поддержкой, они написали что во всем разобрались и вернули средства, я с облегчением вздыхаю захожу в мобильный банк и вижу что они вернули мне сумму поездки и теперь у меня снова 0))
денег за поездку я так и не получил, попытался позвонить в поддержку, они включают дурачков, видите ли списания мы не делаем)ИТОГ: не советую пользоваться данным сервисом, тк в случае конфликтной ситуации вы наврятли получите свои деньги, вот таким легким способом ВКонтакте зарабатывает деньги будто 90 еще не отступили или зеки сидят в поддержки, ДУРОВ ВЕРНИ СТЕНУ!!!
Лучшие посты за сегодня
Привет! Я — Влад Савин, и это KOTELOV! В этой статье я расскажу, как я заказывал такси через приложение VK на Android.
Тестирование производилась в Санкт-Петербурге, так как мне необходимо было заехать в наш питерский офис. Было 21:30. Идея воспользоваться vk taxi возникла из-за увиденных скидок.
Для начала я открыл приложение «Сравни такси», чтобы узнать стоимость других служб:
Как обычно Maxim показывает самую низкую стоимость, но я им не пользуюсь. Следующий по цене Ситимобил — является майловским сервисом, как и VK.
Открываем VK Taxi:
Цена без скидки дешевле, чем у Ситимобила, а со скидкой тем более. Заказываем! Такси находится достаточно быстро и рядом, правда с учетом архитектуры питерских дорог едет долго, так как необходимо искать мосты.
Пока жду фоткаю рабочих, которые ввосьмером в стиле ренессанса приделывают знак скотчем к столбу.
И как они катаются на своих тележках в виде самоката:
После заказа узнаю, что стоит оплата наличными, хотя я добавлял карту. Пишу водителю с вопросом смогу ли кинуть на карту или поменять тип оплаты:
Отмену не произвожу, так как сам не углядел, что стоят “Наличные”. В итоге нашел в карманах 200 рублей.
В дороге спрашиваю регистрировался ли водитель специально в VK Tax, как и ожидалось — нет, все произошло автоматически, и работает он от Ситимобила.
Далее пытаюсь попробовать разделить оплату между друзьями, но тут вижу баг, если нажимать на “Разделить на четверых”, при нажатии на “Разделить на троих” сработало (может у меня просто нет четырех друзей зарегистрированных в системе VK Pay или подобном)
Также нажал на значок сверху, им оказался “VK Еда”, из которой я достаточно проблематично пытался выйти:
Также обнаружил классную функцию скидки на проезд до определенных кафе и ресторанов:
Сервис VK Taxi является тем же Ситимобилем, но помещенном в VK и это сказывается. При использовании я хотел зайти прочитать сообщения в VK от друзей, но тогда я соответственно уходил с экрана взаимодействия с такси, что было не очень удобно. Также было пара лёгких багов, которые думаю скоро исправят и они некритичны. Порадовало, конечно, что я получил скидку и самую дешевую поездку из всех вариантов, но предполагаю, что скидки действуют только сейчас. Думаю VK taxi ждет интересное развитие, так как можно двигаться в сторону взаимодействия с друзьями в VK при вызове такси, но если хочется просто доехать без лишних примочек, то проще запустить тот же Ситимобил.
Сегодня новостей класса “бомба” аж целых две. Первая – про снижение добычи нефти странами ОПЕК+. Вторая – про неожиданно (для большинства наблюдателей) появившиеся в бюджете 2,5 триллиона рублей. По “бомбам” – сюжеты.
7. Реакция зрительного зала: Белый дом (США) не считает решение ряда членов ОПЕК+ сократить нефтедобычу разумным.// Без комментариев. Просто улыбнусь. https://ria.ru/20230403/neft-1862733059.html
Резюме: сюжет показывает, что страны ОПЕК+ прагматичны, и не желают поступаться прибылью в угоду политической повестке. А многочисленность стран – участниц “добровольного сокращения добычи” указывает на то, что повестка может формироваться не только коллективным западом.
Сюжет: бюджет. 1. Доходная часть федерального бюджета России пополнилась на 2,5 трлн руб. в конце марта.// Фактически, дефицит бюджета, возникший в январе – феврале покрыт. Точные цифры будут 10 апреля, когда сформируется оперативная статистика по первому кварталу. Скорее всего, дефицит в бюджете сохранится, но он будет примерно на уровне 1/4 части от годового планового дефицита, примерно от 1 до 2 триллионов рублей. https://www.kommersant.ru/doc/5912816 2. Более 2,5 трлн руб. налоговых платежей, поступившие 28 марта на обособленный счет в Федеральном казначействе, переведены в рамках механизма единого налогового платежа (ЕНП).// Как я и предполагал, рекордный дефицит бюджета имел технический характер. Как только система ЕНП более – менее заработала, дефицит пришёл к плановым значениям. https://www.kommersant.ru/doc/5913442?from=vertical_lenta 3. Правительство утвердило правила кредитования регионов на опережающее финансирование строек — речь идет о переносе расходов 2024 года на 2023 год для ускоренного ввода приоритетных объектов социальной и транспортной инфраструктуры.// Это то самое “опережающее финансирование”, про которое некоторые комментаторы говорили что это “новояз” и маскировка проблем. Нет, это не новояз. Это опережающее исполнение расходов, которые ранее были (ошибочно?) запланированы на более позднее время. https://www.kommersant.ru/doc/5912884
Резюме: ситуация с бюджетом выравнивается. Бюджет формируется не только из нефтегазовых доходов, и забывать об этом не следует. Скорее всего, дефицит по 2023 году будет выше запланированного, но точно не в разы, а процентов на 20, не более.
Товарная и валютная биржа. Рубль упал. Упал парадоксально. Почему – см. ниже. Нефть выросла. Urals (по трём источникам) – 49,71/58,50/60,73. Нефть Dubai – 78,49. Газ ТТФ – 564. Растёт. Биткойн – 27935. Индекс ММВБ – 2473, почти в середине коридора 2250 – 2750. Мировые валюты и фондовые индексы ничего интересного не показывают.
О долларе и его коридорах. Лучше всего ситуация с курсом рубля к доллару описана здесь: https://www.profinance.ru/news/2023/04/03/c8m1-pochemu-rubl-padaet-nesmotrya-na-rezkij-rost-tsen-na-neft.html Для ЛЛ: виноваты спекулянты, которые гонят курс вверх на малых объемах. Пруф: график курса доллара с указанием объемов: https://www.sberometer.ru/forex-now.php
Синяя линия – курс. Красные стрелочки показывают на объем (нижняя шкала, столбики). Прошу обратить внимание, что основное падение курса рубля (рост доллара) там, где объёмы минимальные. Где объемы побольше – курс рубля растёт (доллар падает).
Касательно моего прогноза на летний коридор. Напомню, что я скорректировал границы коридора с 60-66 на 65-71, в связи с изменением ситуации в мировой экономике (сильно упали цены на нефть, есть проблемы с финансовой сферой на западе). Датой входа в коридор я предполагал 1 апреля, но этого не произошло. Скорее всего, переход произойдёт позже, как это случилось прошлой зимой. Я предполагал переход курса в зимний коридор в середине ноября, а случился он в конце декабря. Ведём наблюдение. Прогнозные границы летнего коридора – не меняю. 65-71.
Резюме: С нефтью – сильный ход. С бюджетом – как и ожидалось. Катастрофа бюджета такого масштаба, какой нам рисовали некоторые комментаторы, невозможна. Проблемы бюджета имели технический характер, и в настоящее время успешно решаются.
Частное обращение: Несмотря на то, что мой бан закончился, и посты теперь публикуются на Пикабу – в обычном порядке, прошу по возможности заглядывать ко мне в Дзен, буду рад. Спасибо!
P.S. Счастлив, что вернулся!
Клиент всегда прав. И яндекс тоже.
Еще одна сторона эксплуатационной политики Яндекса – это жадность до каждого рублика, который им несут клиенты и водители. И если недовольного клиента яндекс заваливает промокодами, то водитель платит за всё во всех случаях. Кстати, клиенты мне не раз рассказывали, как мутят промокоды на бесплатные поездки тупо пожаловавшись на водителя. Просто перечислю, в чем угорает водитель в некоторых случаях:
1. Ты можешь проехать 3-5км до клиента, и клиент отменяет заказ. Если ты не успел нажать кнопку “на месте” даже будучи уже в 50 метрах – считай просто бесплатно прокатился. С клиента ничего не спишется, и водитель ничего не получит. Это нормально по мнению Яндекса. Хотя могли бы разделить ответственность хотя бы на радиус прибытия метров 200 и базовое списание делать.
2. Ты можешь приехать за клиентом, прождать его 10 минут, а клиент не выйдет. Ты отменишь заказ сам. Если у клиента не привязана карта и оплата должна была быть наличкой, то яндекс тебе не оплатит этот заказ. По сути, это проблемы яндекса, как он получит деньги с клиента сейчас или в будущем. Но яндекс говорит мне: мы ничего на не заработали на этом клиенте, поэтому и вам ничего не заплатим. Хотя я помню у меня как у пассажира не списались деньги с карты, дак яндекс завалил предупреждениями и потом списал с новой карты мой должок за старую поездку. То есть эти ребята своего не упустят, а водиле “обосновано” покажут фигушку, сославшись на свою непричастность к ситуации.
3. И самый неприятный момент трехсторонних отношений произошел у меня на днях. Это для #yandex прям претензия. Я отвез клиента, ему не понравилась слишком “высокая цена”, оплата у него наличкой и он сказал, что не будет платить. Клиент захотел выйти и ушел. Яндекс был проинформирован о ситуации путем записи конфликта. ТП яндекса сказала, что разберется и возможно заблокирует пользователя. Но самое удивительное – яндекс с меня взял свою комиссию за этот заказ не смотря на то, что заказ не был завершен и оплачен. Я раз 10 написал в службу поддержки, но первая линия твердолобо сыпет шаблонами “мы проверим, мы накажем, но комиссию не вернем”. Видите ли, ТП считает, что услугу мне оказали, когда дали мне этот заказ, а значит оправданно взяли за него комиссию. Это вообще дичь в моем понимании тех процессов. В одном случае они себя делают непричастными к заказу, в другому они оказывается оказали мне услугу. Ну ладно, оказали услугу, дали мне клиента из своей базы и дали заказ. Давайте тогда говорить о качестве услуги, которую оказал мне яндекс, как водителю такси. Где логика? Здоровая голова, учитывая все нюансы, могла бы просто вернуть комиссию. Ведь кроме удержанной комиссии я понес и так убытки: забрать клиента и отвези. Я к этому в целом готов, что люди могут быть неадекватными. Но к неадекватности яндекса я готов не был и искренне полагал, что тыльная сторона работы имеет хотя бы малейшую поддержку водителей, которые для них несут деньги. А оказалось – их хата с краю. Огромный минус этому Сервису.
Будни такси ВКонтакте
Артем Пулявин руководит фронтенд-разработкой в Ситимобил и на конференции FrontendConf 2020 рассказал про такси ВКонтакте: как проект начинался и каким он стал.
Проект задумывался внутри Ситимобил как экспериментальный, но за год по количеству поездок вырос в 30.000 раз. Артем поделился своими выводами о том, как удалось добиться таких результатов. Вы узнаете про процесс разработки, который теперь удовлетворяет ненасытных product-менеджеров, а еще как команда «Такси ВКонтакте» обходится без алертов, чем логирует ошибки и как расследует инциденты.
Энергоемкое приложение Яндекс. Про
Это видимо вообще беда всего ПО от Яндекса. У меня телефон не сильно старый, флагман 19 года – Samsung S10e. Переваривает до сих пор вообще всё без тормозов. Батарея живая, к вечеру оставалось всегда 15-40% заряда. Но поставил я приложение Яндекс.Про, чтобы иметь возможность принимать заказы в такси. И заряд из телефона просто начал утекать как не свой. Приложение висит в памяти всегда и его нельзя уводить в режимы сна, иначе оно ругается. Поэтому когда телефон просто даже лежит, заряд утекает процентов по 10 в час. А если с приложением Яндекс.Про еще и работать, то еще быстрее. Поэтому разумеется в машине телефон всегда на зарядке теперь. А когда кататься в такси не планирую долгое время, то разрешаю телефону уводить приложение в сон через “нехочу”. И только тогда я в руках чувствую холодный корпус телефона. Иначе, приложение постоянно жрет его ресурсы и телефон будет всегда теплый. Видимо удивительные технологии использует яндекс, раз садит махом мой аккумулятор. Это кстати еще один вопрос амортизации не только машины, но и телефона. Ведь аккум убьется в таком режиме (зарядка-посадка) весьма быстро, и также быстро выгорит экран амоледа. Ну ладно, это реально мелочи на фоне стоимости ТО и резины.
У меня еще стоит приложение Яндекса (общее такое). Ставил его ради автоматизации Алисы у себя дома. После установки тоже заметил, как просела работа телефона. У яндекса это родовое видимо. До сих пор не понимаю, почему нельзя для автоматизации умного дома через Алису выпустить отдельное приложение. Приходиться ставить целый комплекс Яндекса с его браузерами и прочими ненужными сервисами. Минус.
А что со стабильностью?
С первого дня, как мы вытащили кодовую базу наших аутсорсеров и подключили New Relic Browser, начали сыпаться ошибки. Ошибок было очень много и разных, начиная от того, что у нас не было полифилов на старых девайсах и заканчивая ошибками какой-то бизнес-логики. Мы это все быстро пофиксили и все приложение покрыли New Relic логами. Логи сделали трех уровней — info, warning, critical:
Мы используем обычную rest-ручку и кидаем эвенты с контекстом на бэкенд. Все эвенты обрабатываются Filebeat через Logstash в Elasticsearch, а мы в итоге видим всё это в Kibana:
Мы можем задать конкретный id пользователя и посмотреть все эвенты, которые произошли, чтобы понять, на каком этапе что отвалилось:
Вначале, когда мы дергали эту рестовую ручку и кидали по логу за раз, мы уперлись в наш rate limit, так как сисадмины выставили rate limit на бэкенде на количество запросов. Поэтому мы сгруппировали логи в несколько стримов:
- Apps logs — пачка по 5 штук. Например, пользователь пришёл на какой-то экран, нажал на какую-то кнопку, сделал запрос, получил данные.
- Analytics logs — пачка по 10 штук. Таких логов очень много — наши аналитики строят по ним дашборды.
- Important logs (например, событие открытия приложения app_open). Это важные логи, которые мы сбрасываем моментально. Например, если приложение не загрузилось, то мы смотрим, а произошел app_open или нет. И если произошёл, то ищем, в чем же реально возникла проблема у пользователя.
- По time out — каждую секунду, даже если не набрали пачку из 5 или 10 логов.
А еще у нас есть логи балансировщика. По ним мы можем увидеть вызовы пользователем всех методов, которые он вызывал (что он отправлял, что получил, где запятисотило, что не так ответили мы). По ним тоже можно инцидент расследовать.
У нас нет алертов
Сейчас New Relic мы используем как дашборд фона наших ошибок. Но и не только ошибок. Например, мы можем увидеть, сколько открытий приложения было за полчаса или сколько раз мы обращались в storage ВК за какое-то время (и если обращений стало меньше, то это сигнал, что что-то идет не так).
Фон этих ошибок будет всегда, от них нельзя избавиться полностью — мы используем новые фичи, которые поддерживаются не у всех пользователей: все еще много старых девайсов и старых версий браузеров, и даже старых версий ВК. Поэтому главное — следить за фоном ошибок и держать его под контролем. Перед деплоем мы сначала смотрим на фон ошибок, потом релизим и наблюдаем за ошибками — если их становится больше, мы откатываемся или, если что-то не критичное, то делаем хот-фикс.
Ребята на бэкенде используют New Relic алерты — строят графики, base line, и если график выходит за base line, им приходит СМС (или звонит девушка из Алабамы) о том, что все плохо. Но мы не видим в этом смысла, потому что у нас нагрузка и так всегда большая, поэтому как раз по девиации фона ошибок мы и видим, если что не так пошло во время релиза.
Например, мы использовали фон ошибок New Relic, когда Google Tag Manager перевели в асинхронный режим и на 10% ускорили загрузку приложения. Еще был момент, когда у аутсорсеров в bundle грузилось много ненужных библиотек, и мы это увидели благодаря New Relic — вырезали и вычистили все ненужные. Но он все же не покрывает все наши потребности, поэтому мы используем и другие инструменты.
Дополнительно мы проводим Smoke-тестирование на production — когда релизим, тестировщик проверяет базовое flow поездки. И здесь нам важнее, чтобы сама процедура заказа работала. Может отвалиться история заказа, рейтинг водителя – это не страшно. Главное, чтобы человек мог зайти, выбрать точки А и В, нажать ЗАКАЗАТЬ, и к нему бы приехал водитель.
Sentry
Если New Relic дает общую картину, то Sentry мы используем для групповых вещей. Он позволяет группировать ошибки по версии ВК, по платформе, показывает их частотность и помогает своими breadcrumbs. Например, пришел какой-то запрос на сервер, потом еще один, а потом пользователь куда-то кликнул и произошел exception. Для разбора таких инцидентов мы и используем Sentry.
Но часто нам приходится работать и с единичными инцидентами, исследуя, что же у человека не так пошло. Об этом нам пишут SMM менеджеры, и это — наш единственный источник алертов, они помогают нам быть в тонусе:
По id клиента в ВКонтакте нам нужно понять, что у него случилось: не запускается приложение, не загрузился bundle, VK Bridge не инициализировался, поездка не совершилась или что-то другое. Чтобы понять конкретную проблему, мы используем логи.
Это какая-то игра.
В заключении длинного рассказа про работу в Яндекс.Такси на дорогой машине в Эконом классе в маленьком забытом провинциальном городишке я хочу подвести некие итоги. Яндекс всегда на стороне клиента и это хорошо. А на водителей он плевал по многим параметрам. Начиная с отжимания денег за некачественно предоставленные заказы, заканчивая безлимитной эксплуатацией имеющихся у людей ресурсов – их авто. Кстати, с учетом подорожания машин и всех расходников цены не изменились. Это тому доказательство – ведь водители купили машины, колеса и масло раньше, до скачка цен.
Но несмотря на всю эту несправедливость, все равно продолжает тянуть покататься иногда в такси. Даже за эти копейки, даже пусть кинут, а яндекс сдерет свою комиссию. Положительных эмоций остается больше. Сколько раз за день слышишь “спасибо” от людей – мне и этого достаточно. С кем-то можно поболтать в дороге, если клиент сам начинает диалог. Часто расспрашивают о машине. Если непонятны мои мотивы – читайте начало статьи.
Работу через приложение Яндекс.Про воспринимаю как игру. Поступают заявки, ты их принимаешь. Должен доехать до цели, дождаться и отвезти на другую цель. Какое-то осмысленное перемещение по городу гораздо интереснее, чем я просто садился иногда и наматывал круги, слушая музыку. Но машину жалко, за смену 200км пробег ведет к ТО, которое я не планировал в эти сроки и с этими ценами новыми. Поэтому надеюсь хватит сил удалить приложение и вспоминать о Яндексе, как о новом опыте. Да и сам теперь сдачу с таксиста никогда брать не буду.
Убыток от работы в такси Яндекс
После рассуждений о классах комфортности плавно перейдем экономическую часть. Она касается только моего небольшого города численностью 84т.человек. 80% заказов я выполняю за 85-100 рублей. Есть часы пик, где можно плюсом получить 20-50 рублей (повышенный спрос), но они довольно коротки и не влияют так сильно на общую выручку, ведь там и скорость выполнения заказа снижается (пробки). Можно еще катать только по выходным, что я и начал делать последнее время, когда народ активно двигается по гостям, а на дороге одни таксисты. В такой ситуации максимально удается выполнить 4 заказа в час. Почему четыре? Потому что среднее расстояние до заказа 2-3км. Это кстати тоже мое заблуждение, ведь я наивно думал, что таксисты получают заказы всегда поблизости (300 метров и до 1км), что и объясняло бы мне выгоду везти за 85 рублей. Итак, до клиента надо доехать эти 3км, что занимает допустим 5 минут. Клиента надо подождать, что занимает еще 1-3 минуты, клиента надо отвезти, и это еще займет минут 5-7. Вот и получаются 15 минут. С учетом непрерывного потока заказов мы получаем 4 заказа в час. На неделе заказы поступают реже и иногда надо стоять и ждать минут 15 до заказа. На выходных они идут один за другим, плюс повышенная ставка на 20-30 рублей иногда.
Теперь посчитаем, сколько водитель зарабатывает, выполняя один заказ за 85 рублей. 15% от заказа забирает Яндекс (у кого-то еще больше), 5% автопарк, еще комиссия за вывод 2%. Условно округлим, что забирают 20 рублей из 85. Водителю остается 65. Расстояние до клиента 3км, везти его допустим 4км. Расход бенза 9 литров на сотню при цене 50р за литр. То есть 1км мне обходится в округленно в 4 рубля (занизил даже). Значит на клиента мы тратим только бензина на 30 рублей. Чистыми на руки остается 35 рублей за 15 минут, или 120-150 рублей за час. И это еще без учета амортизации самого авто, масла, резины, мойки, ТО и т.д.
150р в час получают разносчики рекламы, не имея при себе дорогостоящего оборудования и каких либо материальных рисков. Что же это получается? Работа в такси, по моему небольшому счету – это средство выжить здесь и сейчас, когда у человека трудная жизненная ситуация. Это эксплуатация твоего автомобиля как бесплатного ресурса, который ты купил когда-то давно и даже не думаешь о его себестоимости. Только так и удается Яндексу конкурировать с действующими таксопарками в городах. Хотя, справедливости ради, отмечу, что познакомился (пока вез) с другими разными таксистами Яндекса и многие отмечают возможность зарабатывать грязными 80т.р в месяц (без вычетов на ГСМ и прочее). А некоторые хвастались, что уже поменяли вторую или третью машину (типа VW Polo), которую за 3 года убивают в такси и довольны своим заработком, поставленным на поток. А для клиентов конечно Яндекс выгоден, как минимум по двум причинам: очень низкая цена рядовой поездки (85р против 120р у местных парков), а также возможность уехать в часы пик (хоть и дороже, рублей за 150), когда в местных парках не хватает машин в это время.
Не сомневаюсь, что в больших городах экономика поездок совсем другая. Возможно те же расстояния там чаще выполняются по повышенным ставкам. Хотя сам ночью ездил на такси по Екб также по 90 рублей такие же отрезки. Но раз такси пользуются пассажиры, раз в такси работают водители, значит это кому-нибудь нужно. Значит еще могут в аренду брать авто у таксопарка и отбивать ее каким-то образом. Могут брать новые машины в кредит и окупать за 3 года. Чудо.
Машина за 2 ляма в Экономе.
Кто хоть раз пользовался услугами Яндекс.GO, знает, что можно выбирать уровень комфорта, с которым хочется перемещаться. И от этого растет цена за поездку. Есть там Эконом, Комфорт, Комфорт+ и т.д. У меня машина Шкода Кодиак 21 года. Это большой кроссовер, где для пассажиров сзади чуть ли не пол метра свободного места для ног (можно даже вытянуть). Как в Шкоде Суперб. Цена этой машины больше 2 млн, а нынче и того больше. Каждый пятый пассажир глубоко удивлялся, когда вызвав Эконом, к нему приезжала такая машина. Некоторые переспрашивали, не ошиблись ли они при заказе. Я успокаивал и приветливо предлагал проехаться с комфортом. Привыкши к тесным Ладам Грантам и старым Нексиям, все конечно оставались довольны от поездки и уровня комфорта данного авто (я и сам тащусь).
Так как цель заработка не стояла на первом месте, я терпеливо принял реальность Яндекса и катал людей в экономе за 85 рублей (цена поездки), радуясь, что хотя бы бензин окупаю и себя развлекаю. Но будучи любознательным и упертым попытался разобраться в проблеме классов авто своего города.
Почему же я катаюсь в Экономе? Ответ был на поверхности. Моей машины (марка и модель) нет в списке Комфорт. Более того, ее нет и в списке машин Комфорт ПЛЮС. Задолбав поддержку и съездив в Екатеринбург, я все таки стал претендентом на Комфорт Плюс, но не прошел очный экзамен по вацапу, отвечая на тупые вопросы типа “если в салоне воняет, ваши действия?”. До сих пор не пойму как я получил диплом в институте, если даже уровень тестов “базар-вокзал” мне оказался не по зубам. На этом не остановился, ведь можно пойти на “пересдачу”. Вопрос оставался – почему не могу у себя в городе выйти из Эконома. Ведь тут был парадокс: моя машина не подходит в комфорт, и тут же берут в комфорт ПЛЮС, но комфорт+ в моем городе не предоставляется. Убедившись, что шансы работать в повышенных классах у меня все таки есть, только не в моем городе, я отпустил эту парадоксальную ситуацию. Просто за свой город обидно, почему тут не дают Комфорт+ для клиентов. А для себя я решил, что лучше буду в экономе, чем начищать ручки, пороги и стекла перед каждым клиентом в текущую погоду – ведь в экономе без претензий.
О продукте
«Такси ВКонтакте» — это сервис на платформе VK Mini Apps, который позволяет заказывать такси внутри приложения ВКонтакте. Такси ВКонтакте — официальный суббренд Ситимобил, то есть такой же бренд наравне с Ситимобил.
В целом, до Ситимобила нам еще далеко — пока это 1 к 5, но если считать от общего трафика, то это очень даже много. На старте никто не верил в нас: «Такси ВКонтакте – кто этим будет пользоваться, зачем на это тратить ресурсы и время?» И когда мы делали 30 поездок, нас серьезно никто не воспринимал. Но мы захватили потерянную часть аудитории, которой нет в Ситимобил (там люди от 25 до 45) — молодых людей от 16 до 23 лет. Сейчас мы делаем больше ста тысяч поездок и мы официальная большая платформа.
Такси ВКонтакте – это:
- ~ 4 миллиона пользователей в vk.com/taxi;
- ~ 250 тысяч подписчиков в vk.com/vktaxi;
- ~ 250 тысяч DAU (активных пользователей в день);
- ~ 2.2 миллиона MAU (активных пользователей в месяц).
Наша команда сейчас состоит из 12 человек:
- 2 product-менеджера;
- 5 фронтенд-разработчиков;
- 1 бэкенд-разработчик;
- 1 дизайнер;
- 2 аналитика;
- 1 QA.
А еще мы брендируем машины в наш логотип. Сейчас такие машины катаются по Санкт-Петербургу. Поэтому если вы закажете Ситимобил либо такси ВКонтакте, к вам может приехать наша раскрашенная машина:
Начинали мы как экспериментальный проект внутри Ситимобил. Экспериментальный потому, что никто на тот момент не знал, будет ли кто-то вообще пользоваться такси внутри ВКонтакте. Нам нужно было сделать MVP и проверить эту гипотезу. Сделать MVP — это собрать команду, которая будет разрабатывать этот продукт, и обычно это долго и дорого, а нам нужно было быстро.
Мы нашли аутсорсеров, которые за несколько месяцев сделали нам первую версию проекта. Тогда мы назывались «ВК такси». Мы разместили в нашей официальной группе Ситимобил новость про новый сервис и ссылку на него. Никакой рекламы не делали, но в течение месяца мы увидели, что сервис генерирует 30 поездок в день. И эта маленькое, но хорошее число было показателем того, что сервис интересен — мы поняли, что сервис можно развивать. И весной 2019 года мы сформировали для этого внутри Ситимобил маленькую команду из 3 человек:
- 2 фронтенд-разработчика;
- 1 product-менеджер.
VK Mini APPs
ВКонтакте движется в сторону SuperApp, где пользователь может удовлетворить все свои насущные проблемы: заказать еду, такси, химчистку, вызвать клининг, поиграть в игрушки и т.д. В результате весной 2018 года была анонсирована платформа VK Mini APPs. По сути — это WebView, который запускает URL c вашим сайтом, а вы в нем что-то показываете. Для того, чтобы вы могли коммуницировать с родительским приложением в ВКонтакте, ВК предоставляет библиотеку VK Bridge (раньше она называлась VK Connect). Через нее можно сделать запрос к VK API, получить данные пользователя, а помимо этого:
- Включить / отключить нотификации Mini Apps;
- Получить консистентные данные из VK Storage — это хранилище, которое закрепляется за пользователем ВК, и неважно, на каком девайсе он авторизован.
- Платить через VK Pay — внутреннюю платежную систему внутри ВК;
- Запросить геопозицию через VK Bridge, используя нативные инструменты самого девайса:
Автопарки и комиссия – ни кто не знает
Решив попробовать работу в такси я разобрался в логистических цепочках получения реальных денег и выбрал на авито первый попавшийся автопарк с красивым именем Golden Park. Автопарк – это просто посредник, занимающийся выводом денег за свой процент. В голдене обещали брать комиссию с заказов 1%. Обещание выполнили, но плюсом яндекс с меня брал 25% за заказ. В разговоре с другими таксистами узнал, что они платят яндексу 13% с заказа в другом автопарке. Решил этот вопрос выяснить в тех поддержке яндекса. И знаете что? Я так и не узнал ответа. Они отсылают в автопарки и говорят узнавать комиссию у них, все автопарки отсылают в яндекс и говорят, что не отвечают за комиссию яндекса, а только за свою (1-5%). Яндекс тут главнее, и как я не пытался узнать почему мой знакомый возит за 13%, а я за 25% – так и не узнал. ТП меня убеждала, что такой комиссии нет у них. В итоге плюнул и подключился к тому же автопарку, что и мой знакомый. И у меня тоже уменьшилась комиссия Яндексу, но вырос % автопарку. В сумме все равно выгодней.
Почему поддержка яндекса не знают сами ничего про свою комиссию – это кажется странным. Из-за смены автопарка сменилось и приложение вывода денег на карту. Из-за этого в первом приложении Mozen застряла несгораемая сумма. Будет время и желание – помучаю их вопросом, что они обязаны мне вернуть все деньги и не замораживать какие-то суммы на счетах. Есть еще тема самозанятости, но это тоже для меня не выгодно по моим подсчетам. Кому нужны официальные доходы, то замозанятость тема.
Наш эксперимент
Итак, на момент старта у нас было три человека, 30 поездок в день и legacy аутсорс кодовая база. Перед нами стояло две задачи:
- Вырастить функционал проекта ВК такси до уровня Ситимобил. На старте у нас было маленькое примитивное приложение. Всё, что оно могло делать — построить маршрут: после нажатия кнопки «Заказать такси», мы могли увидеть на карте, как к вам едет машина, а после поездки — оценить её. И на этом всё. Это очень сильно отставало от того, что было в большом Ситимобил.
- Рост O2R до уровня Ситимобил. При заказе такси вы указываете точку А и точку В и видите цену заказа. После этого вы нажимаете ЗАКАЗАТЬ, к вам приезжает машина и вы уезжаете. Так вот время от момента, когда вы только посмотрели калькуляцию и до момента, как уехали — это наша внутренняя метрика Order2Ride. И нам нужно было показать, что проект «ВК Такси» конкурентоспособен, и для этого поднять эту метрику до уровня Ситимобил.
Единственным вариантом поднять метрику и дорастить базовый функционал был — пилить фичи.
VK UI
Нашей команде из трех человек product поставлял задачи, оформленные в виде mock-up — у нас не было дизайнера. Поэтому нас очень сильно выручила библиотека VK UI, которую вместе с VK Bridge предлагает Mini Apps.
VK UI — это набор компонентов, написанных на ReactJS (именно поэтому наше приложение написано на ReactJS), и они очень схожи с компонентами самого ВК. Поэтому, хотя пользователь уже вовсю использует Mini Apps, ему кажется, что он и не выходил за пределы ВК — всё так же нативно, как будто он пользуется внутренним сервисом ВКонтакте.
Много тестирования
Из-за того, что у нас был единственный Mini App, мы тратили очень много времени на тестирование.
В нашем Mini App был режим разработки в двух режимах — для теста и для релиза. Переключался он только на уровне приложения — в тестовом режиме наше приложение смотрело на тестовую площадку, а в релизном – на прод. И это тратило очень много нашего времени вместо того, чтобы работать параллельно.
А когда нам нужно было протестировать большую задачу – например, движение машины на карте, — то единственным способом было проверить это — реально вызвать такси и уехать куда-то. У нас было два офиса: один на Белорусской, второй у метро Аэропорт. Так что для теста мы заказывали такси и ехали к коллегам, на обед и так же возвращались назад — так проходили у нас e2e тесты. И на это тоже уходило очень много времени.
Quality Assurance
Понятно, чтобы разгрузить нас, нужен был QA. Но перед наймом QA мы решили, что нам нужно больше тестовых площадок — нельзя же давать QA возможность переключать режимы. Мы пообщались с командой ВК, и они нам предложили классное решение — создать для нас больше отдельных Mini Apps, без включения общего доступа (но вручную администраторов мы туда могли добавлять). Для каждого Mini App было несколько веток и свой отдельный url, который подгружал этот Mini App. При пуше запускался наш GitLab CI и релизил пуш на url, смотрящий на одну из тестовых Mini App.
Таких тестовых площадок мы сделали три (сейчас их гораздо больше):
- Stage был предназначен для разработчиков. Они разрабатывали (и до сих пор так делают) всё локально. И когда им нужно поработать с реальным VK Bridge внутри ВК, они релизят приложение на stage и смотрят, как оно реально работает.
- Test — эту площадку мы отдали тестерам.
- Демо-площадка — для PM, чтобы он мог показывать наши эксперименты директору по продукту и давать нам фидбэк.
У нас по-прежнему один QA, он по-прежнему всё делает руками. Но мы сейчас работаем над автоматизацией — хотим прогонять UI тесты на Cypress + PhantomJS. Чтобы при пуше или создании MergeRequest запускался пайплайн, генерил видео и закидывал его в MergeRequest,. И по результату можно посмотреть по видео, что пошло не так. Постепенно мы к этому придем.
Оптимизация devs и QA
Понятно, что разработчики не будут релизить что-то на тестовый стенд QA, когда QA хочет протестировать какую-то фичу. Поэтому мы оптимизировали этот процесс.
Мы создали маленькую утилиту, которая автоматически выкатывала ветку на тестовую площадку. В JIRA появлялись ссылки на MergeRequest, QA запускал скрипт и выкатывал нужную фичу-ветку на свой стенд и там ее тестировал. Так наш QA не зависел от разработчика (и снял с него часть работы), а разработчик не тратил время на раскатку для QA.
Но почему-то процесс разработки у нас все равно не ускорялся.
Мы проанализировали наш flow: разработчик берет задачу, переводит ее в IN PROGRESS, далее CODE REVIEW и TESTING. Эту ветку мы деплоили на DEMO и показывали product’у, и если product говорил, что все ОК, мы релизились. Если нет, то возвращали в IN PROGRESS и дорабатывали:
И стало понятно, что мы тратим много времени на подготовку демо, и это в условиях, когда у нас нет дизайнера. Хотя разработчики сами решали какие-то проблемы из-за этого, все равно не все use cases были описаны и дизайн не был детализирован, а об edge cases вообще никто не думал. Поэтому мы поставили этап DEMO после IN PROGRESS:
И получили профит! Разработчик выкладывал задачу product’у на демо и получал от него фидбэк. Они могли даже вместе сесть и начать что-то править по ходу. Например, забавно было с фичей «Разделить поездку с друзьями». Мы ее пилили в спокойном режиме, а product, увидев, загорелся: «Классная фича! Давайте быстрее. Будем показывать ее в рекламе». И нам пришлось максимально подключить все ресурсы, чтобы ее срочно зарелизить.
И как только product говорил, что это то, что он хочет, разработчик переводил задачу на CODE REVIEW, и там получали код, который готов идти на production без каких-либо правок. Тестировщик это все тестировал, и мы релизились. Это очень сильно сократило наш Time То Market, и так мы работаем до сих пор.
В заключение
Выводы, которые я сделал для себя за год работы над этим проектом:
- Следите за Time То Market. Для нас Time То Market была метрикой выживаемости и ее сокращение дало нам лучший профит. Мы зарелизили большое количество фич, нагнали аудиторию, в нас поверили и команда ВК, и внутри компании, и мы достигли тех результатов, которые сейчас имеем. Поэтому экспериментируйте. Если видите какие-то блокеры, меняйте процесс — ничего страшного в этом нет.
- Данных для расследования инцидентов мало не бывает. Используйте различные инструменты, покройте все ваше приложение логами, и тогда вы можете четко понимать, что же пошло не так у конкретного пользователя. VK Mini Apps — это круто. Очень рекомендую эту платформу, потому что аудитория в приложении ВК порядка 200 млн. Делая Mini Apps вы можете попасть в ротацию, в саджесты — вы сразу, без какой-либо рекламы, будете доступны своей аудитории. Здесь можно свой pet-project замутить или проект в рамках компании перевести на Mini Apps.
Конференция FrontendConf 2021 пройдет 29 и 30 апреля 2021 года (да, офлайн!) в Москве, в бизнес-центре Radisson Slavyanskaya.
И еще одна хорошая новость в преддверии фронтенд-конференции. 22 декабря в 17 часов будет открытый митап для всех неравнодушных к красивым и производительным интерфейсам «Frontend: от эстетики к хардкору». Вы узнаете, как создавать красивые анимации, сохраняя высокую производительность. И можно ли автоматизировать тестирование UI, используя только хэшированные классы и немного магии при сборке проекта.
В программе будет доклад о Лотти и создании приветственных экранов от Максима Кузнецов. После него выступит Илья Тупицкий и расскажет про автотестирование по hash-классам, а в конце встречи будет обсуждение «Хорошие практики современного фронтенда». Регистрация на митап здесь.
Присоединяйтесь сами, зовите коллег, готовьте вопросы для спикеров.
До встречи на митапах!