Learn Free Discipline ScoreFree Score
Methodology v1 ยท 2026-08-03

The Riskora Discipline Score

A 0โ€“100 measure of how consistently a trader behaved โ€” built only from timestamps, quantities and instruments, never from profit. This page is the whole model: every threshold, every weight, and every case where we refuse to show a number.

Why this is a public page

Most scores in finance are proprietary. That is defensible when the score is sold to a lender and the borrower never sees it. It is indefensible when the score is shown to the person it describes and is meant to change their behaviour.

A number you cannot inspect is a number you have to trust. A number you can inspect is one you can argue with โ€” and a trader who disagrees with our 15-minute revenge window is engaging with their own behaviour far more usefully than one who nods at a dashboard. So the entire model is below. You can recompute your score by hand from your own tradebook and check our arithmetic.

The one-line version

Start every trader at 100. Subtract weighted penalties for five behaviours that are measurable from a tradebook. Never subtract for losing money.

What the score deliberately does not measure

This matters more than what it does measure, so it comes first.

The one place money appears is the separate behavioural cost estimate โ€” the rupee figure shown next to the score. It is computed from your P&L, it is clearly labelled an estimate, and it is never an input to the score. Keeping money out of the score is what makes it a behavioural measurement instead of a performance rating.

The five behaviours and their weights

Penalties are weighted so that the two things which actually empty accounts โ€” reacting to a loss, and trading too often โ€” carry the most.

BehaviourWeightWhat is flagged
Revenge trading30 An entry within 15 minutes of a losing trade closing, that is either in the same instrument or sized โ‰ฅ 1.2ร— your own recent average (last 10 trades).
Overtrading22 A day whose trade count exceeds your own median + 1.5 ร— your own standard deviation. A day with 6 or fewer trades is never flagged, whatever the maths says.
Sizing up after a loss18 An entry placed right after a loss at โ‰ฅ 1.3ร— your average size. Pressing harder after losing.
Disposition effect18 Average holding time on losers โ‰ฅ 1.5ร— average holding time on winners. Holding losers, cutting winners.
Euphoria re-entry12 An entry within 10 minutes of a winning exit, sized โ‰ฅ 1.3ร— recent average. The same reflex as revenge, wearing the opposite mood.

Weights sum to 100, so a trader who did all five constantly would score 0 and one who did none would score 100.

score = 100 โˆ’ ฮฃ ( weightb ร— shareb ) for each behaviour b where shareb โˆˆ [0, 1]

Every threshold is measured against your own history

This is the design decision the rest of the model hangs on. Notice that almost every number above is a multiple of your own average or a deviation from your own median, not an absolute.

A scalper's normal gap between trades is forty seconds and their normal day is sixty trades. A positional trader's normal gap is two days and their normal day is one trade. A fixed "more than 10 trades a day is overtrading" rule would call the first reckless and the second saintly while telling neither of them anything. Measuring against the trader's own baseline is what makes one score comparable across both.

It also means the score cannot be gamed by changing style. Trade half as much and your own median halves with you.

The anti-dilution floor

If penalties were pure percentages, a trader with 14 revenge trades could pad the file with 200 clean flat trades and watch the problem wash out. So each count-based penalty uses:

share = max( flagged / applicable , min(1, flagged / 20) )

In a normal tradebook the second term is tiny and the share is percentage-driven, so nothing changes. Only a book carrying many flagged trades gets floored โ€” 20 revenge trades reads as a full penalty regardless of how many clean trades sit around them, because twenty revenge trades is a habit no denominator excuses.

The floor deliberately does not apply to the severity-style measures (overtrading share, disposition ratio). Those are already 0โ€“1 quantities rather than counts, and flooring them would mean penalising the same thing twice.

When the score refuses to appear

A model that always produces a confident number is not careful, it is unfalsifiable. Three rules constrain ours.

  1. Below 5 closed round-trips, the score is flagged low-confidence. The behavioural signals โ€” revenge windows, an overtrading baseline, a hold-time ratio โ€” need history to exist at all. A one-trade file would otherwise render an authoritative "100 / 100", which is the most dishonest output the system could produce.
  2. A behaviour that could not be measured is excluded, never scored as zero. If your file contains no losing trades, no revenge trade was possible โ€” that is an absent measurement, not a clean record. The weight is redistributed across what was measurable, so a partial file still spans the full 0โ€“100 range instead of being silently capped.
  3. Rupee figures have their own, higher bar. The behavioural cost estimate stays hidden below 30 closed trades overall, and any individual pattern matching fewer than 5 trades shows its count but no money figure. One unlucky trade is not a behavioural cost.
The rule behind all three

Never score something you could not compute. Inventing a finding to fill a gap in the model is worse than showing a smaller model honestly.

About the 900-point number

Alongside the 0โ€“100 score, Riskora shows a 300โ€“900 figure in the familiar shape of an Indian credit score. It is an exact linear rescale:

riskora_score = 300 + (discipline_score ร— 6)

It contains no information the 0โ€“100 score does not already contain, and it is not a credit score, not related to CIBIL, and not visible to any lender, broker or third party. It exists only because the range is instantly legible to an Indian trader. If that framing bothers you, ignore it and read the 0โ€“100.

Two different numbers, one product

Riskora produces two scores and they are not the same thing. Confusing them is easy, so:

Discipline ScoreHealth Score
WhereMirror โ€” from an uploaded tradebookThe Riskora terminal โ€” from live enforced sessions
MeasuresThe five behaviours above, retrospectivelyCompliance with the limits you declared, as they happen
Judged againstYour own historical baselineYour own written rules
ChangesEach time you upload a fileEvery session, and it is what the daily history chart tracks

Neither number is judged against our opinion of a good trade. That is the whole constraint: Riskora enforces your rules, and scores you against them.

Known limitations, stated plainly

Version history

VersionDateChange
v12026-08-03First public publication of the methodology. No change to the model itself.

Any future change to a threshold or a weight gets a row here. A score whose definition moves silently is not a standard.

Common questions

Does the Riskora Discipline Score use my profit and loss?

No. Not one of the five behaviours reads your P&L. A profitable trader with reckless habits can score badly, and a losing trader with clean habits can score well. P&L appears only in the separate behavioural cost estimate, which sits next to the score and is never an input to it.

Why is the score published instead of kept secret?

A score you cannot inspect is a number you have to take on faith. Publishing every threshold means a trader can recompute their own score by hand from their tradebook, and disagree with a specific number rather than with the whole idea. A hidden model would be easier to defend and worth less.

What is the 900-point score?

It is a straight rescale of the 0โ€“100 score onto a 300โ€“900 range, in the familiar shape of an Indian credit score. It carries no information the 0โ€“100 number does not already carry. It exists because the range is recognisable, not because it is more precise.

Can the score tell me whether I will be profitable?

No, and it does not try. It measures how consistently you behaved, using thresholds set against your own history. It is not a prediction, not a rating of your skill, and not investment advice.

Why does the score sometimes refuse to appear?

Because a confident number computed from five trades is a lie with a decimal point on it. Below a minimum number of closed round-trips the score is marked low-confidence, and where a behaviour could not be measured at all it is excluded and its weight redistributed rather than being scored as zero.

Can I use this methodology in my own research or tool?

Yes. It is published to be read, checked and criticised. If you build on it or find a case where it is wrong, write to support@riskora.in โ€” a threshold that survives an argument is worth more than one that was never tested.

Get your own score

Upload a tradebook and see the number this page describes, along with which single habit cost you the most and what it cost in rupees.

Get my Discipline Score โ€” free

๐Ÿ”’ Read entirely in your browser. Your file is never uploaded.

Riskora is a behavioural training and simulation platform. It is not a broker, investment adviser or research analyst, and nothing on this page is investment advice or a recommendation to trade. The Discipline Score is a behavioural measurement, not a prediction of returns, and it is not a credit score or a rating of creditworthiness.