Academy Transparency Index
Scoring Methodology
How we calculate the public 0–100 score that appears next to every academy on the IFCCI Transparency Index. Public, formula-driven, and built so any academy can audit (and improve) its own number.
The score in one paragraph
Each academy receives a single number from 0 to 100. It comes from two streams of evidence: Academic Performance (70 points) — how their candidates do on IFCCI's CFT examination — and Market Performance (30 points) — how their alumni perform in independently-run trading competitions like IFTC. A small fine-grain quality bonus rewards continuous rate values (so two academies with the same tier don't tie), and a sample-size confidence multiplierprevents a 1-student academy from leapfrogging an established one. We do not factor self-reported claims, advertising spend, or unverified reviews.
Total score formula
when market data exists:
Pre = (Academic + QualityBonus) + Market
when no IFTC data yet (current state):
Pre = ((Academic + QualityBonus) ÷ 70) × 100
Score = Pre × CohortConfidence − FailPenalty + IdJitter
(clamped to 0–100, rounded to 2 decimals)Pre rescales to the full 100-point ceiling whenever an academy has zero IFTC participation, so missing data never reads as negative data. Once an alumnus enters IFTC, the 70/30 split kicks back in. FailPenalty subtracts up to 15 points based on the share of candidates who didn't certify (failed + pending-reattempt rows count equally). IdJitter is a deterministic 0.00–0.90 offset derived from the academy's ID — small enough never to cross a tier boundary, just enough so two academies with identical inputs don't display as a tie.
Academic
0 – 70
Bucketed signal levels from CFT exam outcomes. Two sub-streams: Cert Performance (50) + Student Excellence (20).
Market
0 – 30
Bucketed signal levels from IFTC trading competitions. Currently 0 for every academy — pipeline live, alumni not yet entered.
QualityBonus
0 – 5
Continuous rate-based bonus (FCH-rate, pass-rate, etc) — breaks ties between academies with similar bucketed signals.
CohortConfidence
0.60 – 1.00
Sample-size multiplier: ≥15 students full credit, ≥7 mild, ≥3 notable, <3 heavy discount.
FailPenalty
0 – 15
Subtracted from the score. Counts everyone who didn't certify (failed + pending-reattempt). 0.15 pt per failure-rate %, capped at 15.
Tier ladder
Score bands map directly to four public tiers. The labels are chosen to communicate position without insulting smaller providers — every certified academy starts somewhere on the ladder and climbs as its data accumulates.
Top Tier
80 – 100
Consistent high performance across both academic and market validation. Multiple cohorts, clean record.
Strong
65 – 79
Above-average performance with meaningful sample size. Most established Malaysian academies sit here.
Established
50 – 64
Verified track record, smaller cohort or fewer market validations. Trustworthy but earlier in IFCCI's data series.
Emerging
< 50
Newly observed in the registry. Insufficient data for confident comparison — not a negative judgement.
The two streams of evidence
Academic Performance · 70 pts
How the academy's candidates do on the IFCCI CFT examination. Split into two sub-streams:
- Cert Performance (50 pts) — 6 signals: average score, sample-size, pass rate, and three quality rates (Distinction / HD / FCH).
- Student Excellence (20 pts) — 4 signals: excellence ratio, quality distribution, achievement consistency, multi-cert achievers.
Quality signals are RATES, not raw counts — a small academy with strong outcomes scores the same per-capita as a large one. Volume alone never beats quality.
Market Performance · 30 pts
Whether alumni can actually trade — using independent, third-party-verifiable competition data. Three signals:
- •
iftc-participation— number of alumni entered into IFTC. - •
profitable-traders— % of those alumni with positive total return. - •
top-rankings— best monthly leaderboard rank achieved.
Exact threshold values for every Academic signal level are listed in the next section. The two Student-Excellence signals on consistency and multi-cert achievement currently sit at a baseline "Developing" for every academy — only one CFT cycle exists, and CFT is the only IFCCI credential, so they have nothing to vary on yet.
Per-category thresholds
The exact value an academy needs to reach each signal level on every Cert Performance and Student Excellence category. These are the numbers compiled into the live scoring code atsrc/lib/generate-academy-data.ts— re-tunable as the candidate pool grows.
| Category | Strong (×1.00) | Moderate (×0.70) | Developing (×0.40) | Limited (×0.20) |
|---|---|---|---|---|
Average CFT score 0–100 | ≥ 73 | ≥ 68 | ≥ 65 | ≥ 60 |
Total certified students absolute count | ≥ 15 | ≥ 7 | ≥ 3 | ≥ 1 |
Pass rate % of total cohort | ≥ 85% | ≥ 65% | ≥ 50% | ≥ 30% |
Distinction rate % certified at Dist+ | ≥ 55% | ≥ 35% | ≥ 20% | ≥ 5% |
High Distinction rate % certified at HD+ | ≥ 18% | ≥ 10% | ≥ 5% | > 0% |
First Class Honours rate % certified at FCH | ≥ 7% | ≥ 3% | ≥ 1% | > 0% |
| Student Excellence | ||||
Excellence ratio (FCH + HD) / total % | ≥ 40% | ≥ 25% | ≥ 15% | > 0% |
Quality distribution bands present (1–4) | ≥ 3 | ≥ 2 | — | ≥ 1 |
Achievement consistency year-over-year | — | — | baseline (1 cycle) | — |
Multi-cert achievers 2+ IFCCI credentials | — | — | baseline (CFT only) | — |
Anything below the Limited threshold returns Insufficient (×0.00). The last two Student-Excellence categories are flagged baseline because they need a second exam cycle (achievement consistency) and additional credentials beyond CFT (multi-cert achievers) to begin moving.
Quality bonus + sample-size confidence
Two adjustments sit on top of the bucketed signal score so the ladder reflects underlying reality, not just which signal-level bucket an academy happens to land in.
Fine-grain Quality Bonus (0 – 5 pts)
A small continuous bonus on top of the academic score that rewards the actual rate values, not just the bucket. So an academy at 88% pass rate scores marginally higher than one at 75% even when both are "moderate" on the bucketed signal.
bonus = passRatePct × 0.015
+ fchRatePct × 0.12
+ hdRatePct × 0.03
+ distRatePct × 0.005
+ log10(cohort+1) × 0.5
(capped at 5 points)FCH-rate carries the heaviest weight — earning a First Class Honours candidate is the single strongest quality signal.
Cohort Confidence Multiplier (×0.60 – ×1.00)
A 1-student academy with one FCH would score 100% on every rate signal — but that's not statistically meaningful. We apply a multiplier based on cohort size so small samples can't leapfrog established providers.
| ≥ 15 candidates | ×1.00 |
| 7 – 14 candidates | ×0.92 |
| 3 – 6 candidates | ×0.78 |
| < 3 candidates | ×0.60 |
Once an academy clears 15 certified candidates, the multiplier maxes out at ×1.00. They're competing on underlying performance, not data confidence.
Fail Penalty (0 – 15 pts subtracted)
Pass rate alone tells half the story. An academy with 24 passes out of 27 candidates (89%) reads very differently from one with 23 passes out of 33 (70%) — even if the passing students achieve similar grades. The Fail Penalty subtracts directly from the headline score so academies whose students fail (or remain pending-reattempt) carry visible weight.
failRate = (cohort − certified) / cohort × 100 penalty = min(failRate × 0.15, 15)
"Pending Reattempt" rows in the registry count toward fail rate — they're not certified yet, so they don't earn the academy any quality credit.
One last note on display: the headline score is rounded to 1 decimal (e.g. 88.6, 72.3). When two academies have literally identical performance data, a tiny deterministic offset (≤0.9 pt, derived from the academy's ID hash) prevents an exact-tie display. The offset is too small to cross a tier boundary and identical for any given academy across all recomputations — so the same data always produces the same score.
How an academy raises its score
Five concrete paths. None require negotiation, payment, or private application — they're earned through the registry, the examination, and IFTC. The Index recomputes after every batch.
01
Reach 15+ certified students
The Cohort Confidence multiplier maxes at ×1.00 starting at 15 candidates. Below that, your score is discounted (×0.92 / ×0.78 / ×0.60) — sample size is part of credibility.
02
Coach for First Class Honours
FCH-rate carries the heaviest weight in the fine-grain Quality Bonus (×0.12 per FCH percentage point). A single FCH on a small cohort lifts the score more than three Pass-band candidates do.
03
Lift pass rate above 85%
Pass-rate ≥85% pushes the bucketed signal to Strong (×1.00). The Quality Bonus also rewards every pass-rate point continuously — 90% scores higher than 85% scores higher than 80%.
04
Enter alumni into IFTC
When market data is absent, the score is rescaled from a 70 cap to a 100 cap. A single IFTC Top-100 finish moves the academy out of that rescaling and unlocks up to 30 more points.
05
Reduce repeat attempts
Pass rate is computed against TOTAL candidates including pending-reattempt rows. Fewer re-sits = higher pass rate = higher score on multiple signals.
06
Maintain a clean record
No complaint or misconduct entries in the IFCCI registry. Trust starts intact and is only ever reduced, never gained — the bar is to stay there.
Fairness commitments
Three rules govern how the Index is operated.
No pay-to-play
No academy can buy, sponsor, or boost their score. There is no premium tier. Listing fees are zero. IFCCI does not accept payment to alter, hide, or expedite a row.
Same formula for everyone
The weights, signal definitions, and conversion table on this page apply to every academy in the registry. We publish the formula source code as part of the open methodology.
Public revisions
Any change to weights, tier boundaries, or signal categories is announced before it ships and applied uniformly. Past scores remain visible in the audit log.
Not factored into the score
Marketing copy · self-attested student counts · social-media followers · paid testimonials · individual mentor reputation · purchase or sponsorship of regulator-adjacent events.
When the Index recomputes
The full Transparency Index regenerates every time IFCCI publishes a new exam batch (typically once per month, more often during peak intake periods). Market Performance signals refresh after each IFTC monthly cycle closes. Trust signals update in real time when complaint or conduct records are entered into the registry.
Dispute or correct a score
Believe an entry is wrong? Submit the correction with supporting evidence and IFCCI will review within 5 business days. Confirmed corrections trigger a recompute.
transparency@ifcci.org.mySee the methodology in action
Browse the Transparency Index