Splitwise: a UX case study

An exercise to understand and simplify expense tracking

I have been using Splitwise for over a year now. It has successfully solved the problem of splitting group expenses without needing to use a calculator or obsessing over how to settle group expenses.
However, I’m one of those who needs to know where my money is going and try saving as much while doing so. Over a period of time, I began to realise that there were a few features, that were either hidden or missing, in the app that could have really enhanced the experience of splitwise. This made me curious as to how others were using Splitwise and what were the issues they were facing.
Let’s go!


Objectives:

1. To conduct user surveys and find out how people use Splitwise.
2. User surveys specifically around adding and organising bills.
3. Address the pain points and propose probable solutions.

Why Splitwise:

I began using Splitwise after shifting cities for my job, where I shared a house with three other girls. Each of us took care of different departments of the house, for example, I took care of the vegetables, milk, eggs and bread while somebody else took care of paying the maids or paying the electricity, grocery bills, etc. After adding all the bills, at the end of the month we would clear the expenses with each other. I always added the bills immediately while my roommates would add them later or had to be reminded to do so.

Because of the endless expenses every month and the lack of a system to keep track of who’s paying for what and when (solely relying on memory), I began to realise that such a system led to erratic expenditure which was difficult to keep track of. Also, sometimes no one could remember if they had logged an expense or not! We had to scroll through an endless list checking if we had. Because even if I remembered the bill I had paid for, Splitwise did not let me search by category or time range, let alone Search at all.

I wondered if there were any other features that I had missed out or were needed and how were the other users reacting to the app.


Design Process:

I applied the following design process:


Understanding the user

Persona:

What kind of a user will use Splitwise?

Primary motivations of the user:

#1 When I go out with my friends, I want to track all the expenses without having to bother about splitting bills while we’re out having fun.
#2 I don’t want to forget tracking the multiple shared expenses I have with my roommates which might lead to confusion.

Reasons for distress:

1. Long lists of expenses.
2. Who do I owe? How much have I spent? — Hidden information like balances, group expenditure, individual expenditure.
3. Did I pay the maid last month? What was the amount paid at that grocery store? — Cannot search for a bill by name, category or time range.
4. Did I settle up with you? — Payment through the app is still not commonly used because users always make cash payments and then forget to ‘Settle up’ in the app.


To get a better understanding of what the users were going through, I asked a few people to perform defined tasks based on a situation. I noted down their responses as they went through the process.

You have weekend plans with your friends and you know there are going to be multiple expenses. Think of a way to keep track of the expenses without having to split the bill at every place you go.

Tasks:
1. Set your currency.
2. Create a Group for the weekend plan.
3. You paid for the movie and lunch. Keep a track of it.
4. How much has the group spent in total?
5. Find out how much you owe/are owed.
6. Looks like you have to pay multiple people. Is there a way to combine payments in the group?
7. Send a reminder to your friend who owes you.
8. Settle up in the group
9. Delete the group.

Analysis

Based on the above tasks, I reviewed the user’s reactions and comments.

1. Add a bill
1.1 Add a bill ; 1.2 The Grocery icon because of familiar bill description ; 1.3 The General bill icon because of unfamiliar bill description i.e., Homestore

Most users do not change the date of the bill, so the bill gets recorded on the day it was added. When the description of the bill is entered, the icon next to it changes if the app recognises the words, for example: Groceries, Gift, Dinner, etc. 
When the app does not recognise the description of the bill, the category icon is ‘General’, which typically, is ignored by the user.
Users can change the icon if they want to but most of the time, they do not.

Summary: The user did not pay attention to the date or the category icon while adding a bill, which could have helped organise the bills in the future.

2. Organising & searching bills
Splitwise does not allow sorting bills based on category assigned or time period, making the user scroll through an endless list of bills.

The bills are not grouped into categories, as most of the users thought would be the case (because of category icons showing up while adding bills). They are displayed in a list month-wise. Users cannot search for bills or filter them based on time period and/or category. And as our user did not edit the date or the category, the bill gets stored with details the user may not remember later, making the search more difficult.

Summary: Splitwise does not allow sorting bills based on category assigned or time period, making the user scroll through an endless list of bills.

3. Group details
3.1 Group detail page; 3.2 Group balances

When users opened the Group detail page, the Expense list of that group is shown first. Tapping on the ‘Balances’ button, shows information about group debts. While tapping on the ‘View group totals’ inside the ellipses, shows group and individual expenditure.

3.4 Group Spending Summary

The usability tests gave me a very important insight that the Group debts and expenditure, are hidden. The expense list is given primary focus. Users would prefer to see how much they’ve spent, rather than looking at an endless list of bills. For anyone, managing their own expenses, group debts and expenditure hold primary importance.

Summary: The user is not given important information like his personal expenditure in the first go.

4. Simplify Debts

‘Simplify debts’ is a very useful feature in Splitwise. It automatically combines all the debts to reduce multiple repayments among group members. However, it is inside ‘Group settings’ and not everybody is familiar with the concept. So unless the user is aware of the option, it remains unused.

Summary: Most users are unaware of this feature.

5. Sending reminders
5.1 For a Group, the ‘Remind’ action is inside ‘Balances’; 5.2 For a Friend, the ‘Remind’ action is inside the ellipses; 5.3 The ‘Reminder’ message

The reminder is sent as an e-mail to the registered e-mail ID. During the user study, it was pointed out that not everybody checks their email. Sometimes, the registered ID is an old e-mail account, created long long ago for social media notifications. So there is a high chance that the Reminder e-mails go unread.

Summary: Reminders sent are lost in a pile of emails in the inbox.

6. Deleting a Group
6.1 The overall Group view of the landing page; 6.2 Edit Group settings

When asked to delete a Group, users long–pressed on a Group name expecting a ‘Delete’ action to appear. This is because of how users connect the task to be performed with the action; recalling the ‘Delete’ behaviour from other applications like WhatsApp or Gmail.


Ideation

I reviewed the observations and identified the pain points that hindered the app’s efficiency the most — Adding a bill, Organising & Searching bills and checking Group details.
Let’s go!

1. Group details

  • ‘View group totals’ and ‘Balances’ are not hidden anymore. They are on the main screen as ‘My expenses’ and ‘Group balances’ respectively.
  • Simplify debts is upfront.
  • The action to ‘Settle up’ is no longer a separate button. It is shown only when the user owes somebody (under Group balance).
  • The buttons, ‘Settle up’ and ‘ Balances’, have been replaced by ‘Expense list’ which leads the user to a list of the expenses in that group.

2. Adding a bill

Adding an expense is essentially like making notes. Everybody is going to have a different way of doing it. Therefore, chances of the same type of bill having different descriptions is high. 
For example, I logged an expense named ‘Groceries’. The next time, my roommate logged the expense and named it ‘Milk, oil, etc ’, which basically is grocery.
As bills don’t get sorted in any way, such differences in naming conventions can come in the way of smooth expense tracking. 
I am of the view that if the users have no incentive to perform a task properly, they will not do it. So if the app does not allow sorting or searching of bills, users will not put much effort while logging expenses (as they may think it’s of no use).

My approach:

We tend to remember through association. One word can form the context to activate related chunks of information. This is the concept of the ‘#hashtag’ that has so easily blended in with our day to day communication.

Hashtag: A word or phrase preceded by a hash sign (#), used on social media websites and applications, to identify messages on a specific topic.

How will it help while adding a bill?
When adding a bill, the most thought is put in while writing the bill description.

Example of a bill description

Each word will get converted to a hashtag and the expense gets tagged to these words.

Hashtags generated from the description

So, when searching for this expense, even if the user recalls only ‘cleaning’, they can search for #cleaning and get every expense tagged to this word. Adding #home to the search can further filter out the results.

It works exactly like twitter and Instagram but the difference here is that the description gets converted to hashtags. The user does not need to select from a list of categories while adding a bill. Everyone familiar with the context of the bill — for example, roommates will have a similar idea for a bill — will be able to search for the bill easily. These hashtags are editable i.e., the user can add or delete the tags generated by the app.

Splitwise has a few pre-defined categories like groceries, dinner, gift, movie, electricity, etc. that are pulled out if it recognises the description. So, the hashtags are finally a combination of the user’s description and the app categories. 
As we are in a habit of typing hashtags everywhere, I find this approach to be intuitive and closest to how we converse making the action of recalling hashtags easier.

8.1 & 8.2 Adding a bill

3. Searching for a bill

  • Tapping on the ‘Expense list’ button on the Group detail screen will lead the user to the list. (see 9.1)
  • The user can search specific bills by typing some words of the description in the search bar. (see 9.3)
  • The ‘Filters’, on the top right corner, help narrow down the search. 
    (see 9.2)
  • All expenses with the tags, typed in the search field, populate the screen. (see 9.3)
9.1 The expense list; 9.2 Advanced filter; 9.3 Search for bills tagged to #groceries

4. Sending reminders

The user makes a default setting in the Account settings, choosing whether the reminder should be sent as an email or an sms. The reminder message is a template provided by the app.

10.1 I changed the position of the ‘Save’ button because it did not follow the layout of the other screens.
10.3 The reminder message; 10.4 The user is asked which number to send the sms to, in case there are two numbers; 10.5 When the user does not have the person’s contact

5. Friend’s detail screen

What’s next? — Concept :Total up

This feature will allow adding up of the bills within the app. The user will be able to choose the bills he wants to add up.
This option will be available only on the Expense list screen.

This is a WIP, hence needs a lot of thought. This might convert into a new ‘Reporting’ section altogether.


If you’ve made it this far, thank you for reading!
This case study is my attempt at understanding User Experience design. It’s far from over and I’ll continue refining my concepts, with more usability tests and brainstorming (Yay!)
In the meantime, please do give your feedback.

Thank you!