DEV Community

Azhar Abbas
Azhar Abbas

Posted on

How loan EMI and KIBOR-linked markup work in Pakistan (with the formula and a JavaScript example)

If you have ever taken a car, home or personal loan from a Pakistani bank, you have been quoted two things: a monthly installment (EMI) and a rate that looks like "KIBOR + 3%". This post explains what both mean, shows the math, and ends with a small JavaScript function you can drop into your own project.

1. Reducing-balance EMI

Almost every conventional consumer loan in Pakistan is priced on a reducing balance: each month, markup is charged only on the principal you still owe. The fixed monthly installment that pays the loan off exactly by the last month is:

EMI = P × r × (1 + r)^n / ((1 + r)^n − 1)
Enter fullscreen mode Exit fullscreen mode
  • P = principal (amount borrowed)
  • r = monthly rate = annual rate ÷ 12 ÷ 100
  • n = number of monthly installments

Early in the loan most of the installment is markup; later most of it is principal. The installment stays the same (until the rate resets, see below), but the split changes every month.

2. A worked PKR example

Borrow Rs 500,000 at 24% per year for 3 years:

  • r = 24 / 12 / 100 = 0.02
  • n = 36
  • (1.02)^36 ≈ 2.0399
EMI = 500,000 × 0.02 × 2.0399 / (2.0399 − 1) ≈ Rs 19,616.43
Enter fullscreen mode Exit fullscreen mode

Over 36 months you pay Rs 706,191 in total, so the total markup is Rs 206,191.

Month 1 breakdown:

Amount
Markup (500,000 × 2%) Rs 10,000.00
Principal repaid Rs 9,616.43
Balance after month 1 Rs 490,383.57

By month 36 the markup portion is only a few hundred rupees. This is why early settlement saves the most money when done early: most of the markup is front-loaded.

3. Where the rate comes from: KIBOR + spread

Most variable-rate consumer loans in Pakistan are priced as:

Your rate = KIBOR (benchmark) + bank spread
Enter fullscreen mode Exit fullscreen mode
  • KIBOR (Karachi Interbank Offered Rate) is a benchmark published daily for several tenors (1-month, 6-month, 1-year, etc.). It moves broadly with the State Bank of Pakistan's policy rate.
  • Spread is the bank's margin, fixed in your loan agreement. It depends on the product, your income type (salaried vs self-employed) and your credit history (eCIB).

Many loans reset the rate periodically, often annually against 1-year KIBOR or semi-annually against 6-month KIBOR. At each reset, the bank recalculates your installment on the remaining balance and remaining tenor using the new rate.

4. What a 1% KIBOR change does

Because the spread is fixed, a 1 percentage point rise in KIBOR raises your rate by exactly 1 point. Here is what that does, computed with the formula above.

Personal loan, Rs 500,000, 3 years

Rate EMI Total markup
24% Rs 19,616 Rs 206,191
25% Rs 19,880 Rs 215,677

About Rs 263 more per month, and roughly Rs 9,500 more over the loan (if the higher rate applied for the full term).

Home loan, Rs 5,000,000, 20 years (illustrative: KIBOR 11% + 3% spread = 14%)

Rate EMI Total markup
14% Rs 62,176 Rs 9,922,250
15% Rs 65,839 Rs 10,801,475

About Rs 3,663 more per month and roughly Rs 879,000 more over 20 years. Long tenors amplify rate changes enormously, which is why KIBOR matters far more to a home-loan borrower than to someone with a 3-year personal loan.

(The 11% KIBOR here is a round number for illustration, not a current quote. Check the latest published figure before you use it.)

5. DBR: how much the bank will actually lend you

Even if you can compute an installment, the bank caps it using the Debt Burden Ratio (DBR):

DBR = (all monthly debt installments) ÷ (monthly income)
Enter fullscreen mode Exit fullscreen mode

That includes the new loan, existing loans and credit-card minimums. State Bank prudential regulations set the maximum DBR for consumer financing, and banks often apply their own, stricter internal limits. Check the current SBP regulations and your bank's policy for the exact cap.

In practice you can work backwards: take your income, multiply by the allowed DBR, subtract existing obligations, and the remainder is the largest EMI the bank will accept. Then invert the EMI formula to find the maximum principal:

P = EMI × ((1 + r)^n − 1) / (r × (1 + r)^n)
Enter fullscreen mode Exit fullscreen mode

6. Islamic financing (Ijarah, Diminishing Musharakah)

Islamic banks structure car financing as Ijarah (lease) and home financing commonly as Diminishing Musharakah. The contracts are different (rent and ownership units rather than interest), but the rental is typically benchmarked to KIBOR too, so the monthly payment usually behaves very similarly to the formula above. The contract and its Shariah terms matter more than the arithmetic.

7. The JavaScript

function emi(principal, annualRate, months) {
  const r = annualRate / 12 / 100;
  if (r === 0) return principal / months;
  const f = Math.pow(1 + r, months);
  return (principal * r * f) / (f - 1);
}

function amortization(principal, annualRate, months) {
  const r = annualRate / 12 / 100;
  const pay = emi(principal, annualRate, months);
  const rows = [];
  let balance = principal;
  for (let m = 1; m <= months; m++) {
    const markup = balance * r;
    const princ = pay - markup;
    balance = Math.max(0, balance - princ);
    rows.push({ month: m, payment: pay, markup, principal: princ, balance });
  }
  return rows;
}

const pay = emi(500000, 24, 36);
console.log(pay.toFixed(2));                    // 19616.43
console.log((pay * 36 - 500000).toFixed(2));    // 206191.35
console.log(amortization(500000, 24, 36)[0]);   // month 1: markup 10000
Enter fullscreen mode Exit fullscreen mode

A few practical notes:

  • Round only for display. Banks round each installment, so their schedule can differ from yours by a few rupees.
  • To model a KIBOR reset, take the balance at the reset month and call emi(balance, newRate, monthsLeft).
  • Processing fees, insurance and (for cars) registration costs are not part of the EMI, so add them separately when comparing offers.

Wrapping up

The core formula is short. What actually changes your cost is the spread you negotiate, the tenor you pick, and where KIBOR goes at each reset. Run the numbers for a 1–2% rise before you sign anything long-term.

If you don't want to do the math yourself, loancalculators.pk has free calculators for personal, car, home and bike loans, plus DBR eligibility, car Ijarah and early settlement, and a comparison across Pakistani banks.

Top comments (1)

Collapse
 
smartbudgetsheets profile image
Smart Budget Sheets •

Clear walkthrough. The month-1 split table shows why early extra payments save the most, since markup is front-loaded. Also worth comparing the total cost across tenors, not just the monthly installment, before choosing a loan length.