aboutsummaryrefslogtreecommitdiff
path: root/core/scoring.go
blob: 9896c80b2b63010442fd56cc49901cb771cd6504 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// Score conversion utilities.
//
// ScoreToScale: Maps probability (0-1) to user-friendly 1-10 scale.
// Why: Users understand "8/10" better than "0.82 probability".
package core

import "math"

// ScoreToScale turns probability into 1-10 display score
func ScoreToScale(rawScore, threshold float64) int {
	k := 10.0
	adjustedScore := 1.0 / (1.0 + math.Exp(-k*(rawScore-threshold)))
	return int(math.Round(1.0 + (adjustedScore * 9.0)))
}