Malaysian football, explained in English Independent · est. 2026
KEDAFA.MY Malaysian football · in English

The method · version 0.1

No mystery score.
Here is the calculation.

Power measures accumulated playing strength. Pulse measures recent results against pre-match expectations. Both come from the same verified match history, but they answer different questions. Neither is a fan vote, a reputation score or an official league position.

The Power & Pulse rankings expose the match inputs behind each club. This page explains how those inputs become numbers, why a smaller club can lead Pulse, and where the first version needs caution.

1. Start with results we can trace

The pilot uses completed senior men’s Super League matches up to the stated cutoff. The dataset records the two team IDs, date, score, designated home side, match status and a source reference. Brunei guest DPMM is included because it competes in this league; that does not make it a Malaysian club.

The model does not yet combine divisions, women’s competitions, youth football or international club tournaments. The Super League competition rules remain the authority for the official table. Our rating is a separate analysis of playing results.

Duplicate records, unknown teams, missing source references, invalid scores and dates beyond the cutoff are rejected. Scheduled and in-progress score fields are not results. An awarded walkover, abandoned match or administrative points deduction is not converted into a played win. Cup results, including the Malaysia FA Cup knockout ties, do not enter this league-only version.

2. Power: results relative to the challenge

Our starting point is an Elo-style update: a team gains or loses rating points according to the difference between the match result and the expectation set before it. Opponent adjustment is an established rating idea: FIFA describes relative-strength adjustments in its men’s national-team model.[2] Kedafa’s settings below are our own fixed pilot choices, not parameters endorsed by FIFA.

  • Each team starts at 1500 rating points at the beginning of the loaded history. The same starting value applies to every team.
  • The update factor is K = 20. It controls how far one result can move the rating.
  • The designated home team receives 60 points of home advantage only when calculating expectation. It is not a permanent addition to its rating. Explicitly neutral matches use zero. The same zero adjustment can be used for a documented unresolved venue, without claiming that it was neutral.
  • The observed result score is win = 1, draw = 0.5, loss = 0. Goal margin does not multiply the adjustment.
E(home) = 1 / (1 + 10 ^ ((R(away) - R(home) - H) / 400)) Change(home) = 20 × (S(home) - E(home)) Change(away) = -Change(home)

E is the expected result score, not the probability of winning. It treats a draw as half a win. A separate model would be needed to estimate distinct win, draw and loss probabilities. H is normally 60 for the designated home team and zero at an explicitly neutral or documented unresolved venue; R is the pre-match rating and S is the observed result score.

Matches are processed in date order. Games on the same date use that day’s opening ratings before their adjustments are applied together. This prevents the order of records in a file from changing the outcome. When verified earlier-season history is loaded, it provides warm-up; ratings do not automatically reset at a season boundary. A newly appearing team starts at the same 1500 baseline and needs time to establish a history.

In this snapshot, home designation is a modelling assumption rather than a verified venue-advantage field. For Kelantan Red Warrior–Kuching City (match 403776), both the provider and Bernama’s match report identify Paroi. It receives zero home adjustment while venue status is unresolved; we do not relabel the match as neutral. For Melaka–Kuching (405365), the provider lists Taha Ariffin, Kuching, while Bernama reports Hang Jebat, Krubong. That venue conflict remains recorded; the agreed Melaka home designation and 1–2 score are retained. The publisher’s rendered reports were checked directly, but venue reporting alone does not establish neutrality.

A worked example, not a real match

Take two teams rated 1500 on neutral ground. Each has an expected result score of 0.5. If one wins, its change is 20 × (1 − 0.5) = +10 points; the other loses 10. A draw changes neither rating. This example demonstrates the arithmetic only—it is not a result attributed to any club.

3. Pulse: who is beating expectations?

For each current-season game, subtract the team’s pre-match expected result score from its observed result score. Average those differences across its latest five eligible matches, or the available matches if fewer than five have been played, then multiply by 100. At least three current-season games are required for a Pulse rank.

Pulse = 100 × mean(actual result score - expected result score) Window: latest 5 current-season matches; minimum: 3

A positive Pulse means the club exceeded those expectations; a negative value means it fell short. Its unit is result-score percentage points, abbreviated pp. Pulse does not use guessed budgets, wage bills or fan popularity. A draw can help an underdog’s Pulse and hurt a favourite’s because the expectations were different before kickoff.

Pulse is not added to Power. Adding it again would reward the same recent surprise twice. Keeping them separate lets readers distinguish a strong club having a quiet spell from a lower-rated club making an unexpected run.

4. What the displays do—and do not—mean

Power is not a mark out of 100 and has no fixed ceiling. The seven-day column is the rating difference between the cutoff and the snapshot seven days earlier. It is not a prediction or a claim that a new match was played that week. Exact unrounded ties share a rank. Displayed scores are rounded for readability, so close unequal values can look the same.

“Provisional” describes the model’s maturity. A complete source dataset is not proof of forecasting quality. Small samples, equal initial ratings, gaps between seasons and changes to squads or coaches can all matter. The pilot does not measure injuries, line-ups, expected goals, shots or club finances. A recent run can be informative without establishing a durable change in strength.

5. Test the model without hiding bad results

The fixed pilot settings are not tuned to produce a preferred club order. The chronological check holds out the final 30% of distinct current-season match dates, rounded upward, keeping all games from a date together. It requires at least one earlier current-season date and 20 holdout matches. The check calculates every expectation using earlier information only, and compares mean squared result-score error with an Elo baseline without home advantage and a constant 0.5 baseline. Lower error is better on this specific check; it is not evidence of calibrated win probabilities.

Insufficient holdout data is reported as insufficient, not replaced with an impressive-looking accuracy percentage. A weaker result than a baseline remains a weaker result. No prior-season warm-up was available for this snapshot. The system stays provisional while coverage, stability and performance on later unseen matches are assessed. This is football analysis, not betting advice.

6. Keep the source trail and correct the history

25 played Super League matches from 21 August to 13 September 2026; source checked 16 October 2026 at 01:27:55 MYT. All 12 clubs covered. One unplayed administrative award is excluded. No prior-season warm-up is available. Sources are linked with the ranking snapshot. A source revision triggers validation and a replay of the chronology, rather than a manual edit to one club’s score. Club aliases must be documented against stable identities; similarly named clubs are not automatically merged.

Updates are generated from a reviewed dataset, not from a live score feed in your browser. The site serves static HTML and assets. The method version and dataset cutoff remain visible so an older snapshot cannot quietly pretend to be current.

Common questions

Is this the official Malaysian league ranking?

No. Power & Pulse is an independent Kedafa model. The pilot covers senior men’s Super League clubs, including Brunei guest DPMM. It does not replace the official league table or cover every Malaysian team.

What is the difference between Power and Pulse?

Power is an accumulated, opponent-adjusted playing-strength rating. Pulse averages the difference between actual and expected result scores over up to five current-season matches, with at least three required. A club can lead Pulse without being the strongest team.

Does a Power rating or Pulse score give a win probability?

No. Power is expressed in rating points. Pulse is expressed in result-score percentage points. The model’s expected result score counts a draw as half a win; it does not separately estimate win, draw and loss probabilities.

Can a team drop in rank after winning?

Yes. A completed eligible win increases that team’s Power rating, but another team can gain more and move ahead. Ranking position and rating-point change measure different things.