Когда потребители используют инструменты управления капиталом, они обычно получают историческое представление о своих финансах. Но насколько полезно для них увидеть свое финансовое будущее? Чтобы точно знать, сколько денег у них будет на следующей неделе? Это то, что изучает наша команда разработчиков в Moneyhub Enterprise, и наша новая технология прогнозирования баланса, которая использует машинное обучение, психологию толпы, глубокое обучение и некоторые старые добрые методы сопоставления, позволит нашим инструментам управления личными финансами (PFM) достаточно эффективно работать. буквально быть гадалками.

Пользовательский сценарий PFM

Представьте себе сцену - Джо Блоггс смотрит на свой банковский счет, и он на самом деле выглядит довольно здоровым! В прошлом месяце у него было больше денег, чем в этот раз… но действительно ли это означает, что нужно больше тратить? Финансы часто бывают довольно сложными, поэтому, прежде чем начать разбрасываться деньгами, он может спросить себя:

  • Почему у меня больше? Я тратил меньше или больше зарабатывал?
  • Есть ли у меня ближайшие счета, которые устранят этот излишек?
  • Это просто деньги, которые я перевезла?
  • Потратил ли я по кредитной карте больше, чем обычно?
  • Перевел ли я в свои сбережения столько же, сколько обычно?
  • Это был всего лишь короткий месяц? (Я смотрю на тебя февраль ...)
  • Как я продвигаюсь к накоплению на отпуск / машину / дом?

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

Итак, как это работает?

Чтобы применить предсказания баланса в крупном масштабе, мы включили исследования по Психологии толпы, Стадному поведению и Групповой динамике. Мы живем в связанном мире, где на нас влияют другие люди. Их влияние распространяется на то, как мы тратим деньги. Не вдаваясь в социальную психологию, суть в том, что ваши привычки к расходам не так уникальны, как вы могли бы подумать! Таким образом, для подавляющего большинства людей найдется кто-то, кто тратит свои деньги аналогичным образом. Итак, предположим, что мы сможем найти кого-то с похожими привычками к расходам с одним из наших пользователей - и что? Как это помогает? Что ж, на самом деле просто найти подходящего пользователя не очень полезно. Что мы действительно хотим, так это найти соответствующие расходы в какой-то момент в прошлом. Анализируя прошлые привычки к расходам, мы можем использовать эти данные для прогнозирования будущего соответствующего пользователя.

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

Изменение привычек

Альтернативный подход может заключаться в выявлении тенденций в расходах пользователей, рассматривая каждого человека отдельно. Одна из проблем заключается в том, что вы всегда играете в догонялки. Это также во многом зависит от того, имеют ли они определенную регулярность в расходах, но что происходит, когда они женятся / уезжают в отпуск / заводят ребенка? Некоторое время расходы могут быть регулярными, но часто это не продлится долго. Даже после того, как ваши расходы вернутся к регулярному режиму, такому алгоритму потребуется определенная регулярность, чтобы проработать какое-то время, прежде чем он сможет вернуться к точным прогнозам.

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

Поиск потенциальных совпадений

Итак, теперь мы просматриваем каждую точку истории в поисках потенциального совпадения. Это создает небольшую проблему. Давайте посмотрим на пример. Предположим, у нас есть 10 000 счетов, на каждой из которых хранятся данные исторического баланса за 1000 дней, и мы рассматриваем временные рамки в 30 дней. Затем нам нужно выполнить наши вычисления более 9,7 миллиона элементов. Более того, это экспоненциальная проблема. Чем больше данных, тем больше пространство поиска, а с большим количеством учетных записей у нас появляется больше прогнозов. Чтобы решить эту проблему, мы рассмотрели способы быстро уточнить список потенциальных совпадений до гораздо меньшего списка. Мы сделали это, проанализировав некоторые показатели, такие как среднее и стандартное отклонение, а затем сократили наш список кандидатов до тех, у которых есть аналогичные показатели.

Что такое хорошее совпадение?

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

Технология

Для обучения мы использовали Tensorflow, разработанный Google. В частности, мы использовали их широкое и глубокое обучение, которое также поддерживает систему рекомендаций Google для Play Store. Tensorflow - это не просто библиотека моделей машинного обучения, она гораздо более гибкая. Учебники Tensorflow предоставляют отличные примеры различных моделей.

Мы выбрали широкую и глубокую модель, потому что она использует лучшее из широких моделей и глубоких моделей. Широкие модели, такие как Линейные классификаторы и Глубинные модели, такие как нейронные сети прямого распространения; вместе мы получаем преимущества запоминания и обобщения. Под обобщением мы подразумеваем тенденции или правила. Итак, возвращаясь к нашей проблеме, примером обобщения может быть то, что совпадение более вероятно, если обе учетные записи относятся к одному типу учетных записей (обе текущие учетные записи). Запоминание - это обучение тому, что определенный набор условий дает определенный результат. Чтобы узнать больше, вы можете прочитать эту исследовательскую статью, опубликованную разработчиками модели.

Уверенность

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

Категории транзакций

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

Уроки выучены

Мусор на входе - мусор на выходе

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

Когда вы тренируете модель, вы даете ей все эти примеры, чтобы учиться на них. Он узнает, когда вы говорите ему, хорошее совпадение или нет. Но если вы скажете ему, что что-то хорошее совпадение, однако в реальности это хорошо только в краткосрочной перспективе, случайно, то вы дадите ему ложный сигнал. И, как говорится, мусор на входе - мусор на выходе. Машина не сможет научиться различать хорошее и плохое, если вы не скажете правду! Звучит довольно очевидно, когда вы так выразились, но потребовалось время, чтобы понять, что именно это действительно происходит.

Как предсказания могут помочь на практике?

Используя нашу существующую технологию в качестве примера, вот как прогнозирование баланса может улучшить финансовое благополучие конечного пользователя:

1. Визуализируйте будущее - планирование

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

2. Оставайтесь в плюсе - защититесь от комиссий

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

3. Мотивируйте экономию - финансы на будущее

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

4. Цели по расходам - ​​улучшение других функций

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

Прогнозы баланса - это то, что мы продолжаем исследовать и совершенствовать. Как выяснили Док Браун и Марти МакФлай, в возвращении в будущее действительно есть что-то особенное.

Автор: Мэтт Синтон-Хьюитт, инженер-программист Moneyhub Enterprise

Узнайте больше о Moneyhub Enterprise на сайте www.moneyhubenterprise.com / @moneyhubenterpr