private String dumpProbability(int numPartitions, double skewFactor) {
        TopKEstimator estimator = new TopKEstimator(30, 0.9999, skewFactor);
        int [] K = {10, 20, 40, 80, 100, 200, 400, 800, 1000, 2000, 4000, 8000, 10000, 20000, 40000, 80000, 100000};
        double [] P = {1.0, 0.9999, 0.99999, 0.999999, 0.9999999, 0.99999999, 0.999999999, 0.9999999999};
        int n = numPartitions;
        StringBuilder sb = new StringBuilder();
        sb.append(String.format("Prob/Hits:"));
        for (double p : P) {
            sb.append(String.format(Locale.ENGLISH, " %1.10f", p));
        }
        sb.append("\n");
        for (int k : K) {
            sb.append(String.format(Locale.ENGLISH, "%9d:", k));
            for (double p : P) {
                sb.append(String.format(Locale.ENGLISH, "%13.3f", (double)(estimator.estimateK(k, n, p)*n) / k));
            }
            sb.append("\n");
        }
        return sb.toString();
    }
This make a table showing how many more hits will be fetched as a factor of hits requested.
It shows how it varies with probability and hits requested for a given number of partitions.
container-search/src/test/java/com/yahoo/search/dispatch/TopKEstimatorTest.java