Why Understanding Commission Calculation Matters

Commission errors are one of the most trust-damaging events that can happen in an MLM business. A distributor who should have received ₹12,400 but received ₹9,800 will not assume it was a software bug — they'll assume you cheated them. Understanding how your commission engine works lets you design better rules, test more thoroughly, and diagnose errors faster when they happen.

How Binary Commission Calculation Works

Binary commission calculation runs on a scheduled cycle — typically daily, weekly, or monthly depending on your plan. Here's what happens during each cycle:

Step 1 — BV aggregation: The system sums all business volume (BV) generated by product purchases on the left and right legs for each distributor, from the previous cycle date to the current run date.

Step 2 — Pair calculation: For each distributor, the system identifies the weaker leg (lower BV) and the stronger leg. The number of pairs that can be paid is: min(left_BV, right_BV) / pair_BV_required. For example, if a pair requires 100 BV per leg and the weaker leg has 350 BV, the distributor earns 3 pair bonuses.

Step 3 — Cap application: Most Binary plans cap the number of pairs per cycle or the total commission amount per day/week. If your cap is 10 pairs per day and the calculation yields 14, the distributor is credited for 10 pairs and 4 are typically either forfeited or carried forward depending on your rules.

Step 4 — Carry-forward: The remaining BV on the stronger leg after pairing is carried forward to the next cycle. The weaker leg is zeroed. This "flushing" of the weak leg is a common source of distributor frustration if not properly explained.

Step 5 — Commission credit: The calculated pair bonus amount is credited to each distributor's eWallet. Matching bonuses (a percentage of downline pair bonuses) are then calculated in a separate pass.

How Unilevel Commission Calculation Works

Unilevel commission calculation is simpler in concept but more database-intensive at scale, because it must traverse the entire downline tree for every distributor.

Step 1 — Qualify active distributors: The system identifies which distributors are "active" based on your definition (minimum personal purchase, minimum downline volume, etc.). Inactive distributors may be compressed out of the commission tree.

Step 2 — BV assignment: Each product order is assigned a BV value and associated with the purchasing distributor.

Step 3 — Level traversal: For each qualifying distributor, the system traverses upline from the purchaser to the maximum commission depth (e.g., 7 levels). At each level, it checks: is the upline distributor active? What commission percentage applies to this level based on their rank? The commission is calculated and queued.

Step 4 — Leadership override calculation: Senior-rank distributors may receive additional override percentages that function independently of the level calculation. These are calculated separately and added to the queue.

Step 5 — Batch credit: All queued commissions are batch-processed and credited to distributor eWallets. In large networks (10,000+ members), this calculation can take several minutes.

How Generation Boundary Detection Works

Generation calculation is the most computationally complex of the three. The system must:

1. Rank snapshot: At each commission run, the system takes a snapshot of the current rank of every distributor. Rank can change during a period, so defining which rank applies to which commission period matters.

2. Generation boundary identification: Starting from the upline distributor, the system traverses downline and identifies the first distributor who has reached the qualifying rank threshold. Everyone between the upline distributor and that ranked person belongs to Generation 1. The ranked person's downline starts Generation 2, and so on.

3. Commission rate lookup: Based on the upline distributor's own rank, the system looks up what percentage they earn on each Generation (e.g., a Diamond earns on 5 Generations, a Silver earns on 2).

4. BV summation per Generation: The system sums all BV within each identified generation boundary and multiplies by the applicable percentage.

Common Commission Errors and How to Test for Them

Off-by-one in level counts: A very common bug where Level 1 is mistakenly treated as Level 0, causing all levels to shift by one. Test by creating a 10-level deep test tree and manually verifying commissions at every level.

Timezone errors in carry-forward: If your cycle closes at midnight UTC but your company operates on IST (+5:30), BV generated between 12:00 AM and 5:30 AM IST may be attributed to the wrong cycle. Test across midnight boundaries.

Rank compression bugs: When inactive distributors are compressed out of the tree, their downline moves up. If compression is applied before level calculation rather than after, Level 2 distributors may be incorrectly paid at Level 1 rates. Always test compression with inactive distributors at various positions.

Cap application order: Daily caps should be applied before matching bonus calculation, not after. A bug here causes overpayment to senior distributors.