Relationships for debt calculation
So I have a few groups with some friends, and not all of them know each other. Occasionally, when I add a combined bill, Splitwise simplifies debts in a way that person A ends up owing person B, who don't really know each other. It ends up being an awkward situation which I resolve by taking the money from A and giving it to B.
It would be cool if Splitwise showed me a graph with nodes for myself and every person I've ever shared a bill with (or scoped within a group for simplicity), and then let me add edges for all pairs that "know" each other. Now when a joint bill is added, debt should only flow along a solid edge.
Hey Sameer – are you talking about the “Simplify debts” feature for groups? In general, we’ve assumed that everyone in a group knows each other, as groups are usually used for apartments and group trips and things like that. Could you give me more details on the specific case where this problem is happening for you? It’d be good to have more background and make sure we understand where you’re coming from.
On the other hand, if you’re talking about the “Simplify debts” feature that works outside of groups, then our algorithm should take this into account already, as it only moves around debt between people who already have outstanding balances with each other.
Koushik Hajra commented
I dig the debt simplify feature. I’ve been wanting it for some time. I feel it could be made even better by adding a spatial component. You could simplify debt using spatial proximity. You’d need to collect address for that. But if someone wants to settle with cash then a spatial affinity might be a good prospect.
Andrea Vuolo commented
Maybe the title is a little confusing but this is something just happened and we didn’t know how to solve it.
At the end of a trip we had to settle up, simplifying debt was on and this was the situation:
A gets back 600€
B gets back 200€
C owes 500€
D owes 300€
Splitwise said (two settle up for C, one for D)
D owes A 300€
C owes A 300€
C owes B 200€
Actually because the settle up was hard to do between C and B, we wish to have a situation where D has to make two settle up, and c just one:
D owes B 200€
D owes A 100€
C owes A 500€
This is to avoid more complicated ‘settle up’ and to choose a bit more, even intended the total is the same
Vihi H commented
Imagine when 5 people are on a trip, of which four are friends, and one has been invited by one of the four. In this case, there must be an option so that the debt of the fifth person, who the rest of the group does not know, is limited (as far as possible) to the one he knows. This is particularly for when simplify debts is being used, and reduces the awkwardness and complications of settling debts.
I have a tweak to Sameer's suggestion: I am part of a group with several married/engaged/etc. couples, as well as some (hot) single friends. (We split dinner on a regular basis with a different person paying each time.) It would be much simpler for us if we could note the romantic relationships for settling up. That way, if Wife A is in debt and Husband A is owed money, she would pay him rather than paying someone else. We're all friends, so it's not a big deal. But it would be easier if we had some way of noting preferred payment relationships.
Here's an illustration of a scenario I'm thinking of: http://1drv.ms/1BGyyKx
The groups that I form on Splitwise are usually based on things that I do together with some folks, like group of friends living in the same city and sharing bills together, or sharing a T-Mobile plan. When I create a group, I add friends to the group whenever I split a bill with them. This does not mean always that the friends that I add to a group know each other very well.
So in the illustration, I might go watch a movie with Alice, Bob and Eve, with Bob having paid for the tickets. Later, I might have dinner with Eve and pay for it. Now Eve owes Bob money for the movie, but doesn't really know him very well. Alice, on the other hand, is perfectly fine with paying Bob for the tickets.
So in the real world, this scenario would entail Eve paying me for the tickets and for the dinner, and then I paying Bob my and Eve's share of the movie tickets.
To summarize, I'm not talking about Simplify Debts (at least I think so). I'm talking about dropping the assumption that everyone in a group knows each other. While that would be a good starting point for a group by default, it would be nice to create fine grained relationships to simulate real world transactions more accurately.