Stability of SERP-overlap Keyword Clusters Across Two Existing Search Collections
Abstract
We compare eight SERP-overlap similarity measures within one deterministic, two-stage anchor clustering procedure using two existing collections of live search results. The source inventory contains 600 keywords across three software markets; 444 have eligible top-ten organic rankings in both collections. Thresholds are calibrated entirely on collection A: top-ten Jaccard establishes three coverage-derived grouping settings, and other measures approximately match its grouped-pair counts. At the primary setting, URL-specificity weighted Jaccard has the highest pooled grouped-pair overlap, 13.75%, compared with 13.56% for top-ten Jaccard. The advantage is 0.19 percentage points and reverses under equal-market averaging. Market leaders differ, and logarithmic rank weighting leads the lower grouping setting. Original ranks 1–3 survive anywhere in B's top ten more often than ranks 8–10, 47.97% versus 39.71%, supporting the premise of greater leading-result persistence.
Underlying provider observations and query-level derived datasets are currently unavailable publicly while redistribution permission remains unconfirmed. This public release contains the paper, figures, aggregate results, and original analysis code. Full reproduction requires the locally retained observations and supporting inputs. See the README for the public-release boundary and reproduction instructions.
Research question and motivation
Pinnacle needs to understand how much a keyword grouping depends on the particular search results used to create it. SERP-overlap clustering represents a keyword by the pages returned for its query. Two keywords become related when their result lists share pages. A similarity measure turns that evidence into a score; a clustering algorithm turns scores into groups. Those are separate choices. This experiment changes the similarity measure while retaining the same clustering algorithm.
The research question is: How stable are keyword clusters produced by different SERP-overlap similarity methods when applied to two existing collections of live search results? The hypothesis is that emphasizing leading results may improve stability when lower-ranked URLs change more than leading URLs. Rank weighting can suppress the effect of replacing a low-ranked result, while making movement of a leading result more consequential. A lower-ranked page may also be a useful common destination connecting related searches. Removing its influence can split a relationship that set overlap retains.
Stability has practical value when a tool periodically refreshes search evidence: unexplained group changes can create editorial churn. Yet a stable error is still an error. There are no trusted intent labels or measured publishing outcomes in these data. We evaluate repeatability of co-membership, rather than whether one page should target a pair of queries or whether a grouping improves rankings, traffic, or revenue.
Prior work
Hong, Vaidya, Lu, and Liu [1] use top-ranked result URLs and positions to construct query similarities and efficient query clustering. Their transition similarity and early-termination algorithms differ from the weighted Jaccard measures and anchor procedure studied here. Their user judgments support conclusions in their own evaluation; they do not supply intent labels or a stability advantage for this dataset.
Webber, Moffat, and Zobel [2] develop Rank-Biased Overlap for indefinite rankings with potentially nonidentical item sets. We use their equal-length finite extrapolated expression at a fixed observed depth. Its treatment of prefix overlap provides a distinct way to emphasize leading evidence, with an explicit assumption about the unobserved tail.
Jimmy, Zuccon, and Demartini [3] study repeated commercial-search retrieval and distinguish result membership changes from rank movement. Their Bing API study motivates caution about reproducibility and retrieval variation. It does not identify the cause of changes in this Google-based dataset or establish that leading results are universally more stable.
The min/max weighted Jaccard definition is established [4]. Inverse-frequency weighting has a long information-retrieval history [5]; applying the particular smoothed frequency function to URLs in this experiment is an adaptation, not evidence of established superiority. Adjusted Rand Index supplies a chance-adjusted comparison of complete partitions [6]. We use these references for the claims they support, without transferring unrelated accuracy findings to the present experiment.
Dataset and collection conditions
Inventory and eligibility
The existing expanded study collected 600 distinct provider-sourced keywords, 200 in each of CRM, help-desk/customer-support software, and project-management software. Keywords, discovery provenance, search-volume values, and query order are preserved.
Both collections contain 600 original query attempts and four declared retries. Selected observations are eligible only when the provider task succeeds, the query identity is preserved without explicit correction, and the response contains ten distinct valid normalized HTTP(S) URLs at exact organic ranks 1 through 10. Organic rank_group is used rather than absolute position among mixed SERP elements. Missing or duplicate results remain excluded; deeper ranks do not fill gaps. The source audit found no material extraction error requiring a correction.
| Market | Keywords | Eligible A | Eligible B | Common |
|---|---|---|---|---|
| CRM | 200 | 172 | 161 | 147 |
| Help desk | 200 | 169 | 169 | 149 |
| Project management | 200 | 173 | 167 | 148 |
| Total | 600 | 514 | 497 | 444 |
results/audit.json. URL normalization lowercases the scheme and hostname, removes fragments and default ports, and supplies / for an empty path. It preserves HTTP versus HTTPS, www, path case, trailing slashes, and query contents and order. No redirects are followed and URLs are not collapsed to domains. Original URLs, titles, snippets, exclusions, and attempt identities remain available.
Repeated URLs account for overlapping exclusion reasons in 82 A observations and 80 B observations. Incomplete valid top-ten lists occur in 84 A and 101 B observations; these counts overlap with duplicates and other failures and must not be added as disjoint categories. The common eligible inventory contains 444 keywords and is fixed for calibration and both clustering runs. Restricting to complete common observations reduces the population to which the comparison applies; excluded retrievals remain documented rather than silently repaired.
Retrieval settings, timing, and provenance
The saved requests use Google google.com, United States location code 2840, English, desktop, Windows, and requested depth 20. Related organic results remain grouped by the provider; asynchronous AI Overview loading and pixel rectangles are disabled. The analysis observes only organic ranks 1–10, even when deeper results are saved. The requested depth is therefore a collection parameter, not an analysis depth.
Endpoint and search settings remained fixed, but transport and effective scheduling changed. Failures and recovery policy are preserved. A successful allowed retry can replace its original failure; it is still subject to the same top-ten eligibility rule. No duplicate, short, or corrected result was recollected for this follow-up.
This is a follow-up on existing observations. Collection B was already analyzed in the earlier study and is not an untouched holdout. Two nearby collections support a descriptive A/B comparison, not a reliable estimate of long-term temporal variance. A used the connected provider; B changed from 126 connector originals to 474 direct originals plus four direct retries. Unresolved retrieval variation limits attribution to Google or elapsed time alone.
Residual salary/career queries and an ambiguous ticketing query are retained in the frozen inventory. Their presence limits the interpretation of these labels as pure software-market samples. Removing them after observing outcomes would change the question and is not part of the main analysis.
Similarity measures
Let be query 's ordered list of ten normalized organic URLs. Let be its first URLs treated as a set, and let be URL 's rank when present. All measures below compare two eligible query lists and and produce scores between zero and one. They are similarity measures; none defines a clustering algorithm by itself.
M1–M3: set Jaccard at depths ten, five, and three
The numerator counts shared URLs and the denominator counts all distinct URLs in the two retained prefixes. M1 uses ten results, M2 five, and M3 three. They reward membership overlap and ignore order within the retained prefix. For equal depth and common URLs, the score is .
M1 can be influenced by broad supporting pages shared only at lower ranks. M2 and M3 reduce that influence but discard potentially useful common pages. Their scores change abruptly when a URL crosses the prefix boundary. With very short sets there are few attainable scores, which can make a desired grouping level difficult to match. A rank swap entirely inside the retained prefix leaves the score unchanged.
M4 and M5: weighted Jaccard
For M4, define when present and zero otherwise. For M5, replace that rank weight with . Both use:
Each common URL contributes its smaller weight to the numerator and its larger weight to the denominator. An unshared URL contributes only to the denominator. Consequently, a URL ranked first in one list and tenth in the other supplies less matched mass than a URL leading both lists. The reciprocal curve concentrates influence more strongly at the top; the logarithmic curve declines more gradually. Uniform present-URL weights reduce the formula to ordinary Jaccard [4].
These measures reward shared prominent URLs and positional consistency. They are less sensitive to some bottom replacements but more sensitive to some leading movements. A common leading page that shifts rank can lower the score even though membership is unchanged. Strong rank emphasis can also underweight lower-ranked URLs that distinguish a meaningful relationship.
M6: finite extrapolated Rank-Biased Overlap
Define prefix agreement . With depth ten and fixed persistence :
At each depth, is the fraction of URLs shared by the two prefixes. The formula combines those agreements using geometric coefficients and adds an extrapolated tail. We verified this equal-length expression against equation 23 of Webber et al. [2]. We neither optimize on B nor substitute a different RBO variant.
The tail assumes expected agreement at every unobserved deeper prefix remains . Its coefficient is ; the ten visible-prefix coefficients sum to . These are coefficients on prefix agreements, not independent weights on URLs. A URL contributes through multiple prefixes. The tail is an assumption and does not measure the deeper ranks saved in some responses.
RBO rewards early overlap while allowing lists to contain different URLs. Leading reorderings can change several prefix agreements, and the tail gives substantial influence to the final observed agreement. Its behavior depends on persistence and observation depth; the present experiment evaluates one declared setting only.
M7: reciprocal-rank cosine
Using M4's reciprocal-rank vectors:
The numerator adds products for shared URLs, while the denominator normalizes the vectors' lengths. An unshared URL has a zero product but contributes to a vector norm. The score rewards common high-weight coordinates; mismatched leading positions reduce their product. Since every eligible vector contains the same ten rank weights, its squared norm is the same fixed sum, even though URLs differ.
Cosine can be especially insensitive to a bottom replacement because that coordinate contributes little squared weight. Conversely, a leading swap can matter considerably. Its numerical scale differs from weighted Jaccard, so equal numerical thresholds would impose different grouping pressure.
M8: URL-specificity weighted Jaccard
Within a market's common eligible inventory, let be its keyword count and the number of A queries containing URL in their top ten. Freeze:
The weight grows when fewer A queries contain the URL. The added one and smoothing keep weights positive and defined. A URL first appearing in B uses and therefore the maximum prescribed weight; frequencies are never recomputed from B.
Define when present and zero otherwise, and apply the same min/max weighted Jaccard formula. Because a URL has the same frozen weight in both lists, the numerator is the summed weight of common URLs and the denominator is the summed weight of their union. There is no rank weighting. This is an experimental URL application of inverse-frequency reasoning [5].
M8 discounts URLs broadly shared across a market and emphasizes more specific destinations. However, common pages may be valid useful evidence rather than noise. Rare accidental overlaps and newly encountered B URLs receive high weights. Its frequencies depend on the sampled inventory, and A-derived weights introduce an intentional directional asymmetry between the two collection roles, although the pair similarity itself is symmetric within either collection.
URL-vector rank weights
- Uniform URL weight
- 1/r
- 1/log₂(r+1)
RBO prefix-agreement coefficients
The extrapolated tail multiplies A₁₀. URL-specificity weights depend on A frequency and have no rank curve.
Clustering and threshold calibration
One shared anchor procedure
Keywords are processed separately by market with the same saved priority in A and B: known volume before missing volume, descending volume, casefolded query text, original text, then query ID. First, the highest-priority remaining keyword becomes a provisional anchor. It and all remaining keywords with similarity at least the threshold are removed as a provisional group. The procedure repeats until no keyword remains.
Second, those anchors freeze within the run. Each anchor stays in its own representative cluster. Every non-anchor is assigned once to its highest-scoring qualifying anchor, breaking equal-score ties by frozen anchor priority. The same method supplies both qualification and best-anchor scores. There is no additional shared-URL-count gate, centroid update, or transitive-closure step.
This retains the existing study's documented adaptation of the anchor procedure [7]. It is not a comparison of eight clustering algorithms. Primary A and B runs select their anchors independently, so a change in an early keyword's relationships can change later representatives and memberships.
Clusters need not be pairwise cliques. Two members may both qualify to an anchor while scoring below threshold to each other. Conversely, a pair scoring above threshold can separate because its members prefer different anchors. We therefore save direct similarity, direct threshold qualification, and actual anchor assignment separately.
A-derived grouping settings
Identical numerical thresholds are not comparable across these score scales. For each market, we enumerate the full 0–1 grid in increments of 0.001. J10 selects the threshold closest to nominal 40%, 50%, and 60% coverage, where coverage is the fraction of keywords in groups of at least two; equal-distance ties favor higher thresholds.
At each J10 setting, we record the number of within-cluster unordered keyword pairs. Every other method selects the A threshold minimizing absolute distance to that pair count. Ties prefer coverage closest to the achieved J10 coverage, then the higher threshold. We enumerate rather than assume monotonic anchor clustering. Precomputed similarities and reuse of byte-identical qualification graphs improve execution without omitting any grid row.
All 24,024 grid rows and 72 selected operating points are saved. A-derived URL frequencies, selected thresholds, the common inventory, configuration, and numerical implementation are hashed before B evaluation. The same values are applied unchanged to B. Thresholds are not selected to maximize stability.
| Method | CRM threshold / pairs | Help desk threshold / pairs | Project management threshold / pairs |
|---|---|---|---|
| M1 | 0.250 / 69 | 0.250 / 133 | 0.250 / 87 |
| M2 | 0.428 / 55 | 0.428 / 86 | 0.250 / 110 |
| M3 | 0.500 / 51 | 0.500 / 76 | 0.500 / 66 |
| M4 | 0.248 / 71 | 0.248 / 135 | 0.177 / 88 |
| M5 | 0.218 / 69 | 0.198 / 133 | 0.180 / 87 |
| M6 | 0.393 / 69 | 0.340 / 132 | 0.301 / 87 |
| M7 | 0.478 / 68 | 0.653 / 132 | 0.645 / 95 |
| M8 | 0.224 / 69 | 0.167 / 133 | 0.192 / 86 |
results/selected_thresholds.csv. The achieved primary J10 coverage is 42.86% in CRM, 49.66% in help desk, and 50.00% in project management. CRM's nominal 40% and 50% settings select the same baseline threshold and grouping, illustrating discreteness rather than independent operating points.
Matching is approximate. At the primary help-desk setting, J5 reaches 86 pairs and J3 76 against J10's 133: shortfalls of 35.34% and 42.86%. Project-management J5 has 110 pairs against 87, an excess of 26.44%. CRM J5 and J3 have 55 and 51 against 69. These differences qualify comparisons involving shallow lists. The full selection table reports coverage and absolute/relative pair errors, not only the thresholds.
Evaluation definitions
Let and contain unordered within-market keyword pairs assigned to the same cluster. Retained pairs are in their intersection; lost pairs are only in A; gained pairs are only in B. Pair retention is . The primary stability score is:
The score divides retained relationships by every relationship present in either collection. It penalizes both losses and gains. Pair retention alone does not penalize new B relationships, which is why both measures are reported. A partition of all singletons has no grouped relationships and is not assigned perfect stability: an empty union gives undefined , saved as null; empty A gives undefined retention.
ARI compares complete partitions, including singletons [6]. If counts keywords in the intersection of A cluster and B cluster , and are marginal cluster sizes, and , define , , and :
The numerator subtracts the expected same-cluster agreement under fixed marginal sizes, and the denominator normalizes the remaining agreement. ARI may be negative. Identical degenerate partitions use the conventional value one; fewer than two keywords gives undefined ARI. That partition convention does not change the undefined empty-grouping . Empty or all-in-one configurations are flagged and excluded from meaningful-winner claims; none of the selected experimental configurations is trivial.
We also report coverage, singleton rate, cluster count including singletons, median size among groups of at least two, largest-cluster share of market keywords, and complete size distributions. These quantities show what accompanies a stability score.
Pooling sums retained, lost, and gained counts within markets before taking ratios; cross-market pairs never enter. Equal-market averages weight each market's defined ratio equally and record the number of contributing markets. ARI remains a market-level partition metric; we report its equal-market average rather than invent a pooled cross-market partition statistic. Most possible pairs remain separated, so raw all-pair agreement is not a headline outcome. Dependent keyword pairs are not treated as independent statistical observations.
Worked example: why ranking emphasis cuts both ways
This calculation is illustrative and does not represent a saved SERP. Begin with ten distinct URLs . Compare it first with a list swapping and , and then with a list replacing only rank-ten URL by new URL . For M8, assign equal frozen specificity weights so its behavior reduces to set Jaccard.
| Method | Identical | Leading swap | Bottom replacement | Disjoint |
|---|---|---|---|---|
| M1 | 1.000000 | 1.000000 | 0.818182 | 0.000000 |
| M2 | 1.000000 | 1.000000 | 1.000000 | 0.000000 |
| M3 | 1.000000 | 1.000000 | 1.000000 | 0.000000 |
| M4 | 1.000000 | 0.708367 | 0.933971 | 0.000000 |
| M5 | 1.000000 | 0.849746 | 0.880369 | 0.000000 |
| M6 | 1.000000 | 0.900000 | 0.961258 | 0.000000 |
| M7 | 1.000000 | 0.838686 | 0.993547 | 0.000000 |
| M8 | 1.000000 | 1.000000 | 0.818182 | 0.000000 |
results/worked_examples.csv; letters are invented identifiers for the calculation, not experimental observations. For reciprocal weighted Jaccard, let . The leading swap moves weight 1 and 1/2 between the same two coordinates, giving . Replacing rank ten instead gives .
For cosine, let . The leading swap reduces the dot product by 1/4, giving . A bottom replacement loses only of the dot product, giving .
For RBO, a first-two swap changes only from one to zero, so the score is . A rank-ten replacement changes from one to 0.9, affecting both its visible coefficient and the tail: . Set J10 ignores the swap but scores the replacement as . These examples demonstrate a mechanism, not an empirical winner: leading movement and bottom replacement favor different measures.
Changes in the observed rankings
| Market | Identical | Reordered only | Membership changed | Queries |
|---|---|---|---|---|
| CRM | 25 | 5 | 117 | 147 |
| Help desk | 16 | 4 | 129 | 149 |
| Project management | 21 | 8 | 119 | 148 |
| Pooled | 62 | 17 | 365 | 444 |
results/diagnostic_summary.json. Of 444 common queries, 62 have identical rankings, 17 reorder the same URL set, and 365 change membership. Across their 4,440 A URLs, 1,970 remain anywhere in B's top ten and 1,418 remain at the exact original rank. Membership turnover is therefore substantial even though many surviving URLs retain their positions. These are conditional counts among eligible common queries; they do not describe failed or incomplete retrievals.
| A ranks | A URLs | Survived anywhere | Survival (%) | Same rank (%) | Mean absolute shift |
|---|---|---|---|---|---|
| 1-3 | 1332 | 639 | 47.97 | 38.81 | 0.487 |
| 8-10 | 1332 | 529 | 39.71 | 26.95 | 0.724 |
| 1-5 | 2220 | 1038 | 46.76 | 36.26 | 0.498 |
| 6-10 | 2220 | 932 | 41.98 | 27.61 | 0.694 |
results/rank_bands.csv. Ranks 1–3 have 47.97% survival anywhere in B's top ten compared with 39.71% at ranks 8–10, a difference of 8.26 percentage points. The same direction appears in all three markets. Exact-rank survival is 38.81% versus 26.95%. The broader comparison also favors the first five, 46.76% versus 41.98% for ranks 6–10. Thus these observations support the premise that leading URLs persist more often within the top-ten boundary.
Among all 1,970 surviving URLs, mean absolute displacement is 0.591 ranks and median displacement is zero. Surviving leading URLs have lower mean absolute movement than surviving bottom URLs in the declared bands. These conditional summaries omit disappeared URLs and therefore cannot be read as the movement of all original results. Signed shifts are constrained by the observed boundary: leading results have more room to move down, and bottom results more room to move up.
A URL absent from B's top ten may have moved below rank ten, changed normalized URL identity, or been omitted by the retrieval process; it need not have disappeared from search entirely. We do not inspect additional SERPs or follow redirects to resolve these possibilities.
A-URL survival by original rank
- Anywhere in B top ten
- Exact same rank
444 A URLs at each rank
Signed movement, conditional on survival
1,970 surviving URLs; absence from B top ten is excluded
Results
Primary stability
| Method | CRM S | Help desk S | Project S | Pooled S | Equal-market S | Mean ARI |
|---|---|---|---|---|---|---|
| M1 | 11.61 | 12.50 | 16.99 | 13.56 | 13.70 | 0.233 |
| M2 | 9.89 | 7.83 | 14.21 | 11.01 | 10.64 | 0.185 |
| M3 | 6.02 | 8.12 | 11.54 | 8.65 | 8.56 | 0.152 |
| M4 | 8.65 | 9.52 | 14.36 | 11.20 | 10.85 | 0.188 |
| M5 | 9.73 | 10.99 | 17.16 | 12.59 | 12.63 | 0.215 |
| M6 | 10.00 | 9.62 | 18.54 | 12.64 | 12.72 | 0.216 |
| M7 | 7.14 | 8.41 | 14.37 | 10.14 | 9.98 | 0.173 |
| M8 | 10.48 | 13.14 | 17.11 | 13.75 | 13.57 | 0.231 |
results/stability.csv. URL-specificity weighted Jaccard (M8) leads pooled stability at 73 retained pairs out of a 531-pair union, or 13.75%. Top-ten Jaccard (M1) retains 75 of 553, or 13.56%. The difference is 0.19 percentage points. M8 therefore has the higher ratio while retaining fewer absolute relationships, and its slightly smaller A pair count, 288 versus 289, is not a major grouping mismatch.
Equal-market averaging reverses this narrow ordering: M1 has 13.70% versus M8's 13.57%. CRM favors M1, help desk M8, and project management RBO. This combination gives no consistent primary winner across markets and aggregation choices. M8 is not rank weighted, so its pooled lead cannot support a claim that emphasizing rank was responsible.
| Method | A pairs | B pairs | Retained | Lost | Gained | Retention (%) |
|---|---|---|---|---|---|---|
| M1 | 289 | 339 | 75 | 214 | 264 | 25.95 |
| M2 | 251 | 253 | 50 | 201 | 203 | 19.92 |
| M3 | 193 | 184 | 30 | 163 | 154 | 15.54 |
| M4 | 294 | 272 | 57 | 237 | 215 | 19.39 |
| M5 | 289 | 346 | 71 | 218 | 275 | 24.57 |
| M6 | 288 | 318 | 68 | 220 | 250 | 23.61 |
| M7 | 295 | 248 | 50 | 245 | 198 | 16.95 |
| M8 | 288 | 316 | 73 | 215 | 243 | 25.35 |
results/stability.csv. Reciprocal weighted Jaccard, logarithmic weighted Jaccard, RBO, and reciprocal cosine have primary pooled stability of 11.20%, 12.59%, 12.64%, and 10.14%. All are below J10's 13.56%. Shallow J5 and J3 reach 11.01% and 8.65%, but their discrete grouping mismatch limits an interpretation that depth alone caused these gaps. Low absolute overlap is common to all methods.
Grouping behavior and sensitivity
| Method | 40% pooled / mean | 50% pooled / mean | 60% pooled / mean |
|---|---|---|---|
| M1 | 12.22 / 12.80 | 13.56 / 13.70 | 15.26 / 16.87 |
| M2 | 10.68 / 11.15 | 11.01 / 10.64 | 13.22 / 14.43 |
| M3 | 8.65 / 8.56 | 8.65 / 8.56 | 11.31 / 11.63 |
| M4 | 11.67 / 11.74 | 11.20 / 10.85 | 12.90 / 13.61 |
| M5 | 14.55 / 14.78 | 12.59 / 12.63 | 14.45 / 15.81 |
| M6 | 12.89 / 13.17 | 12.64 / 12.72 | 13.63 / 14.69 |
| M7 | 10.70 / 11.25 | 10.14 / 9.98 | 11.46 / 11.52 |
| M8 | 10.78 / 11.11 | 13.75 / 13.57 | 15.81 / 17.62 |
results/stability.csv. The targets describe baseline calibration, not exact coverage shared by all methods. At nominal 40% grouping, log weighted Jaccard leads pooled stability at 14.55% and equal-market stability at 14.78%. At nominal 60%, M8 leads pooled stability at 15.81% and is highest in each market. Its stronger result there does not persist at the lower setting, where its pooled score is 10.78%. A method recommendation depends on the grouping pressure and market, not only the primary ranking.
- M1
- M2
- M3
- M4
- M5
- M6
- M7
- M8
CRM
Help desk
Project management
Pooled within-market pairs
The primary grouped-pair totals are roughly matched for the four rank-sensitive measures and M8, while resulting cluster shapes and coverage can still differ. Pair-count matching does not match every property of a partition: a small number of larger groups can contain the same number of pairs as many smaller groups. Changes in B coverage also affect the union denominator. The saved cluster metrics report primary coverage, cluster counts, grouped medians, largest shares, and complete size distributions, including all sensitivity settings.
- M1
- M2
- M3
- M4
- M5
- M6
- M7
- M8
Pooled pair stability
Equal-market stability
A grouped pairs
B grouping coverage
Relation to the earlier three-method study
The new implementation reproduces all 18 earlier common-inventory A/B partitions and nine market pair tables exactly when given the original thresholds. Earlier pooled scores were J10 75/553 = 13.56%, reciprocal weighted Jaccard 56/532 = 10.53%, and RBO 70/507 = 13.81%. The earlier thresholds were selected independently by each method's coverage on 514 eligible A queries using a 0.01 grid. This follow-up calibrates on the common 444 using a 0.001 grid and pair-count matching. That substantive change explains the new reciprocal and RBO results; values are not forced to match a previously favorable comparison.
Anchor diagnostic and real cases
Reusing A anchors in B
At the primary setting, each method's A anchors are reused as B representatives. Anchors remain in their own clusters even when another anchor would score highly; B non-anchors select their highest qualifying A anchor. A non-anchor without a qualifier becomes a singleton and cannot attract other assignments. This bounded diagnostic changes the representative-selection condition, not the similarity weights or thresholds.
| Method | Independent S (%) | Fixed-A S (%) | Unqualified B singletons |
|---|---|---|---|
| M1 | 13.56 | 12.76 | 48 |
| M2 | 11.01 | 11.18 | 50 |
| M3 | 8.65 | 11.48 | 47 |
| M4 | 11.20 | 8.40 | 52 |
| M5 | 12.59 | 13.66 | 45 |
| M6 | 12.64 | 11.31 | 43 |
| M7 | 10.14 | 9.14 | 54 |
| M8 | 13.75 | 13.18 | 52 |
results/fixed_anchor_stability.csv and results/stability.csv. Fixing A anchors does not uniformly improve stability. M8 changes from 13.75% to 13.18%, and J10 from 13.56% to 12.76%; log weighted Jaccard instead rises from 12.59% to 13.66%. The diagnostic also creates unmatched singleton keywords and changes B coverage and pair totals. It indicates that representative selection matters, but does not isolate a clean causal share of the observed changes: assignment geometry, representative constraints, and grouping denominators change together.
Deterministically selected relationships
The saved rule selects two retained, two lost, two gained, one leading-method disagreement, and one counterexample where M8 loses a relationship that J10 retains. Selection balances markets round-robin, then uses lexical query IDs without duplicate cases. The two leaders are determined by primary pooled overlap, with method-ID ties; the category rule was fixed before these outcomes. Examples illustrate behavior and are not a random sample estimating intent accuracy.
| Case / category | Market | First keyword | Second keyword |
|---|---|---|---|
| C01 / retained | CRM | crm customer relation management | crm customer relationship |
| C02 / retained | Help desk | help desk software solutions | help desk systems |
| C03 / lost | Project management | pm project management software | project management computer software |
| C04 / lost | CRM | crm customer relation management | crm customer relations |
| C05 / gained | Help desk | desk help desk software | help desk software solutions |
| C06 / gained | Project management | project management computer software | project management software |
| C07 / disagreement | CRM | crm customer relation management | customer management crm |
| C08 / counterexample | CRM | crm customer relations | customer relationship crm |
results/examples.csv and results/example_scores.csv. Named query-level sources are withheld from the public release.C01: retained
The observed pair is crm customer relation management (e0005) and crm customer relationship (e0008).
| Method | Threshold | Direct A / B score | A anchors | B anchors | Together A / B |
|---|---|---|---|---|---|
| M1 | 0.250 | 0.538462 / 0.538462 | e0005 / e0005 | e0005 / e0005 | yes / yes |
| M8 | 0.224 | 0.517127 / 0.517127 | e0005 / e0005 | e0005 / e0005 | yes / yes |
Both measures retain this relationship with the same representative. The identical direct A/B scores reflect the saved evidence for the pair; this example is descriptive rather than an intent-quality judgment.
C02: retained
The observed pair is help desk software solutions (e0206) and help desk systems (e0209).
| Method | Threshold | Direct A / B score | A anchors | B anchors | Together A / B |
|---|---|---|---|---|---|
| M1 | 0.250 | 0.250000 / 0.333333 | e0206 / e0206 | e0203 / e0203 | yes / yes |
| M8 | 0.167 | 0.230575 / 0.313405 | e0206 / e0206 | e0203 / e0203 | yes / yes |
The relationship persists while the representative changes from “help desk software solutions” (e0206) to “desk help desk software” (e0203). Stable co-membership does not require a stable anchor identity.
C03: lost
The observed pair is pm project management software (e0401) and project management computer software (e0404).
| Method | Threshold | Direct A / B score | A anchors | B anchors | Together A / B |
|---|---|---|---|---|---|
| M1 | 0.250 | 0.428571 / 0.052632 | e0401 / e0401 | e0401 / e0404 | yes / no |
| M8 | 0.192 | 0.419734 / 0.038402 | e0401 / e0401 | e0401 / e0404 | yes / no |
In A, one shared destination is https://www.projectmanager.com/, at organic ranks 1 and 2. Complete saved rankings are retained locally and are not included in this public release.
In B, one shared destination is https://www.icagile.com/resources/honest-review-of-6-personal-project-management-tools-with-kanban-view, at organic ranks 2 and 1. Complete saved rankings are retained locally and are not included in this public release.
The direct scores fall below both thresholds in B and the keywords receive separate representatives. This is a membership-change example, without a claim about why retrieval changed.
C04: lost
The observed pair is crm customer relation management (e0005) and crm customer relations (e0006).
| Method | Threshold | Direct A / B score | A anchors | B anchors | Together A / B |
|---|---|---|---|---|---|
| M1 | 0.250 | 0.428571 / 0.052632 | e0005 / e0005 | e0005 / e0006 | yes / no |
| M8 | 0.224 | 0.392935 / 0.048115 | e0005 / e0005 | e0005 / e0006 | yes / no |
In A, one shared destination is https://www.salesforce.com/crm/what-is-crm/, at organic ranks 1 and 1. Complete saved rankings are retained locally and are not included in this public release.
In B, one shared destination is https://www.twilio.com/docs/glossary/what-is-customer-relationship-management, at organic ranks 5 and 2. Complete saved rankings are retained locally and are not included in this public release.
The direct scores fall below both thresholds in B and the keywords receive separate representatives. This is a membership-change example, without a claim about why retrieval changed.
C05: gained
The observed pair is desk help desk software (e0203) and help desk software solutions (e0206).
| Method | Threshold | Direct A / B score | A anchors | B anchors | Together A / B |
|---|---|---|---|---|---|
| M1 | 0.250 | 0.000000 / 0.333333 | e0203 / e0206 | e0203 / e0203 | no / yes |
| M8 | 0.167 | 0.000000 / 0.322691 | e0203 / e0206 | e0203 / e0203 | no / yes |
A has no directly shared top-ten URL for this pair; B supplies overlap and both queries join the e0203 representative. This is an observed gained relationship, not evidence that the users’ needs changed.
C06: gained
The observed pair is project management computer software (e0404) and project management software (e0406).
| Method | Threshold | Direct A / B score | A anchors | B anchors | Together A / B |
|---|---|---|---|---|---|
| M1 | 0.250 | 0.000000 / 0.538462 | e0401 / e0406 | e0404 / e0404 | no / yes |
| M8 | 0.192 | 0.000000 / 0.503922 | e0401 / e0406 | e0404 / e0404 | no / yes |
In A the first keyword belongs to e0401 while the second represents itself. In B both join e0404. The gain combines changed direct overlap with a changed representative arrangement.
C07: disagreement
The observed pair is crm customer relation management (e0005) and customer management crm (e0015).
| Method | Threshold | Direct A / B score | A anchors | B anchors | Together A / B |
|---|---|---|---|---|---|
| M1 | 0.250 | 0.052632 / 0.250000 | e0005 / e0015 | e0005 / e0005 | no / yes |
| M8 | 0.224 | 0.048737 / 0.213753 | e0005 / e0015 | e0005 / e0015 | no / no |
In B the J10 direct score equals its inclusive threshold, so J10 groups the pair. M8 stays below its threshold and leaves the relationship separated. Specificity weighting can withdraw a relationship that ordinary set overlap accepts.
C08: counterexample
The observed pair is crm customer relations (e0006) and customer relationship crm (e0017).
| Method | Threshold | Direct A / B score | A anchors | B anchors | Together A / B |
|---|---|---|---|---|---|
| M1 | 0.250 | 0.333333 / 0.250000 | e0005 / e0005 | e0006 / e0006 | yes / yes |
| M8 | 0.224 | 0.302800 / 0.232628 | e0005 / e0005 | e0006 / e0007 | yes / no |
This is a counterexample to the pooled leader. M8’s direct B similarity exceeds its threshold, yet the pair splits between e0006 (“crm customer relations”) and e0007 (“crm customer relations management”). J10 retains co-membership through e0006. Direct qualification is therefore insufficient to infer co-membership: each query’s best-anchor assignment matters.
These query texts suggest plausible related tasks, but that is a qualitative AI interpretation. The saved URLs, ranks, scores, and assignments are the measured evidence. No trusted intent label establishes that either a retained or split pair is editorially correct. The complete saved rankings and additional all-method scores and anchor assignments are retained locally. They are not included in this public release; the bounded illustrative cases shown in the paper are included.
Case C03: pm project management software / project management computer software
- M1
- M2
- M3
- M4
- M5
- M6
- M7
- M8
Vertical cross marks show the frozen threshold (horizontal marks in the source figure). Together/Separate denotes actual anchor co-membership.
Collection A
Collection B
Discussion and practical implications
The hypothesis receives mixed evidence. Leading URLs survive more often than lower-ranked URLs in these collections, and the illustrative calculation shows how rank weighting can suppress a bottom replacement. Nevertheless, the four rank-sensitive measures do not beat top-ten set Jaccard in primary pooled stability. Log weighting performs best at the lower grouping setting, and RBO leads project management at the primary setting.
Several features can reconcile that result. A similarity score reacts to each query pair's URLs and rank positions, whereas clustering also reacts to volume priority and the available anchors. Rank movement can lower a weighted score without membership change. A revised provisional grouping can change which keyword becomes an anchor and thereby alter relationships indirectly. Truncated sets introduce boundary sensitivity and coarse attainable similarities. URL-specificity weighting changes which shared pages matter without using rank and can move assignment choices even when a direct pair remains above threshold.
The pooled/equal-market reversal matters for product interpretation. Pooling gives each grouped relationship equal weight; markets with larger pair unions contribute more. Equal-market averaging answers a different descriptive question by giving each market's ratio equal weight. Neither is inherently the only correct view. A 0.19-point pooled advantage accompanied by an aggregation reversal is weak grounds for a global replacement decision, even before considering the two-observation limitation.
Conclusion
URL-specificity weighted Jaccard is the primary pooled leader, at 13.75% grouped-pair overlap compared with top-ten Jaccard's 13.56%. That narrow advantage does not persist under equal-market averaging or across all markets and grouping settings. CRM favors J10, help desk M8, and project management RBO at the primary setting; log weighting leads the lower setting. No method consistently wins.
The rank-weighting hypothesis is mixed: leading URLs are more persistent within the observed top ten, but emphasizing rank does not consistently improve the stability of clusters formed by this anchor algorithm. Sensitivity to leading movement, representative selection, prefix boundaries, and grouping shape accompanies the potential robustness to bottom replacement.
References
Hong, Y., Vaidya, J., Lu, H., and Liu, W. M. (2016). Accurate and efficient query clustering via top ranked search results. Web Intelligence, 14(2), 119–138. Publisher and DOI.
Webber, W., Moffat, A., and Zobel, J. (2010). A similarity measure for indefinite rankings. ACM Transactions on Information Systems, 28(4), article 20. DOI; author manuscript, equation 23.
Jimmy, Zuccon, G., and Demartini, G. (2018). On the Volatility of Commercial Search Engines and its Impact on Information Retrieval Research. SIGIR '18, 1105–1108. DOI; author manuscript.
Ioffe, S. (2010). Improved Consistent Sampling, Weighted Minhash and L1 Sketching. IEEE ICDM. Primary paper, equation 1.
Spärck Jones, K. (1972). A statistical interpretation of term specificity and its application in retrieval. Journal of Documentation, 28(1), 11–21. DOI.
Hubert, L., and Arabie, P. (1985). Comparing partitions. Journal of Classification, 2, 193–218. DOI.
Determine06. clustering-algo-poc, examined commit
fb8fc439fe598418e29a2bf89752b37501528ea5. Anchor procedure reference. Algorithmic provenance; the existing independently implemented procedure is reused.