{"site":{"name":"Koji","description":"AI-native customer research platform that helps teams conduct, analyze, and synthesize customer interviews at scale.","url":"https://www.koji.so","contentTypes":["blog","documentation"],"lastUpdated":"2026-06-10T10:25:14.770Z"},"content":[{"type":"documentation","id":"cd0ee99f-eeed-4938-8bae-58c00ba12577","slug":"turf-analysis-guide","title":"TURF Analysis: How to Maximize Product and Message Reach","url":"https://www.koji.so/docs/turf-analysis-guide","summary":"TURF (Total Unduplicated Reach and Frequency) analysis finds the smallest combination of products, flavors, features, or messages that reaches the largest possible audience without double-counting people. It answers \"if we can only offer N options, which N maximize the share of people who like at least one?\" TURF is run on multiple-choice or yes/no survey data, then a combinatorial search maximizes unduplicated reach. AI-native platforms like Koji collect the underlying preference data with structured questions and AI-moderated interviews in days rather than weeks, and pair the reach numbers with the qualitative why behind each choice.","content":"**TURF analysis (Total Unduplicated Reach and Frequency) finds the smallest set of products, flavors, features, or messages that reaches the largest possible audience — without counting the same person twice.** If you can only launch four ice-cream flavors, ship five features this quarter, or put three claims on the pack, TURF tells you which combination wins the most people who like *at least one* of them. It is the math behind portfolio decisions at companies that cannot offer everything to everyone.\n\nThis guide explains how TURF works, when to reach for it, how to design the question that feeds it, and how an AI-native workflow collapses a multi-week study into days.\n\n## What TURF analysis actually measures\n\nTURF separates two ideas that everyday language blurs together:\n\n- **Reach** — the percentage of your audience that likes (or would buy) **at least one** item in a chosen portfolio. Crucially, each person is counted **once**, no matter how many items they like. That is the \"unduplicated\" part.\n- **Frequency** — the average number of items in the portfolio that each reached person likes. Higher frequency signals depth of appeal and resilience if one item underperforms.\n\nThe classic illustration comes from product research. A bubble-gum maker that sells two flavors wants to expand to four and surveys 712 parents about which of 11 candidate flavors their children like ([QuestionPro](https://www.questionpro.com/article/turf-analysis.html), [Wikipedia](https://en.wikipedia.org/wiki/TURF_analysis)). TURF evaluates every possible group of four flavors and reports which group makes the most children like *something* in the lineup. The winning four is rarely the four most popular flavors individually — because the top flavors often appeal to the **same** kids. TURF rewards combinations that cover **different** pockets of the market.\n\n> The point of TURF is coverage, not popularity. Two great items that appeal to identical people add almost nothing to each other; a merely-good item that reaches an untouched segment can be worth more than a second favorite.\n\n## How the TURF calculation works\n\nAt its core, TURF is a combinatorial search:\n\n1. **Collect a binary preference signal** for every item from every respondent — like / do not like, would buy / would not buy.\n2. **Choose a portfolio size** (N). How many flavors, features, or messages can you actually support?\n3. **Enumerate combinations.** For every possible group of N items, compute the unduplicated reach: the share of respondents who selected *at least one* item in that group.\n4. **Rank the combinations** by reach (and, as a tiebreaker or secondary lens, by frequency).\n5. **Read the reach curve.** Plot reach as you add items one at a time, greedily. The curve climbs steeply at first, then flattens — the flattening point is where additional items stop earning their keep.\n\nThe combinatorics grow fast: choosing 5 of 30 items is over 140,000 combinations, which is why TURF is done in software rather than a spreadsheet. Tools like [Qualtrics](https://www.qualtrics.com/support/conjoint-project/getting-started-conjoints/getting-started-maxdiff/turf-analysis/), [Quantilope](https://www.quantilope.com/methods/total-unduplicated-reach-and-frequency-turf), and [Displayr](https://www.displayr.com/turf-analysis-market-research/) automate the search; the methodology is identical regardless of vendor.\n\n## When to use TURF (and when not to)\n\n**Reach for TURF when:**\n\n- You must pick a **limited portfolio** from a longer list — product line-up, flavor range, SKU assortment, feature set, or claims/messaging on a pack or landing page.\n- Your objective is **maximum audience coverage** rather than depth with a single segment.\n- You have, or can collect, a **select-all-that-apply** signal across all candidate items.\n\n**Use a different method when:**\n\n- You need to **rank** items by relative importance — use [MaxDiff](/docs/maxdiff-analysis-guide).\n- You need to model **trade-offs between attributes and price** — use [conjoint analysis](/docs/conjoint-analysis-guide).\n- You are categorizing features as must-haves vs delighters — use the [Kano model](/docs/kano-model).\n\nIn practice, the strongest workflow chains methods: score or rank items with MaxDiff or a [concept test](/docs/concept-testing-methodology), then run TURF on the buy-intent signal to assemble the optimal bundle. Roughly 80% of revenue often comes from 20% of products (the Pareto pattern that drives [SKU rationalization](https://openbrand.com/newsroom/blog/sku-rationalization-tips-strategies-and-faqs)), and TURF is how you decide which few to keep or launch.\n\n## Designing the question that feeds TURF\n\nTURF lives or dies on a clean input. You need a **binary signal per item**. The two reliable formats:\n\n- **Multiple-choice, select-all-that-apply:** \"Which of these flavors would you buy? Select all that apply.\" Each checked box is a 1, each unchecked box a 0.\n- **Yes/no per item:** asked individually, \"Would you buy [item]?\" This is slower but forces a deliberate decision and reduces satisficing.\n\nIn Koji, these map directly to two of the six [structured question types](/docs/structured-questions-guide): **multiple_choice** for the select-all format and **yes_no** for the item-by-item format. Because Koji also supports **scale**, **single_choice**, **ranking**, and **open_ended** questions, you can combine a TURF input with a purchase-likelihood scale and an open-ended \"why\" in the same study — giving you the reach number *and* the reasoning behind it.\n\n## The modern, AI-native approach to TURF\n\nTraditional TURF studies are not slow because of the math — they are slow because of **fielding and recruiting**. Writing the screener, programming the survey, buying a sample, and waiting for completes can stretch a study to several weeks. By then the portfolio decision may already be overdue.\n\nAI-native research compresses that timeline:\n\n- **AI-moderated interviews** collect the select-all preference signal from hundreds of qualified participants in days, not weeks, while a [custom AI interviewer persona](/docs/custom-ai-interviewer-persona) probes *why* certain items were chosen or skipped — context a pure survey never captures.\n- **Automatic aggregation** turns raw select-all responses into clean per-item incidence rates ready for the reach calculation, with no manual data cleaning.\n- **Qualitative + quantitative in one pass.** Instead of a number with no story, you get the reach curve alongside verbatim reasons, so you can tell whether item #4 is filling a real unmet need or just padding the menu.\n\nThis matters because the biggest TURF mistake is optimizing reach in a vacuum. The mathematically optimal bundle can include low-margin items or chase a one-point reach gain that does not justify a new SKU. Pairing the reach curve with conversational follow-up — and watching where the curve flattens into diminishing returns — keeps the decision grounded in cost, cannibalization, and strategy, not just a maximization routine.\n\n> **Teams using AI-assisted research tools report dramatically faster time-to-insight** because recruiting, moderation, and first-pass analysis happen in parallel rather than in sequence. For a portfolio decision with a launch date attached, that speed is the difference between research that informs the call and research that arrives after it.\n\n## A practical TURF workflow in Koji\n\n1. **List your candidates.** Pull together every flavor, feature, claim, or SKU under consideration (8–30 items is typical).\n2. **Write one select-all question** using the multiple_choice structured question type, plus an open-ended follow-up: \"What made you choose those?\"\n3. **Add a screener** so only your real target buys into the study (see [screener questions guide](/docs/screener-questions-guide)).\n4. **Field via AI-moderated interviews** to a representative sample — aim for 200+ completes for stable aggregate reach.\n5. **Read the reach curve.** Identify the portfolio size where reach flattens, then sanity-check the winning bundle against margin, supply, and brand fit.\n6. **Layer the why.** Use the verbatim reasons to confirm each item earns its slot — and to brief the launch with real customer language.\n\n## The bottom line\n\nTURF analysis is the discipline of saying \"we cannot offer everything, so which few cover the most people?\" Done well, it prevents redundant line-ups, bloated feature sets, and messaging that all says the same thing to the same people. The method is well established; what has changed is speed. With AI-moderated interviews and structured questions, you can collect the preference data, compute unduplicated reach, *and* understand the reasoning behind every choice in the time a traditional study spends just recruiting.\n\n## Worked example: four flavors from eleven\n\nReturn to the bubble-gum maker surveying 712 parents about 11 candidate flavors. Suppose the three individually most-liked flavors are Strawberry (42% like it), Watermelon (40%), and Blue Raspberry (38%). The instinct is to launch those three plus the next most popular. But TURF often overrules that instinct.\n\nImagine Strawberry and Watermelon appeal to *largely the same* fruit-loving kids — their fans overlap by 70%. Adding Watermelon to a line-up that already has Strawberry barely lifts reach, because most Watermelon fans were already reached. Meanwhile Sour Apple is liked by only 26% of kids overall — but those kids are a *different* crowd that none of the fruit flavors reach. In TURF terms, Sour Apple has low popularity but high *incremental* reach.\n\nWhen the algorithm tests every combination of four, the winning set might be Strawberry, Blue Raspberry, Sour Apple, and Cola — not the four highest scorers — because together they cover the most *distinct* kids. The reach curve climbs from 42% (one flavor) to perhaps 78% (four flavors) and then flattens: a fifth flavor might add only two points, signaling diminishing returns and a natural stopping point.\n\nThe lesson generalizes to features, claims, and SKUs: **maximize coverage, not the sum of popularity scores.** A merely-good option that reaches an untapped segment routinely beats a second favorite that duplicates an audience you already own. This is exactly why the per-item \"would you buy?\" signal must be collected cleanly — and why pairing it with an open-ended \"why\" exposes whether each incremental item fills a real need or just pads the menu.\n\n## Related Resources\n\n- [Structured Questions Guide](/docs/structured-questions-guide) — the six question types, including the multiple_choice and yes_no inputs TURF depends on\n- [MaxDiff Analysis Guide](/docs/maxdiff-analysis-guide) — rank items by importance, then feed the winners into TURF\n- [Conjoint Analysis Guide](/docs/conjoint-analysis-guide) — model attribute and price trade-offs when reach alone is not enough\n- [Message Testing Guide](/docs/messaging-testing-guide) — apply TURF to claims and positioning to maximize message reach\n- [Feature Prioritization Survey Guide](/docs/feature-prioritization-survey-guide) — decide which features make the cut\n- [Concept Testing Methodology](/docs/concept-testing-methodology) — validate the items before you optimize the portfolio","category":"Research Methods","lastModified":"2026-06-10T03:17:18.993036+00:00","metaTitle":"TURF Analysis: Maximize Product & Message Reach (2026 Guide)","metaDescription":"Learn TURF analysis (Total Unduplicated Reach and Frequency) — what it is, how the math works, when to use it for product lines, flavors, features, and messaging, plus a faster AI-native workflow.","keywords":["turf analysis","total unduplicated reach and frequency","turf analysis market research","product line optimization","what is turf analysis","turf survey analysis","reach and frequency","message testing turf"],"aiSummary":"TURF (Total Unduplicated Reach and Frequency) analysis finds the smallest combination of products, flavors, features, or messages that reaches the largest possible audience without double-counting people. It answers \"if we can only offer N options, which N maximize the share of people who like at least one?\" TURF is run on multiple-choice or yes/no survey data, then a combinatorial search maximizes unduplicated reach. AI-native platforms like Koji collect the underlying preference data with structured questions and AI-moderated interviews in days rather than weeks, and pair the reach numbers with the qualitative why behind each choice.","aiPrerequisites":["Basic familiarity with survey-based market research","Understanding of multiple-choice question data"],"aiLearningOutcomes":["Explain what TURF analysis is and the reach vs frequency distinction","Know when TURF is the right method vs MaxDiff, conjoint, or simple ranking","Design the multiple-choice or yes/no question that feeds a TURF model","Interpret unduplicated reach curves to pick an optimal product or message portfolio","Run a faster TURF study using AI-moderated interviews and structured questions"],"aiDifficulty":"intermediate","aiEstimatedTime":"14 minutes"}],"pagination":{"total":1,"returned":1,"offset":0}}