Формула ипотеки: как рассчитать платёж и переплату
Формула ипотеки: как рассчитать ежемесячный платёж и переплату, перевести ставку в месячную и сравнить два срока на одном примере, сохранив одинаковые условия.
Денис
Продакт LibraChat
8 мин чтения
Платёж уменьшился почти на три тысячи рублей, и я уже хотел оставить срок подлиннее. Потом умножил его на число месяцев. Разница оказалась совсем другой: за дополнительное время набегало около полутора миллионов. Формула ипотеки — как рассчитать платёж, а затем понять цену этого уменьшения — стала для меня задачей из двух частей. Одну строку с ежемесячной суммой я больше не рассматриваю отдельно от срока.
Я сравнил кредит на 3 млн рублей при фиксированных 12% годовых: сначала на 15 лет, затем на 20. Сумму и ставку не менял. Так видно именно действие срока, а не смесь разных предложений. Речь дальше о математической модели с равными месячными периодами. Индивидуальный банковский график нужно смотреть в условиях своего договора.
Формула ипотеки: как рассчитать месячную ставку
Первую ошибку я сделал ещё до степеней и скобок. Хотел подставить в месячный расчёт число 12, потому что в условиях стояло «12% годовых». Но 12 — это не дробь и не месячная ставка. При такой подстановке получится другой расчёт.
Я выписал входные данные отдельно:
S — сумма кредита. В нашем сравнении 3 000 000 рублей, без первоначального взноса. Если известна цена квартиры, сумму, которую собираешься занять, нужно определить отдельно.
r — годовая ставка в процентах. Здесь 12. Для перевода в дробь делю на 100.
i — месячная ставка дробью. Получается 12/100/12=0,01.
n — количество месячных платежей. Для 15 лет это 180, для 20 лет — 240.
В таблицу я бы заносил либо 12% в ячейку процентного формата, либо 0,12 как число, понимая, какое значение использует формула. Удваивать деление на 100 нельзя. Если в ячейке уже хранится 0,12, ещё одно деление даст 0,0012, и платёж окажется искусственно низким.
Теперь сама запись стандартного аннуитетного платежа:
A = S × i / (1 − (1 + i)^(−n)).
A обозначает ежемесячный платёж. Знак ^ здесь означает возведение в степень, а −n — отрицательный показатель. Для двадцатилетнего варианта я подставляю 3 000 000, 0,01 и 240. Получаю примерно 33 032,58 рубля в месяц. Для пятнадцатилетнего — 36 005,04 рубля.
Я проверил результат обратным расчётом остатка долга, о нём чуть ниже. Но сначала задержусь на исключении: при нулевой ставке эта запись даёт неопределённость. Тогда платёж считается как S/n. Для тех же 3 млн на 240 месяцев это 12 500 рублей. Делить нулевой числитель на нулевой знаменатель в таблице не нужно.
Одинаковый платёж каждый месяц не означает одинаковое погашение долга
Мне хотелось разделить 3 млн на 240, добавить проценты и на этом остановиться. Так можно получить число, но оно не объяснит аннуитет: проценты в этой модели зависят от остатка долга, а остаток меняется после платежа.
В первом месяце двадцатилетнего варианта процентная часть равна 3 000 000×0,01=30 000 рублей. Из платежа 33 032,58 на уменьшение самого долга приходится примерно 3 032,58. Остальное относится к процентам за период. Число выглядит неприятно, зато больше не удивляет.
Я собрал первые две строки отдельно. Расчёт выполнен с полной точностью; в таблице суммы округлены до копеек для чтения.
Месяц · Долг в начале, ₽ · Проценты за период, ₽ · Уменьшение долга, ₽ · Долг после платежа, ₽
Общий платёж одинаков. Две его части уже различаются. Процентов во втором месяце немного меньше, погашаемой суммы долга немного больше. Поэтому просьбу «покажи, сколько осталось после года» нельзя заменить вычитанием двенадцати полных платежей из исходной суммы кредита. В полных платежах есть проценты.
И ещё одно: первоначальный взнос не входит в эти 3 млн. Он уменьшает сумму, которую нужно занять, до начала расчёта. Если включить взнос в S и при этом вычесть его повторно, ошибка будет уже в исходных данных. Самая аккуратная формула её не заметит.
За уменьшением на 2 972 рубля прятались ещё 60 платежей
Вот здесь у меня и изменилось отношение к длинному сроку. Разница ежемесячных сумм составляет около 2 972,46 рубля. Для бюджета это может быть существенно. Только такая разница не описывает всю сделку.
Показатель модели · 15 лет · 20 лет
Сумма кредита — 3 000 000 ₽ — 3 000 000 ₽
Годовая ставка — 12% — 12%
Месячных платежей — 180 — 240
Платёж в месяц — 36 005,04 ₽ — 33 032,58 ₽
Сумма всех платежей, примерно — 6 480 908 ₽ — 7 927 820 ₽
Итоги в двух нижних строках получены из неокруглённого платежа и округлены до рублей. Если умножать показанные копейки, возможна небольшая разница из-за округления. Это не попытка воспроизвести последний платёж банковского графика.
Я получил примерно 1 446 913 рублей дополнительных процентов при увеличении срока на пять лет в этой модели. Не потому, что ставка стала выше. Она осталась той же. Долг дольше остаётся непогашенным, а платежей становится больше.
Из этого не следует команда выбирать короткий срок любой ценой. Если обязательный платёж не оставляет средств на обычную жизнь, одна меньшая итоговая сумма не решает задачу. Я бы сравнивал оба показателя: выдерживает ли бюджет регулярную нагрузку и сколько стоит выбранная длительность. Решение зависит от доходов, обязательств и условий конкретного кредита.
Контроль, который не требует запоминать большую формулу
Чтобы проверить таблицу, я сделал второй расчёт по месяцам. В нём нет степени −240: каждый следующий остаток получается из предыдущего. Этот способ полезен, когда хочется понять, откуда взялась сумма, или найти ошибку в длинном листе.
Возьми остаток долга в начале месяца.
Умножь его на месячную ставку: получишь проценты за этот период.
Вычти проценты из общего платежа: получишь погашаемую часть долга.
Уменьши предыдущий остаток на эту часть и переходи к следующему месяцу.
При одинаковых условиях после 180 или 240 платежей соответственно остаток должен приблизиться к нулю. В моём вычислении с высокой точностью осталась только ничтожная погрешность представления чисел. Если вместо нуля остаётся большая сумма, проверь месячную ставку, знак степени и количество периодов.
Я бы не прятал отрицательный остаток принудительным нулём до выяснения причины. Значительная отрицательная сумма может означать лишний платёж, а положительная — недостающие месяцы или ошибку ставки. Округление до копеек тоже нужно учитывать последовательно. Красивый ноль, полученный заменой значения, проверкой не считается.
Если хочешь обсудить обозначения и последовательность вычислений, пригодится разбор работы с формулами через нейросеть. В своей таблице я держу сумму, ставку и срок в отдельных ячейках: тогда изменение одного условия не требует перепечатывать всю длинную запись.
Откуда берётся расхождение с банковским графиком
Стандартная модель помогает сравнивать одинаковые исходные условия. В реальном договоре расчёт может учитывать конкретные даты и длительность периодов, правила округления, изменение ставки и досрочные платежи. Страхование и другие сопутствующие расходы также нельзя незаметно смешивать с результатом одной формулы.
Поэтому расхождение я сначала разбирал бы по составу суммы. Сравниваются только платежи по кредиту? Или в одном случае рядом уже добавлены другие расходы? Указана одна и та же сумма займа? Ставка действительно постоянная? Первый период имеет обычную длину? Эти вопросы полезнее, чем сразу объявить калькулятор неправильным.
Полную стоимость кредита и порядок обязательных платежей сверяют по документам банка. Для своего предварительного расчёта я сохраняю ещё и допущения: фиксированная ставка, месячный период, отсутствие досрочных взносов. Через неделю они помогут вспомнить, почему одна цифра отличается от другой.
Формула ипотеки: как рассчитать и объяснить свой вариант
LibraChat можно попросить разобрать запись и представить расчётную задачу таблицей. Я бы использовал чат для объяснения шагов и проверки того, одинаковые ли условия сравниваются. Проверку арифметики и сверку договорного графика всё равно оставил бы отдельными действиями.
Для такого обсуждения достаточно суммы, ставки и срока. На странице тарифов можно выбрать условия работы с чатом, если планируешь регулярно разбирать собственные таблицы. А первый вопрос удобно сформулировать так:
Помоги разобрать стандартный аннуитетный расчёт: сумма кредита [сумма], фиксированная ставка [процент] годовых, сроки [первый] и [второй] лет. Сначала покажи перевод ставки в месячную десятичную дробь и сроков в месяцы. Затем объясни формулу платежа, отдели сумму всех платежей от процентов сверх суммы кредита. Для одного срока распиши первые два месяца через остаток долга. Назови допущения модели и какие условия нужно уточнить для сверки с банковским графиком. Отдельно объясни случай нулевой ставки. Результат не называй предложением банка.
Попробуй обсудить свои значения в чате LibraChat, а потом самостоятельно проверь первый месяц: проценты на остаток и часть платежа, которая уменьшает долг. Ошибиться здесь можно даже при убедительном объяснении.
Я так и оставил рядом две строки: месяц и весь срок. Пониженный платёж перестал автоматически выглядеть дешёвым. Он может быть удобнее для бюджета, но цену этого удобства теперь видно в той же таблице.