
Autosort: Toggle ⇊|⇅
(sorted|default).
Indicator position: Toggle ⇱|⇲
(top|bottom), ⇱
dodges the year in corner (outdated pic); stands out more and stays visible on fics collapsed by KH or KHX . Toggles do not need reloading. Colors have automatic dark mode.
Dimming: Applied to low-confidence, can modify dim_below
atop the code to hide more small fics (disable updates to keep your changes). Dimmed fics are sorted at the end.
Note: The 3 metrics can be disabled by setting they bmin
+min
to Infinity
, or their positive contribution can be shrunk with z_scale
.
v2.26: - Improved scoring for extreme values.

v2.23: - Added separate ALPHA for dimmed works, and updated defaults.
v2.22:
- Enhanced DEBUG indicators.
- I realised that (comments,kudos) works because it's actually (comment_per_chapter,kudos_per_chapter), adding a min threshold on the 'chapter' metric fixed the distribution.
- I rewrote the algorithm to use stronger minimums, with a dimmed fallback to the old ones.

v2.21:
- Added tunable z_scale to produce fewer scores from one metric should you prefer one.
- Option to dim/fail if fewer than N metrics pass, should make alpha<1 more interesting for those who use it. Requiring multiple metrics gives more values to mix making the Average more meaningful (Average did nothing when 1 metric passed. Now, it will reward scores with all-N high metrics).
v2.20:
- Looking closely at the graphs, Kudos should have been trained on min=8, this cleaned up the distributions.
- Default is back to Max, the rounding off affected large works only. Small works get more 100s because 1/3 metric is activated.
Tested: tCDF makes fewer 100s, spreads middle 1pt both sides, but 6x expensive; tCDF_norm does opposite; sticking with CDF.
v2.19:
- Updated the formula and fixed the defaults.
Now using a Normal regression per-metric, and α*Max+(1-α)*Average
for the final score.

Below: Max, Average, and Final blended score, with α=0.95 and α=0.68.


Demonstrates how lowering α mixes more Average and shifts the scores left (including the red dots -- my favorite fics). Therefore, Max is the better metric, but i set the default at α=0.95 to round it a bit and have fewer 100 score.
v2.13:
- Option to take the AVERAGE of all metrics instead of their MAX in the code. (the scale becomes a blending weight instead of a cap in that case). Gives a nicer spread while still blending.
v2.12:
- The (comments/kudos) metric is back among (bookmarks/kudos) and (collections/kudos).
- Uniformization is disabled by default atop the code: it was illogical considering the use of max()
to surface the best metric. This means you will see more high scores.
- Can disable a metric, scale
it down, or raise its min
contribution floor in the code.


v2.3: Switched to GAM score {Bk,Col/Ku} instead of Polynomial score {Bk,Col,Com/Ku}. (can install v2.7 to compare both with the Q/P toggle)

v2.0:
• Log() Engagement metrics (bookmarks/collections/comments/kudos) selected due to high correlation with my top favorite fics. By comparison the classic (x/hits) metrics feel completely random:

• 2nd-degree polynomial quantile regressions (P10, P50, and P90) of the 3 selected metrics pairs:
For each pair, an individual score is computed by:
◦ Deriving a skewed normal distribution from the polynomial contours.
◦ Z-score calculation based on its deviation from the P50 center-line.
◦ Converted into a 0-100 inverted percentile rank via NCDF.

• Final score == Max of all 3 reliable scores, gated by minimum stat counts.
The score is mapped to a perfect 0-100 percentile rank via ECDF normalization for uniform scoring.
