Русский
Русский
English
Статистика
Реклама

Блог компании сбермаркет

История одного личного кабинета, который помог нам сделать 15 000 курьеров и сборщиков немного счастливее

13.04.2021 14:10:30 | Автор: admin
Когда мы видим какой-то сервис, мы сразу же спешим оценить, насколько он удобен и полезен. В случае со СберМаркетом клиенту нужны понятный интерфейс, обширный каталог товаров, все подробности по доставке, разные системы оплаты и так далее. Так сервис выполняет свою функцию, а пользователь остается доволен услугой.

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

В сентябре 2020-го мы собрали кроссфункциональную команду из разработчиков, аналитиков, дизайнеров, бухгалтеров и операционного отдела и сосредоточились на невидимой для пользователя стороне СберМаркета: личном кабинете для курьеров и сборщиков заказов. Мы сделали его с нуля за 3 месяца.

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





ИТ-решение вместо амбарной книги



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

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

Что хотят знать партнеры?

  • Сколько заработали вчера и сколько получат в ближайшее время.
  • Что об их работе думает клиент.
  • Количество своих заказов.
  • Свою скорость сборки.
  • Личный рейтинг, который формируется из пользовательских оценок. На основе рейтинга рассчитываются премия и бонусы.


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

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

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

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

Мы поняли, что так продолжать нельзя. Нужно дать людям удобный личный кабинет для работы.

Как он выглядит



Это раздел в уже существующем приложении, куда партнерам падали заказы от клиентов. Основных экранов три: главная страница, список заказов и список позиций в заказе.

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

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

Что на экране позиций в заказе: карточки продуктов и товаров в сборке или доставке плюс кнопка информации о заказе, инфо о клиенте, вес заказа, временной слот и так далее.



Личный кабинет помог нам на 15% снизить нагрузку на супервайзеров. Теперь все ответы есть в ЛК. С выплатами вознаграждений тоже стало проще: от потоковой системы сверки мы пришли к претензионной системе.

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

Как личный кабинет помогает бизнесу



Мы пилили ЛК, ориентируясь не только на потребности партнеров, но и на задачи операционного отдела. В это время СберМаркет готовился перейти на еженедельную систему выплат. Без ИТ-решения нагрузка на супервайзера бы кратно выросла. К тому же, нам надо было грамотно оповестить всех партнеров о том, что теперь их вознаграждение будет приходить на карту чаще.

Теперь личный кабинет решает несколько задач сразу:

  • Легализация существующих костылей. Весь нужный функционал теперь в одном месте.
  • Повышение доверия к СберМаркет у партнеров. Когда сервис дает прозрачную аналитику по заказам, люди видят и знают, что никакая часть их работы не потеряется. Им спокойнее они лучше и охотнее работают.
  • Укрепление связи клиент-партнер. В ЛК сборщики видят комментарии от клиентов: Молодцы, все хорошо. Или наоборот: ну вот, привезли не ту шоколадку. Раньше эта информация могла дойти до партнеров только через супервайзера. Теперь сборщики и курьеры видят свои точки роста, могут работать над ошибками или радоваться положительной обратной связи.
  • Прозрачность и наглядность результатов работы. Сколько собрал, сколько заработал, как быстро довез теперь вся детализация доступна в любое время.
  • Повышение мотивации. Партнеры увидели, что их труд приносит кому-то радость, и даже узнавать постоянных клиентов. Так могут дать более хороший и персонализированный сервис.
  • Платформа для экспериментов. Что если мы захотим попробовать выплачивать вознаграждение не каждую неделю, а каждый день? В личном кабинете мы сможем быстро рассказать об изменениях. Раньше любые новости объявлял супервайзер.
  • Нужный функционал для найма гибких партнеров. Сейчас у нас около 15 тысяч сборщиков и курьеров. Большинство работает по фиксированному графику. Но есть и те, кто хотят работать нерегулярно и по паре часов в день. Личный кабинет помогает держать связь с такими партнерами и не терять их из виду, так как они гораздо реже других общаются с супервайзером.
  • Одно окно для любых вопросов. Мы постоянно увеличиваем количество партнеров. Общаться с тысячами людей сложно, поэтому ЛК призван стать удобным единым каналом коммуникации. Там можно узнать, спросить и понять любой вопрос, не нагружая супервайзера.


Как мы нашли все боли



В работе мы использовали несколько продуктовых подходов: UX-тесты, небольшие опросы на лояльной группе партнеров и большой опрос на 6 тысяч курьеров и сборщиков в конце. А еще собирали требования и обратную связь от бухгалтерии, юристов и отдела информационной безопасности, изучали конкурентов и проводили огромное исследование внутренних процессов. Личный кабинет оказался кроссдоменной задачей, поэтому нужно было учесть мнение всех участников.

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

Мы делали два UX-теста перед стартом работы и после выкатки первой версии. Получили несколько инсайтов:

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

    Здесь у нас сильно порвался шаблон. Мы думали, что делаем ЛК ради показа личной статистики (средний балл оценки, вознаграждения, количество заказов), но UX-тесты и опросы показали, что мы ошибались. Поэтому сперва мы начали работать над отображением оценки и комментариев пользователей по каждому заказу. Потом добавили статистику.
  2. Партнеры хотят видеть чаевые и того, кто их оставил.

    После первого MVP мы собрали второй UX-тест, сделали большой опрос и узнали, чего еще не хватает курьерам и сборщикам. Оказалось, что им хочется видеть в личном кабинете в том числе и чаевые: сумму за заказ и адресата. Механика чаевых была реализована на стороннем сервисе. Чтобы посмотреть свой чай, партнеру нужно было каждый раз логиниться в другом месте. Мы быстро добавили эту функцию в ЛК тут даже разработка не потребовалась.
  3. Номер заказа ни о чем не говорит партнерам: нужен список позиций или адреса.

    Окей, все видят отзывы от клиентов, чаевые и свою оценку. А как понять, за какой именно заказ тебя отблагодарили? Оказалось, что сборщики ассоциируют заказ с конкретными позициями: а, это тот, кто купил 100 киндер-сюрпризов!. Для курьеров фактор узнавания адреса. Поэтому мы добавили возможность провалиться в карточку любого заказа, увидеть позиции и другую информацию.


А что теперь



Мы быстро увидели, что 80% партнеров заходят в ЛК несколько раз за смену. Это превзошло наши ожидания. Кабинет работает на геймификацию труда: людям интересно видеть свой прогресс, он их мотивирует.

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

Дальше мы планируем масштабировать ЛК и на другие роли. Например, на партнеров-универсалов: это сборщики, которые сами доставляют заказ.

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

Когда пользуетесь каким-либо сервисом услуг (от такси, клининга, доставки и чего угодно еще) думаете о том, из чего оно состоит внутри?
Подробнее..

Как мы в СберМаркете боремся с товарами-призраками

14.01.2021 12:05:51 | Автор: admin
Так могла бы выглядеть наша команда, но мы на удаленкеТак могла бы выглядеть наша команда, но мы на удаленке

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

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

Из-за отмены всем станет грустно. Есть шанс, что в такой ситуации покупатель и вовсе откажется от сервиса, а компания потеряет потенциальную выручку. Чтобы пользователи не расстраивались и оставались с нами дольше, мы ввели метрику под названием доля ненайденных товаров. Она показывает процент таких продуктов от общего числа заказов.

Рассказываем, как мы внедрили алгоритм автоматического отключения таких призраков и уменьшили долю ненайденных товаров на 25%.

Как работает СберМаркет

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

К СберМаркету подключены сотни магазинов по всей России. В каждом уникальный ассортимент из десятков тысяч товаров. В общем каталоге сервиса больше 16 млн позиций. На таких объемах контролировать актуальность и наличие тяжело.

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

Идея алгоритма

В каждом из магазинов, подключенных к СберМаркету, есть постоянная команда сборщиков. Лидеры команды регулярно присылают в отдел контента список артикулов тех товаров, которые нужно отключить в каталоге: например, когда случилась задержка поставки или истек срок годности.

Исторически 70% таких артикулов имеют очень высокий показатель ненайденных товаров за последние дни продаж более 50%. Значит, нужно срочно заблокировать позицию в каталоге, чтобы клиенты не смогли купить то, что мы не можем привезти.

Выше представлена динамика неуспешных сборок по товару из категории фрукты в одном магазине. С 21 июня по 1 июля показатель ненайденных товаров был 100%. Хотя ретейлер передавал нам другие данные.

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

Было бы логичным отключить позицию еще в самом начале пика. Так мы спасли бы сборщиков от лишней работы, а клиентов от грусти и звонков. Как мы сформулировали задачу по итогам кейса: нужно построить такой алгоритм, который будет каждый час мониторить ненайденные сборщиками товары, отбирать из них самые проблемные и моментально отключать их в каталоге магазина.

И начали писать его на Python.

Как работает алгоритм

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

  2. Из базы данных наших заказов вытаскиваем историю последних сборок. Для каждого ненайденного товара берём историю THRESHOLD_ORDERS.

  3. Если в последних THRESHOLD_ORDERS заказах процент ненайденных товаров более THRESHOLD_CANCELLATION процентов, то эту позицию нужно заблокировать.

  4. Если товар ещё ни разу не блокировался или с момента последней блокировки уже прошло DAYS_NO_CANC дней, то товар блокируется на HIDE_1 дней.

  5. Если с момента последней блокировки товара прошло менее DAYSNOCANC дней, то:

    ~ товар блокируется на HIDE_2 дней, если текущая блокировка ставится второй раз подряд;
    ~ товар блокируется на HIDE_3 дней, если уже блокировался более двух раз подряд.

Пример параметров алгоритма для магазина:

'params': {  'DAYS_NO_CANC': 4,  'HIDE_1': 2,  'HIDE_2': 11,  'HIDE_3': 9,  'THRESHOLD_CANCELLATION': 0.4,  'THRESHOLD_ORDERS': 3  }

Параметры алгоритма подбирались отдельно для каждого магазина на исторических данных с использованием библиотеки hyperopt на Python. В процессе оптимизации максимизировалась метрика F-мера с beta 0.7.

Зачем так усложнять

Почему нельзя просто всегда блокировать товары на N дней? Зачем нам параметры DAYS_NO_CANC, HIDE_1, HIDE_2 и HIDE_3?

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

Кейс 1: товары нужно блокировать на маленький срок

У ретейлера A в магазине закончились бананы. Новую поставку смогут выложить в торговый зал через 1-2 дня. Бананы необходимо заблокировать на максимально маленький срок после этого они точно будут доступны для клиентов и сборщиков.

Кейс 2: товары нужно блокировать на большой срок

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

Со всеми эвристическими параметрами мы даем возможность алгоритму идентифицировать сезонные и аномальные ненайденные товары.

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

Параметр HIDE_3 нужен для того, чтобы сохранять длительные блокировки. Возможно, сок из второго кейса появится не через 2-3 недели, а через месяц. В этом случае после блокировки на HIDE_2 дней сок заблокируется на HIDE_3 дней.

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

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

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

Чего вам не хватает в сервисах доставки продуктов или у нас? Делитесь в комментариях подумаем над решением.

Подробнее..

HR-автоматизация за один день как экономить 8 часов в неделю на рекрутинге

15.12.2020 18:16:33 | Автор: admin
Привет, Хабр. Меня зовут Шагане Мирзоян, я отвечаю за продуктовую аналитику в СберМаркете. Мы с командой следим за тем, что происходит с нашим пользователем на сайте и в приложении, и ищем в этом процессе точки роста. Сегодня я расскажу, как мы пережили рост сервиса в 15 раз за 2020 год, а рост команды с 6 до 29 человек за 6 месяцев.

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

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

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





Раньше процесс подбора новичков был устроен просто. Отклики летели на нашу общую почту команды. На первый взгляд это отличное решение:

  • Все в одном месте.
  • Любой член команды аналитики может просмотреть CV и дать фидбек.
  • Push-уведомления при новых откликах мы всегда в курсе, что происходит.
  • Когда в команду требуется 2-3 новых члена в год, это очень удобно. Но если количество коллег растет по экспоненте (в какой-то момент мы стали получать по 1000 писем в неделю), общая почта сплошной бардак
  • Отклики на разные вакансии перемешиваются (теперь все в одном месте не такой уж и плюс).
  • Google очевидно завидует вашему кратному росту и ругается, когда в аккаунт пытаются зайти с десятка разных устройств. В итоге получение доступа к почте становится квестом.
  • Кто-то может случайно открыть чужое письмо и отклик потерян, а по ту сторону экрана грустит расстроенный кандидат.




Просуммирую: так историю изменений непросто найти, а кандидатов легко потерять. Хочется, конечно, наоборот.

Автоматизация на коленке


Решить проблему нам помогли два облачных сервиса: конструктор баз данных Airtable и Zapier, клей для наших костылей. Если вы зерокодер, то вы наверняка про них слышали.

В Airtable можно создать view по определенным условиям, например, показать только те записи, которые были созданы вчера. Zapier умеет в качестве триггера принимать появление новой записи в отдельном view. Таким образом, мы можем построить цепочку Если произошло событие Х, то нужно сделать действие Y.
Кастомизировать эти истории под себя можно сколько угодно этим мы и занялись. Теперь у нас появилась своя CRM-ка с кандидатами. Соискатели и их тестовые задания лежат в одном месте с привязкой к вакансии и статусу. Отклики приходят не на почту в Google, а в таблицу, как и любят все аналитики :). Бонусом буквально в пару кликов с помощью такого же принципа можно настроить пуши в Slack. Это помогает нам следить за прогрессом и вовремя отвечать соискателям. Бот тэгает только ownerа вакансии и не отвлекает остальных членов команды.

Airtable стал рабочей средой, в которой мы управляем наймом: держим все тестовые задания, контакты и имена, ведем резерв кандидатов и видим открытые вакансии. Zapier помог с переадресацией писем и автоматической отправкой заранее написанных ответов. Их, кстати, можно персонализировать, но об этом ниже.



Как это выглядит на примере воронки джуна



  1. Общая форма для всех вакансий. Кандидат выбирает, на что хочет откликнуться, пишет короткое сопроводительное письмо, прикрепляет CV.
  2. Ответ после отклика уходит автоматически это красивое сверстанное письмо с приветствием, ссылкой на тестовое и кнопкой отправить работу. Ссылка на задание вставляется динамически и может отличаться для разных вакансий. Кнопка с сабмитом тоже хитрая, об этом ниже.
  3. В Airtable появляется карточка со всеми данными по отклику.
  4. В наш канал в Slack падает уведомление о новом кандидате и тегом owner-а вакансии (я знаю, что вы уже догадались, что тег тоже подтягивается динамически). В один клик мы можем получить об отклике всю доступную информацию.




Фронт и бэк откликов :)

5. После того, как кандидат сделал тестовое, он отправляет его через форму из письма. Тестовые задания лежат в другой таблице, но мы научились связывать их с помощью prefill_ тегов в URL, которые заботливо добавляем кандидатам в адрес формы на шаге 2.



Для каждого отклика у нас есть SLA-отбивка. Например, мы обещаем вернуться с фидбеком на тестовое задание в течение трех рабочих дней. Мы создаем ожидания у кандидатов и должны им соответствовать, поэтому в тот же Slack приходят автоматизированные алерты для ownerа вакансии, если тот опаздывает с ответом Оговорюсь, что иногда мы все-таки факапим: теряем кандидатов или отвечаем позже обещанного срока. Здесь всегда есть человеческий фактор, но автоматизация позволила значительно его снизить и ошибаться реже.

Оговорюсь, что иногда мы все-таки факапим: теряем кандидатов или отвечаем позже обещанного срока. Здесь всегда есть человеческий фактор, но автоматизация позволила значительно его снизить и ошибаться реже.



Для каждой вакансии есть шаблон письма: заскриптованные комментарии по типичным ошибкам и наблюдениям от тестовых заданий. Если нужно, я дописываю в нем что-то прямо в Airtable: например, могу указать джуну на конкретные ошибки или похвалить за удачные решения.



Результат 8 свободных часов в неделю



Это достаточно усредненная цифра. Она зависит от вашего количество откликов, но оценить его просто. Минимум 5 минут с каждого отклика уходит на переключение контекстов и интерфейсов (со вкладки с тестовым кодом в gmail, с отвеченного письма на неотвеченное и так далее). Когда у тебя 100 тестовых заданий, эти минуты превращаются в часы.

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

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



Для этого поста мне даже не пришлось считать воронку. Все можно сделать силами того же Airtable

P.S.
А ещё мы продолжаем расширять команду Data & Growth СберМаркета и ищем новых коллег! Наши вакансии:

Middle Product Analyst
Middle/Senior DS на персонализацию сервиса
Marketplace Efficiency Analyst
Junior Finance Analyst
Middle Finance Analyst
Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru