[{"data":1,"prerenderedAt":398},["ShallowReactive",2],{"docs-navigation":3,"docs-\u002Fdocs\u002Fmetrics\u002Fconfidence-and-sample-size":213},[4],{"title":5,"path":6,"stem":7,"children":8,"page":30},"Docs","\u002Fdocs","docs",[9,31,56,98,118,138,163],{"title":10,"description":11,"group":11,"path":12,"stem":13,"children":14,"page":30},"Getting started",null,"\u002Fdocs\u002Fgetting-started","docs\u002F1.getting-started",[15,20,25],{"title":16,"path":17,"stem":18,"description":19,"group":11},"Overview","\u002Fdocs\u002Fgetting-started\u002Foverview","docs\u002F1.getting-started\u002F1.overview","What Shruwd does and what you get out of it.",{"title":21,"path":22,"stem":23,"description":24,"group":11},"Quickstart","\u002Fdocs\u002Fgetting-started\u002Fquickstart","docs\u002F1.getting-started\u002F2.quickstart","From an empty account to your first measurement.",{"title":26,"path":27,"stem":28,"description":29,"group":11},"Reading your results","\u002Fdocs\u002Fgetting-started\u002Freading-your-results","docs\u002F1.getting-started\u002F3.reading-your-results","What the four numbers mean, and when to trust them.",false,{"title":32,"description":11,"group":11,"path":33,"stem":34,"children":35,"page":30},"What you track","\u002Fdocs\u002Ftracking","docs\u002F2.tracking",[36,41,46,51],{"title":37,"path":38,"stem":39,"description":40,"group":11},"Brands","\u002Fdocs\u002Ftracking\u002Fbrands","docs\u002F2.tracking\u002F1.brands","Add, rename and archive the brands you measure.",{"title":42,"path":43,"stem":44,"description":45,"group":11},"Prompts","\u002Fdocs\u002Ftracking\u002Fprompts","docs\u002F2.tracking\u002F2.prompts","Choose and manage the questions Shruwd asks each engine.",{"title":47,"path":48,"stem":49,"description":50,"group":11},"Competitors","\u002Fdocs\u002Ftracking\u002Fcompetitors","docs\u002F2.tracking\u002F3.competitors","Track the brands you are compared against, and how they are matched.",{"title":52,"path":53,"stem":54,"description":55,"group":11},"Connecting Search Console","\u002Fdocs\u002Ftracking\u002Fconnecting-search-console","docs\u002F2.tracking\u002F4.connecting-search-console","Add per-page search demand so two diagnostics can run.",{"title":57,"description":11,"group":11,"path":58,"stem":59,"children":60,"page":30},"Crawler logs","\u002Fdocs\u002Fcrawler-logs","docs\u002F3.crawler-logs",[61,66,72,77,82,87,93],{"title":62,"path":63,"stem":64,"description":65,"group":11},"Choosing a log path","\u002Fdocs\u002Fcrawler-logs\u002Fchoosing-a-log-path","docs\u002F3.crawler-logs\u002F1.choosing-a-log-path","Pick the way of sending crawler logs that matches your hosting.",{"title":67,"path":68,"stem":69,"description":70,"group":71},"Platform log drains","\u002Fdocs\u002Fcrawler-logs\u002Fplatform-log-drains","docs\u002F3.crawler-logs\u002F2.platform-log-drains","Send logs from Vercel, Netlify, Fly and similar. No code.","Setup guides",{"title":73,"path":74,"stem":75,"description":76,"group":71},"Cloudflare Worker","\u002Fdocs\u002Fcrawler-logs\u002Fcloudflare-worker","docs\u002F3.crawler-logs\u002F3.cloudflare-worker","Forward crawler hits from behind Cloudflare, on any plan.",{"title":78,"path":79,"stem":80,"description":81,"group":71},"Cloudflare Logpush","\u002Fdocs\u002Fcrawler-logs\u002Fcloudflare-logpush","docs\u002F3.crawler-logs\u002F4.cloudflare-logpush","Send zone request logs straight to Shruwd. Enterprise zones, no code.",{"title":83,"path":84,"stem":85,"description":86,"group":71},"Server middleware","\u002Fdocs\u002Fcrawler-logs\u002Fserver-middleware","docs\u002F3.crawler-logs\u002F5.server-middleware","Forward crawler hits from a Nuxt or Nitro origin. Last resort.",{"title":88,"path":89,"stem":90,"description":91,"group":92},"Crawlers tracked","\u002Fdocs\u002Fcrawler-logs\u002Fcrawlers-tracked","docs\u002F3.crawler-logs\u002F6.crawlers-tracked","Which bots Shruwd recognises, and how a hit is verified.","Reference",{"title":94,"path":95,"stem":96,"description":97,"group":92},"Ingest not arriving","\u002Fdocs\u002Fcrawler-logs\u002Fingest-not-arriving","docs\u002F3.crawler-logs\u002F7.ingest-not-arriving","Diagnose a log drain that is not delivering.",{"title":99,"description":11,"group":11,"path":100,"stem":101,"children":102,"page":30},"Findings and fixes","\u002Fdocs\u002Ffindings","docs\u002F4.findings",[103,108,113],{"title":104,"path":105,"stem":106,"description":107,"group":11},"How findings work","\u002Fdocs\u002Ffindings\u002Fhow-findings-work","docs\u002F4.findings\u002F1.how-findings-work","What a finding is, how much to trust it, and how to prove your fix worked.",{"title":109,"path":110,"stem":111,"description":112,"group":11},"Rechecks","\u002Fdocs\u002Ffindings\u002Frechecks","docs\u002F4.findings\u002F2.rechecks","How Shruwd proves whether your fix moved the number.",{"title":114,"path":115,"stem":116,"description":117,"group":11},"Findings reference","\u002Fdocs\u002Ffindings\u002Ffindings-reference","docs\u002F4.findings\u002F3.findings-reference","Every diagnostic Shruwd runs, what triggers it and what to do.",{"title":119,"description":11,"group":11,"path":120,"stem":121,"children":122,"page":30},"Metrics","\u002Fdocs\u002Fmetrics","docs\u002F5.metrics",[123,128,133],{"title":124,"path":125,"stem":126,"description":127,"group":11},"Metric definitions","\u002Fdocs\u002Fmetrics\u002Fmetric-definitions","docs\u002F5.metrics\u002F1.metric-definitions","Exactly what each number counts, and when it is undefined.",{"title":129,"path":130,"stem":131,"description":132,"group":11},"Confidence and sample size","\u002Fdocs\u002Fmetrics\u002Fconfidence-and-sample-size","docs\u002F5.metrics\u002F2.confidence-and-sample-size","Why every number has a range, and why some are withheld.",{"title":134,"path":135,"stem":136,"description":137,"group":11},"When a number has moved","\u002Fdocs\u002Fmetrics\u002Fwhen-a-number-has-moved","docs\u002F5.metrics\u002F3.when-a-number-has-moved","The rule Shruwd uses before calling a change real.",{"title":139,"description":11,"group":11,"path":140,"stem":141,"children":142,"page":30},"Account","\u002Fdocs\u002Faccount","docs\u002F6.account",[143,148,153,158],{"title":144,"path":145,"stem":146,"description":147,"group":11},"Plans and limits","\u002Fdocs\u002Faccount\u002Fplans-and-limits","docs\u002F6.account\u002F1.plans-and-limits","What each plan includes and what happens when you reach a limit.",{"title":149,"path":150,"stem":151,"description":152,"group":11},"Team and roles","\u002Fdocs\u002Faccount\u002Fteam-and-roles","docs\u002F6.account\u002F2.team-and-roles","Invite people, set what they can change, and remove access.",{"title":154,"path":155,"stem":156,"description":157,"group":11},"Billing","\u002Fdocs\u002Faccount\u002Fbilling","docs\u002F6.account\u002F3.billing","Change plan, read your usage, and handle a failed payment.",{"title":159,"path":160,"stem":161,"description":162,"group":11},"Email notifications","\u002Fdocs\u002Faccount\u002Femail-notifications","docs\u002F6.account\u002F4.email-notifications","What Shruwd emails you, and how to turn it off.",{"title":164,"description":11,"group":11,"path":165,"stem":166,"children":167,"page":30},"Build on Shruwd","\u002Fdocs\u002Fapi","docs\u002F7.api",[168,173,178,182,187,192,197,203,208],{"title":169,"path":170,"stem":171,"description":172,"group":11},"API overview","\u002Fdocs\u002Fapi\u002Fapi-overview","docs\u002F7.api\u002F1.api-overview","Authentication, errors, limits and the rules every endpoint follows.",{"title":37,"path":174,"stem":175,"description":176,"group":177},"\u002Fdocs\u002Fapi\u002Fbrands","docs\u002F7.api\u002F2.brands","Create, read, rename and archive brands over the API.","Endpoints",{"title":42,"path":179,"stem":180,"description":181,"group":177},"\u002Fdocs\u002Fapi\u002Fprompts","docs\u002F7.api\u002F3.prompts","Add, edit and retire the questions asked every cycle.",{"title":183,"path":184,"stem":185,"description":186,"group":177},"Entities","\u002Fdocs\u002Fapi\u002Fentities","docs\u002F7.api\u002F4.entities","Manage the brand and its competitors, and the aliases that count.",{"title":188,"path":189,"stem":190,"description":191,"group":177},"Measurement","\u002Fdocs\u002Fapi\u002Fmeasurement","docs\u002F7.api\u002F5.measurement","Run cycles and read visibility, crawlers and individual answers.",{"title":193,"path":194,"stem":195,"description":196,"group":177},"Findings","\u002Fdocs\u002Fapi\u002Ffindings","docs\u002F7.api\u002F6.findings","Read diagnosed findings and move them through their lifecycle.",{"title":198,"path":199,"stem":200,"description":201,"group":202},"TypeScript SDK","\u002Fdocs\u002Fapi\u002Ftypescript-sdk","docs\u002F7.api\u002F7.typescript-sdk","A typed client for the Shruwd API.","Clients and agents",{"title":204,"path":205,"stem":206,"description":207,"group":202},"MCP server","\u002Fdocs\u002Fapi\u002Fmcp-server","docs\u002F7.api\u002F8.mcp-server","Give Claude or Cursor tools to run Shruwd.",{"title":209,"path":210,"stem":211,"description":212,"group":202},"For AI agents","\u002Fdocs\u002Fapi\u002Ffor-ai-agents","docs\u002F7.api\u002F9.for-ai-agents","Machine-readable versions of everything here.",{"id":214,"title":129,"body":215,"description":392,"extension":393,"group":11,"meta":394,"navigation":395,"path":130,"section":119,"seo":396,"stem":131,"__hash__":397},"docs\u002Fdocs\u002F5.metrics\u002F2.confidence-and-sample-size.md",{"type":216,"value":217,"toc":383},"minimark",[218,222,226,231,239,242,282,285,289,301,304,307,329,333,336,346,356,359,363],[219,220,129],"h1",{"id":221},"confidence-and-sample-size",[223,224,225],"p",{},"AI answers vary between runs. Ask the same question twice and you can get two different\nsets of brands. Every number Shruwd shows is therefore an estimate from a sample, and it\nis shown with the range that sample supports.",[227,228,230],"h2",{"id":229},"reading-the-range","Reading the range",[223,232,233,234,238],{},"A result reads ",[235,236,237],"code",{},"32% (24–41%)",". That range is a 95% confidence interval.",[223,240,241],{},"The point estimate is the best single guess. The range is how much the sample constrains\nit. Two results with the same middle can carry completely different weight:",[243,244,245,258],"table",{},[246,247,248],"thead",{},[249,250,251,255],"tr",{},[252,253,254],"th",{},"Result",[252,256,257],{},"What it supports",[259,260,261,272],"tbody",{},[249,262,263,269],{},[264,265,266],"td",{},[235,267,268],{},"32% (29–35%)",[264,270,271],{},"A solid number. Act on it.",[249,273,274,279],{},[264,275,276],{},[235,277,278],{},"32% (10–60%)",[264,280,281],{},"Barely more than \"somewhere in the middle\". Wait for more data.",[223,283,284],{},"Intervals narrow as responses accumulate. A prompt set measured for three months has\nmuch tighter ranges than one measured for two weeks, with no change in your visibility.",[227,286,288],{"id":287},"why-a-number-is-sometimes-withheld","Why a number is sometimes withheld",[223,290,291,292,296,297,300],{},"Shruwd never displays a metric computed from fewer than ",[293,294,295],"strong",{},"ten responses",". You get\n",[293,298,299],{},"insufficient data"," and a count of how many more runs are needed.",[223,302,303],{},"This is not an error, not a loading state, and not zero. It means the sample cannot\nsupport a number yet, and printing one anyway would invite a decision the data does not\njustify.",[223,305,306],{},"Where you will meet it:",[308,309,310,317,323],"ul",{},[311,312,313,316],"li",{},[293,314,315],{},"Individual prompts"," hit it often. Each prompt is asked three times per cycle, so a\nsingle prompt needs several weeks of cycles to clear ten responses.",[311,318,319,322],{},[293,320,321],{},"Your whole prompt set"," clears it immediately, because every prompt contributes.",[311,324,325,328],{},[293,326,327],{},"Narrow filters"," — one prompt, one engine, a short date range — can drop back below\nthe floor. Widen the range or the selection.",[227,330,332],{"id":331},"how-the-ranges-are-calculated","How the ranges are calculated",[223,334,335],{},"You do not need this to use the product, but it is here so the numbers can be checked.",[223,337,338,341,342,345],{},[293,339,340],{},"Rates"," — mention rate, citation share, self-citation rate and the coverage rates — use\na ",[293,343,344],{},"Wilson score interval",". These are proportions that sit near 0% or 100% more often\nthan not, exactly where the textbook normal approximation produces nonsense like a lower\nbound below zero.",[223,347,348,351,352,355],{},[293,349,350],{},"Share of voice"," uses a ",[293,353,354],{},"percentile bootstrap"," over 1,000 resamples instead. It is a\nratio where the same response feeds both the numerator and the denominator, so it is not\na simple proportion and a Wilson interval would misstate it.",[223,357,358],{},"The bootstrap's randomness is seeded per brand, entity, engine and day, so recomputing a\npast day returns exactly the same interval. An interval that shifted every time the page\nloaded would be worth nothing.",[227,360,362],{"id":361},"next-steps","Next steps",[308,364,365,373,378],{},[311,366,367,372],{},[368,369,371],"a",{"href":370},"\u002Fmethodology","Methodology"," — why Shruwd works this way, on one page",[311,374,375,377],{},[368,376,134],{"href":135}," — comparing two periods",[311,379,380,382],{},[368,381,124],{"href":125}," — what each number counts",{"title":384,"searchDepth":385,"depth":385,"links":386},"",3,[387,389,390,391],{"id":229,"depth":388,"text":230},2,{"id":287,"depth":388,"text":288},{"id":331,"depth":388,"text":332},{"id":361,"depth":388,"text":362},"Why every Shruwd number carries a range, and why a metric with fewer than ten responses behind it is withheld.","md",{},{"title":129,"description":132},{"title":129,"description":392},"ryv1p9rU6Pv87HfryFl4ixksoZt2SPmntF15KlPjkMI",1790003439292]