Перейти к содержимому
Donget
Скачать
Все статьи

Как работает упрощение долгов: почему вашей компании нужно меньше переводов, чем кажется

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

The Donget team 9 мин чтения

Вы открываете группу после выходных за городом, нажимаете «рассчитаться», и приложение говорит перевести Ане 15 000 ₽. Вы у Ани ничего не покупали. Вы платили за бензин, Борис — за продукты, и почему-то предложение сводится к одному переводу человеку, который снял дом. Ощущение, будто приложение переложило ваши долги за вашей спиной.

В каком-то смысле так и есть, и как только вы увидите, как именно, спорить об этом вы больше не будете: упрощение долгов меняет, кто кому платит, но никогда — сколько каждый в итоге оказывается в плюсе или в минусе.

Два способа описать одни и те же выходные

Есть два честных способа записать, кто кому должен после поездки.

Первый — взаимные долги: каждый расход создаёт маленький долг от каждого, кто в нём участвовал, тому, кто заплатил. Пятеро друзей живут в доме, за который заплатила Аня, — значит, остальные четверо должны Ане по пятой части; Борис покупает продукты — значит, Аня и ещё трое должны Борису по пятой части от них. Через десяток расходов по группе крест-накрест идут десятки стрелок, и многие из них направлены в противоположные стороны между одними и теми же двумя людьми — в это всегда и превращается попытка вручную отслеживать, кто вам сколько должен.

Второй — чистые балансы: одно число на человека — сколько он заплатил за группу минус его доля от всего, что группа потратила. Плюс означает, что группа должна ему; минус — что он должен группе.

Оба способа хранят одну и ту же информацию. Взаимная версия помнит историю; чистая — результат. Расчёт — это про результат.

Единственное число, которое имеет значение: ваш чистый баланс

Ваш чистый баланс — единственная цифра, которая решает, сколько денег уйдёт из вашего кармана или придёт в него. Ему всё равно, кому вы должны и кто должен вам, — важен только итог. Если вы должны Ане 12 000 ₽, а Аня должна вам 4 000 ₽, никто не ждёт двух платежей: вы переводите Ане 8 000 ₽, и всё. Упрощение долгов — это тот же инстинкт, применённый сразу ко всей группе, а не к одной паре за раз. Поэтому таблице общих расходов и нужно всего две колонки на человека — заплатил и доля: чистый баланс — это их разность.

Почему чистые балансы всегда дают в сумме ноль

Каждый рубль, который кто-то заплатил, был чьей-то долей. Анины 60 000 ₽ за дом — это по 12 000 ₽ доли на каждого из пятерых, включая саму Аню. Сложите, сколько заплатил каждый, — получите общую сумму группы; сложите доли всех — получите ту же сумму. Поэтому чистые балансы, плюсы и минусы вместе, всегда дают ровно ноль: тем, кто в плюсе, причитается ровно столько, сколько должны те, кто в минусе. Деньги, чтобы закрыть группу, уже есть внутри неё.

От балансов к переводам

Чистые балансы делят группу на кредиторов (плюс, им должны) и должников (минус, они должны). Перевод перемещает деньги от должника к кредитору и уменьшает оба числа в сторону нуля. Стандартный метод — тот же, который вы сами придумали бы на салфетке:

  1. Возьмите того, кто должен больше всех, и того, кому должны больше всех.
  2. Должник платит кредитору меньшую из двух сумм. Как минимум один из них теперь в нуле и выбывает.
  3. Повторяйте с оставшимися, пока каждый баланс не станет нулевым.

Каждый перевод выводит из игры хотя бы одного человека, поэтому группе из n человек нужно не больше n − 1 переводов, а обычно намного меньше, потому что несколько должников часто закрываются одним кредитором. Никто ничего не перераспределяет: переводы — просто короткий путь от балансов к нулю.

Разбор на примере: пятеро друзей и один дом

Аня, Борис, Кирилл, Дарья и Егор едут на горнолыжные выходные в Красную Поляну и делят всё поровну.

РасходОплатилСуммаДоля каждого
ДомАня60 000 ₽12 000 ₽
ПродуктыБорис20 000 ₽4 000 ₽
Ужин в ресторанеКирилл15 000 ₽3 000 ₽
БензинДарья5 000 ₽1 000 ₽
Егор0 ₽
Итого100 000 ₽20 000 ₽

Во взаимном виде каждый расход создаёт четыре долга тому, кто его оплатил: четверо должны Ане по 12 000 ₽ за дом, четверо должны Борису по 4 000 ₽ за продукты, четверо должны Кириллу по 3 000 ₽, четверо должны Дарье по 1 000 ₽. Шестнадцать долгов. Даже после взаимозачёта встречных стрелок внутри каждой пары все десять пар по-прежнему что-то друг другу должны: Борис должен Ане 8 000 ₽, Кирилл должен Ане 9 000 ₽, Дарья должна Ане 11 000 ₽, Егор должен Ане 12 000 ₽, Кирилл должен Борису 1 000 ₽ и так далее. Десять платежей.

Чистые балансы проще. Доля каждого от 100 000 ₽ — 20 000 ₽:

ЧеловекЗаплатилДоляЧистый баланс
Аня60 000 ₽20 000 ₽+40 000 ₽
Борис20 000 ₽20 000 ₽0 ₽
Кирилл15 000 ₽20 000 ₽−5 000 ₽
Дарья5 000 ₽20 000 ₽−15 000 ₽
Егор0 ₽20 000 ₽−20 000 ₽

Проверка: 40 000 − 5 000 − 15 000 − 20 000 = 0. Группа должна Ане ровно столько, сколько Кирилл, Дарья и Егор должны группе.

В упрощённом виде подбор занимает три шага: Егор (должен больше всех) платит Ане (ей должны больше всех) 20 000 ₽; Дарья платит Ане 15 000 ₽; Кирилл платит Ане 5 000 ₽. Аня получила свои 40 000 ₽, каждый баланс в нуле, группа закрыта. Три перевода вместо десяти.

Посмотрите на Бориса. На бумаге он должен Ане 12 000 ₽ за дом, а ему должны по 4 000 ₽ четыре человека за продукты. Он должен 16 000 ₽, и ему должны 16 000 ₽, поэтому его чистый баланс — ноль, и план оставляет его в стороне целиком. Он ничего не платит и ничего не получает, и это правильно: ничто из сделанного им не изменило его положения.

Почему вы в итоге платите тому, кто ничего для вас не покупал

Возьмите самую маленькую версию ситуации. Аня платит за Бориса 3 000 ₽; позже Борис платит за Кирилла 3 000 ₽. Во взаимном виде: Борис должен Ане, Кирилл должен Борису — два платежа, в которых Борис получает 3 000 ₽ от Кирилла и отдаёт 3 000 ₽ Ане. Чистые балансы: Аня +3 000, Борис 0, Кирилл −3 000. В упрощённом виде: Кирилл платит Ане 3 000 ₽, а Борис не участвует.

Кирилл заканчивает выходные в минусе на 3 000 ₽ в обеих версиях; Аня — в плюсе на 3 000 ₽ в обеих. Всё, что убрало упрощение, — роль Бориса как передаточного звена. Кирилл «должен Ане» не потому, что Аня что-то для него покупала, а потому, что Аня — то место, куда должны прийти деньги, которые он должен группе. Маршрут короче; справедливость та же.

Цена вопроса и право отказаться

Цена упрощения социальная, а не математическая. В большой поездке вам могут предложить перевести 4 000 ₽ другу друга, с которым вы говорили два раза, вместо человека, который на самом деле купил вам ски-пасс. Кому-то это не нравится, и они имеют на это право.

Если вашей компании удобнее возвращать деньги именно тому, кто за вас заплатил, так и делайте: записывайте каждый прямой возврат, и балансы всё равно придут к нулю — за большее число шагов. Упрощение — предложение о наименьшем числе переводов, а не правило о том, кто за кого отвечает. В любом случае спокойствие в компании держится на том, чтобы рассчитываться по ритму, а не по настроению, чтобы балансы не висели так долго, что становятся историей.

И раз всё работает на чистых балансах, неважно, как получились доли: деление поровну, по точным суммам, по процентам или по позициям — всё заканчивается одним чистым балансом на человека, в том числе в поездке, где часть расходов делит только часть компании.

При чём здесь Donget

В группе Donget вкладка Балансы показывает Баланс каждого участника: один чистый баланс на человека, плюс или минус, который обновляется по мере добавления расходов и синхронизируется у всех. Нажмите Рассчитаться — и приложение предложит наименьшее число переводов, которые приводят каждый баланс к нулю.

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

Частые вопросы

Меняет ли упрощение долгов сумму, которую я должен?

Нет. Оно меняет только то, кому вы платите, но не сколько. Ваш чистый баланс — сколько вы заплатили минус ваша доля от всего, что потратила компания, — одинаков до и после, и у всех остальных тоже.

Почему я должен человеку, который ничего для меня не покупал?

Потому что ваш долг одному человеку и его долг третьему гасятся через середину. Если Аня заплатила за Бориса 3 000 ₽, а Борис за Кирилла 3 000 ₽, Борис в нуле, и Кирилл платит Ане напрямую; Кирилл в любом случае в минусе на 3 000 ₽, Аня — в плюсе на 3 000 ₽.

Упрощённый результат — это всегда наименьшее возможное число платежей?

Их не больше, чем людей в группе минус один, и обычно намного меньше. Найти абсолютный минимум в любом случае — задача посложнее, но для компании друзей разница редко превышает один платёж.

А можно просто платить друг другу напрямую?

Да. Упрощение — предложение, а не правило. Если вашей компании удобнее, чтобы каждый возвращал деньги тому, кто за него заплатил, записывайте эти платежи; балансы придут к нулю в любом случае, за большее число шагов.

Что, если один человек заплатил почти за всё?

Тогда план короче некуда: все, кто в минусе, платят этому одному человеку, и больше никто денег не переводит — случай горнолыжных выходных, три перевода на пятерых, и все уходят тому, кто снял дом.

Что будет, если кто-то добавит расход после того, как мы рассчитались?

Он создаёт свежие чистые балансы с нуля, и следующее предложение рассчитаться строится на них. Уже записанные платежи остаются записанными; отменять ничего не нужно.

Итог

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

Скачайте Donget бесплатно — и в следующий раз, когда поедете компанией, пусть «Рассчитаться» найдёт наименьшее число переводов.

Рассчитайтесь за секунды. Дружите годами.

Присоединяйтесь к компаниям, которые забыли про таблицы. Скачайте Donget бесплатно.