Design for Tension

John Amaral
5 min readApr 10, 2018

--

MoneyBot Helps You With Financial Decisions

Summary

The objective of the Design For Tension project was to tackle a small element of a problem through the use of a chatbot. We decided to tackle financial decision making, specifically, deciding whether or not to purchase an item. The chatbot will ask a few questions and based on the answers, the bot will help determine and suggest to the user whether or not to buy the item. In this post, we will be discussing our design process and our final product, which we named Money Bot.

Brainstorming

We first began with a group brainstorming session for the topic that would become the main focus of our chatbot. Some of the topics and target users we came up with were:

  • Advice for relationship problems — general public
  • Time management — students
  • Depression — those with depression or those who know someone with depression
  • Drug Therapy — drug users or those who know someone on drugs
  • Stress management — students
  • Finance Decision (if the user should/shouldn’t buy an item) — general public

At the end of this session, we decided on creating a bot that helps with big financial decisions. This is a common problem that many people can relate to (especially students), so we hoped that the bot we would create would be able to benefit those people.

Ideation & Roleplay

Following our initial brainstorming session, our group began discussing conversations that our bot might have with a user to help them decide on whether or not they should purchase the item. We used the Wizard of Oz prototyping method and had one group member pretend to be the bot and ask another group member as many questions as we could think of relating to the product they were “considering” buying. We then repeated this process with other people, like our friends and classmates. Below is a sample conversation we had with a friend:

James: What do you do?

Bot: I am the bot of reason, I can help you make better financial decisions. Feel free to ask me questions about things that you are considering purchasing

James: Should i buy a new pair of soccer cleats?

Bot: Nice! Would you use this for school/work, or for play

James: Play

Bot: Great! How often will you use it?

James: 2 or more times per week

Bot: Will these benefit you in the long term?

James: Yes

Bot: Can you easily afford this, or will this be a big purchase for you?

James: I can easily afford this

Bot: Great, then treat yo self! You deserve it!

James: Awesome!

Bot: Is there anything else you would like to ask me?

James: No, thanks!

Bot: No problem!

We kept a list of all the questions and responses, and continued to add to it as we talked to more people. Below are some of the sample questions we came up with:

  • What is the purchase for?
  • Why do you need it?/What will you use it for?
  • How often will you use it?
  • How expensive is it?
  • Is it within your budget?
  • How long can you use this for?
  • Is it practical to have?
  • Will it benefit you in the long term?
  • Is it a gift?

We then narrowed down the list of questions to the ones we thought were most helpful for helping the user decide whether or not they should buy the item

Final Product

For our final product, we used Flow XO to create our conversations. We started off by picking the most essential questions and inputting some responses. However, implementing all of our ideas turned out to be more difficult than we had initially anticipated. We soon realized that Flow XO lacked a lot of the functionality that we needed. For example, we wanted to to be able to store parts of user responses and use them later on in the conversation. We felt that this would be a great way to make the conversation sound less robotic. After researching ways to parse through the responses and discard unnecessary words, we found that Flow XO could not work like this. As a result, we had to rethink our strategies and work our plans around it.

For our bot, we wanted to focus on creating a natural conversation. Many bots restrict the answers that it can receive by displaying all possible answers. We did not want to restrict the users, so we decided to let the user type whatever they wanted and allow our bot deal with their responses. We also had to limit the number of questions we asked, due to the total number of outcomes generated from those questions. Due to time constraints, we were only able to implement a few questions for our final product.

In this flow chart we made, three questions generates 8 outcomes for buying for yourself and another 8 outcomes for buying for others, which generates a total of 16 possible outcomes.

Here is a video demonstrating how our bot works.

This video demonstrates how MoneyBot can be used to give advice on buying a specific product.

Feedback & Conclusion

The main positive feedback we got was how natural the conversation with our bot was and how it allowed the user to reply with open responses. People liked being able to type in their own responses instead of having preset options for them to pick from. In particular, we designed our bot to pick up on keywords and phrases from the user’s response to make sense of whether their replies are positive or negative. One suggestion was to possibly separate our flow into multiple flows to make it a bit more organized and easy to follow. If we had more time, we would have added more questions and outcomes. We also would have put in more user keywords and responses for the bot to recognize.

If we could start the project all over, we would have tried to find a different platform to base our bot off of. While Flow XO had many features that were useful, it was very difficult to create a truly conversational bot with this platform. For example, we were not able to extract certain keywords from user responses and store them to refer back to later on, as we had originally planned for our bot to do. In addition, the whole interface seems more suited to a bot that provides the user with possible answers rather than allowing the user to type their own ideas. However, we really wanted to keep this aspect of our bot, because we wanted the conversation with the user to seem as natural and personable as possible. For our approach, we would have been better off creating our own python script that would give us the flexibility we needed.

If you would like to try out our bot, click here.

David Abraham, John Amaral, Winny Cheng, Jessie Ying

--

--