Проект для хакатона A!Hack Summer
Brief:
Обеспеченные клиенты банков - это люди, сильно ценящие свое время с одной стороны, и стремящиеся оптимизировать процессы в своей жизни, с другой. Соответственно, предлагается сделать инструмент, помогающий оптимизировать этот процесс. Грубо говоря, клиент отдает выписку по карте и выгрузку траектории из google maps, мы смотрим, ага, вот тут он заехал в ашан на ленинградке, потратил 2 часа и 10000р на еду. А потом поехал на дмитровку по пробке. И говорим - чувак, в ашане на дмитровке было бы быстрее на полчаса. И соответственно, имея API от гугло (или яндекс) карт можно построить навигатор, который решает задачу оптимизации не вида "доехать из точки A в точку B максимально быстро", а задачу "доехать из A в B и затариться в магазине сети C максимально эффективно, если мой час стоит D рублей и я не готов тратить на весь процесс больше E часов" А если прикрутить сюда распознавание чеков и/или стыковаться по прайсам с сетями, можно и на задачу выбора оптимальной сети по типичному набору продуктов замахнуться. А если человек отдает свой трек за месяц с посещениями разных магазинов и выписку за месяц - можно уже смотреть, в каком магазине он более эффективно тратит свое время (грубо говоря, стоит ли визит в ашан потраченного времени в его личной метрике)
Стек технологий, который вижу в простейшей реализации теми силами, которые есть, выглядит примерно так (чем дальше пишу, тем глубже и ценнее результат):
- Веб-сайт с формой для загрузки gps-трека (и ссылками на приложения из google play, позволяющие оный трек легко записать) и выписки с карты в формате банка. На сабмит - отдаем карту, на которой отрисована траектория и на ней отмечены платежи по карте.
- Дальше - по множеству POI в окрестности каждого платежа ищем наиболее похожий к по названию к тексту в описании платежа, и соотносим платеж с ним (тут нужен, вероятно, какой-то UI, чтобы пользователь мог это наше понимание "подкрутить").
- Дальше, с такой размеченной картой уже понимаем, в каких точках пользователю было "надо" быть без относительно трат - это места, где он надолго останавливался. Принимая такие места как ключевые точки маршрута (дом/работа/учеба/whatever) - ищем poi, аналогичные тем, в которых он тратил деньги, в некоторой окрестности маршрута от одной ключевой точки до следующей и ищем маршруты по пробкам (по статистическим пробкам яндекса, вероятно) через такие poi и выбираем среди них кратчайший, показываем пользователю. Можно метрику полезности точки дополнить информацией об оценке очередей/популярности той или иной POI среди клиентов банка.