Recommendation novelty proxy calculator

Calculate mean popularity surprisal and per-recommendation surprisal with your own figures.

Your numbers

Use the units shown. Results update as you change valid inputs.

Use mean popularity surprisal and per-recommendation surprisal to compare changes to your inputs. The method and limits below explain the scope.

Examples

Examples

Try the starting example

JSON Recommendations [item ID,historical interaction count]
[["A",50],["B",10],["C",0]]
Total historical interactions
1000
Catalog size (count)
100
Additive smoothing alpha
1
Mean popularity surprisal (bits)
7.059335
Per-recommendation surprisal (bits)
[["A",4.43086246644],["B",6.64385618977],["C",10.1032878084]]

Try another scenario

JSON Recommendations [item ID,historical interaction count]
[["A",100],["B",20],["C",5]]
Total historical interactions
1000
Catalog size (count)
100
Additive smoothing alpha
1
Mean popularity surprisal (bits)
5.558124
Per-recommendation surprisal (bits)
[["A",3.44507632566],["B",5.71097038563],["C",7.51832530769]]
Calculation method

Calculation method

Mean popularity surprisal (bits)

sum(-math.log2((r[1]+d)/(b+d*c)) for r in a)/len(a)

Per-recommendation surprisal (bits)

J([[r[0],-math.log2((r[1]+d)/(b+d*c))] for r in a])

Symbols and units
a
JSON Recommendations [item ID,historical interaction count]
b
Total historical interactions
c
Catalog size (count)
d
Additive smoothing alpha

Use the units shown. A list keeps the order in which you enter its values. The symbol ^ means “raised to the power of”.

Calculation steps and notation

sum(list) adds all entries in the list.

Assumptions & limits

Assumptions & limits

  • User-supplied popularity counts with alpha>0; counts≤total interactions, positive total. Popularity surprisal is a novelty proxy, not user-perceived novelty or recommendation utility. Supported limits: All numeric inputs must be finite. Only the explicitly described mathematical scenario is supported.
Are these inputs private?

These calculations run in your browser. A shared link contains the values you choose to share. Only questions submitted to the separate AI finder are sent to OpenAI.

Share this page
Share this calculator

Leave unchecked to share the page without your entered values.