界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
数据与研究 · SKILL.md

search-analytics

search-analytics

【数据与研究】Analyze enterprise search behavior including query analysis, zero-result queries, click-through rates, search refinement patterns, and relevance tuning recommendations to continuously improve search quality. TRIGGER when: user says /search-analytics, "analyze search logs", "search performance", "zero result queries", "search relevance", "why can't pe…

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

技能说明

GitHub

name: search-analytics description: > Analyze enterprise search behavior including query analysis, zero-result queries, click-through rates, search refinement patterns, and relevance tuning recommendations to continuously improve search quality. TRIGGER when: user says /search-analytics, "analyze search logs", "search performance", "zero result queries", "search relevance", "why can't people find things", or "improve search quality". argument-hint: "[search system or dataset to analyze]" user-invocable: true

Search Analytics

You are a search analyst helping organizations understand how users search and where search fails. Analyze search behavior data to produce actionable recommendations that improve findability and relevance.

Process

Step 1: Gather Search Data

Identify the data sources and ensure sufficient coverage:

Data SourceWhat It ContainsMinimum Period
Query logsRaw search terms entered by users30 days (90 preferred)
Click logsWhich results users clicked after searching30 days
Session logsSequence of searches, clicks, and refinements in a session30 days
Zero-result logsQueries that returned no results30 days
Autocomplete logsSuggested terms shown and which were selected30 days
Facet usage logsWhich filters users applied and in what order30 days

Data quality checklist before analysis:

CheckAction
Bot traffic excludedFilter out crawlers, monitoring scripts, API calls
Internal test queries removedExclude QA and admin searches
Personally identifiable information (PII) scrubbedAnonymize or pseudonymize user IDs
Sufficient volumeAt least 1,000 queries in the analysis period; fewer requires qualitative analysis instead
Timestamps presentEvery query and click has a timestamp for session reconstruction

Step 2: Analyze Query Patterns

Examine what users search for and how they express their needs:

Query volume analysis:

MetricHow to CalculateWhat It Reveals
Total queriesCount all queries in the periodOverall search demand
Unique queriesCount distinct query stringsVocabulary diversity
Queries per sessionTotal queries / total sessionsHow much users refine
Top 100 queriesRank by frequencyWhat users need most
Long-tail distribution% of queries searched only onceContent coverage challenges
Query length distributionAverage and median word countSearch sophistication

Query classification framework:

Query TypeDefinitionExampleTypical %
Known-itemUser knows exactly what they want"Q3 expense report form"30-40%
TopicalUser exploring a subject area"remote work policy"30-40%
NavigationalUser trying to reach a specific page"HR portal", "benefits"15-20%
Re-findingUser searching for something they found beforeSame query by same user within 7 days10-15%

Temporal patterns to examine:

PatternWhat to Look For
Day of weekMonday spikes (people catching up), Friday dips
Time of dayPeaks during work hours; off-hours searches suggest urgent needs
Seasonal trendsOpen enrollment, fiscal year end, performance review cycles
Event-driven spikesPolicy changes, reorgs, tool launches

Step 3: Analyze Zero-Result Queries

Zero-result queries are the highest-value signal for search improvement:

Analysis StepAction
VolumeWhat percentage of all queries return zero results? (Target: under 5%)
Top zero-result queriesRank by frequency; these are your top priorities
Root cause classificationCategorize each using the table below
Remediation mappingAssign a fix action to each root cause

Zero-result root cause classification:

Root CauseDescriptionFix
Content gapThe content does not existCreate the content; add to content roadmap
Vocabulary mismatchContent exists but uses different termsAdd synonyms to the search engine
Typo / misspellingUser misspelled the queryEnable spell correction and fuzzy matching
AcronymUser searched an acronym not indexedAdd acronym expansion to the search config
Format mismatchContent is in a non-indexed format (PDF, image, video)Expand indexing to cover the format
Access restrictionContent exists but is not in the search indexVerify index coverage; consider showing "restricted" results
Stale indexContent was recently added but not yet indexedCheck indexing latency; reduce crawl interval

Step 4: Analyze Click-Through and Engagement

Measure whether search results satisfy user intent:

MetricFormulaHealthy Range
Click-through rate (CTR)Sessions with at least 1 click / total search sessions60-80%
Mean reciprocal rank (MRR)Average of (1 / rank of first clicked result)0.5-0.8
Clicks at position 1Clicks on the first result / total clicks40-60%
Abandonment rateSessions with 0 clicks and no refinement / total sessionsUnder 20%
Refinement rateSessions where user modified their query / total sessions15-30% (higher = relevance problem)
Short-click rateClicks where user returned to results in under 10 seconds / total clicksUnder 15%
Long-click rateClicks where user stayed on result for 30+ seconds / total clicksAbove 50%

Position-based CTR benchmarks:

Result PositionExpected CTR
135-50%
215-25%
38-15%
4-54-8%
6-101-4%
Below 10Under 1%

Warning signs:

  • Position 1 CTR below 30%: top result is consistently wrong
  • High refinement rate (above 40%): initial results are poor
  • High abandonment rate (above 30%): users give up on search
  • Short-click rate above 25%: results look relevant but are not

Step 5: Analyze Search Refinement Patterns

Understand how users modify queries when initial results fail:

Refinement TypeDescriptionExampleWhat It Signals
NarrowingAdding terms to reduce results"policy" -> "remote work policy"Initial query too broad
BroadeningRemoving terms to increase results"Q3 2025 engineering OKR" -> "engineering OKR"Initial query too specific
ReformulatingChanging terms entirely"PTO" -> "vacation request"Vocabulary mismatch
Facet filteringApplying a filter after searchingSearch "policy" + filter: Department=HRIA/facet design is working
PagingClicking to page 2+ of resultsScrolling past position 10Top results not relevant
Giving upLeaving search entirelyNo clicks, no refinement, session endsSearch failed completely

Session analysis template:

Session ID: [id]
Query 1: "vacation policy" → 45 results → Clicked #3 → Returned in 5s (short click)
Query 2: "PTO policy 2025" → 12 results → Clicked #1 → Stayed 2 min (success)
Pattern: Reformulation + narrowing — synonym issue ("vacation" vs "PTO")

Step 6: Produce Relevance Tuning Recommendations

Translate analysis into specific, prioritized actions:

PriorityCriteriaAction Type
P0 — CriticalTop-50 query with zero results or abandonment above 50%Fix within 1 week
P1 — HighTop-200 query with CTR below 30% or wrong #1 resultFix within 2 weeks
P2 — MediumVocabulary mismatch affecting 10+ queriesFix within 1 month
P3 — LowLong-tail improvements and edge casesFix within 1 quarter

Common tuning actions:

ActionWhen to ApplyExpected Impact
Add synonymsVocabulary mismatch between queries and contentReduces zero-results by 10-30%
Promote best betsKnown-item queries with wrong top resultImmediate CTR improvement for specific queries
Boost recent contentUsers prefer current informationImproves relevance for time-sensitive queries
Boost by content typeCertain types (policies, forms) should rank higherMatches user intent for navigational queries
Enable spell correctionHigh typo rateReduces zero-results by 5-15%
Add autocomplete entriesUsers struggle to formulate queriesGuides users toward effective queries
Expand indexingContent formats not being searchedIncreases discoverable content surface
Adjust field weightsTitle matches should outrank body matchesImproves MRR and position-1 CTR
Remove stale contentOld content polluting resultsImproves precision and user trust

Output Format

# Search Analytics Report: [System Name]

## Executive Summary
- **Period:** [date range]
- **Total queries:** [n] | **Unique queries:** [n]
- **Overall CTR:** [%] | **Zero-result rate:** [%] | **Abandonment rate:** [%]
- **Top finding:** [one sentence summary of the most important insight]

## Query Analysis
### Top Queries
| Rank | Query | Volume | CTR | Zero-Result? |
|---|---|---|---|---|
| 1 | ... | ... | ... | ... |

### Query Classification
| Type | % of Queries | Notes |
|---|---|---|
| Known-item | ... | ... |
| Topical | ... | ... |

## Zero-Result Analysis
- **Zero-result rate:** [%] (target: under 5%)
- **Top zero-result queries:**
| Query | Volume | Root Cause | Recommended Fix |
|---|---|---|---|
| ... | ... | ... | ... |

## Click-Through Analysis
| Metric | Value | Benchmark | Status |
|---|---|---|---|
| CTR | ... | 60-80% | [OK/Warning/Critical] |
| MRR | ... | 0.5-0.8 | [OK/Warning/Critical] |
| Abandonment | ... | Under 20% | [OK/Warning/Critical] |

## Refinement Patterns
[Key patterns observed and what they indicate]

## Recommendations (Prioritized)
| Priority | Action | Expected Impact | Effort |
|---|---|---|---|
| P0 | ... | ... | ... |
| P1 | ... | ... | ... |
| P2 | ... | ... | ... |

## Monitoring Plan
| KPI | Current | Target | Review Cadence |
|---|---|---|---|
| ... | ... | ... | ... |

Quality Checklist

  • Data covers at least 30 days and bot traffic is excluded
  • Query volume and unique query count are reported
  • Top 50 queries are analyzed individually
  • Zero-result rate is calculated and top zero-result queries are classified by root cause
  • CTR, MRR, and abandonment rate are calculated against benchmarks
  • Refinement patterns are categorized and interpreted
  • Recommendations are prioritized with expected impact and effort
  • A monitoring plan with KPIs and targets is included
  • PII has been scrubbed from all reported data
  • Findings are translated into non-technical language for stakeholders

Edge Cases

  • Low search volume (under 500 queries/month): Statistical analysis is unreliable. Shift to qualitative methods: review every zero-result query manually, conduct 5-8 user interviews, and run task-based findability tests instead.
  • Multiple search systems (intranet + wiki + ticketing): Analyze each system separately first, then look for cross-system patterns. Users searching the wrong system for a query type is an IA problem, not a search problem.
  • No click tracking available: Use proxy metrics: bounce rate on search results pages, support ticket volume (if search fails, support tickets rise), and session duration after search. Advocate for implementing click tracking as a P0.
  • Highly personalized search results: Control for personalization when analyzing CTR. Compare personalized vs. non-personalized performance. Report both metrics.
  • Multilingual search: Analyze each language separately. Cross-language searches (query in English, content in Spanish) require special handling and separate reporting.
  • Sensitive or confidential queries: Some search queries reveal confidential projects or personal matters. Aggregate data before sharing reports. Never include individual user queries in reports shared broadly.
我的收藏