---
title: "Controller Turf Analysis"
method: POST
path: "/ad_analytics/cpg_suite/turf-analysis/"
---

# Controller Turf Analysis

`POST /ad_analytics/cpg_suite/turf-analysis/`

Analyze optimal product combinations to maximize reach (TURF analysis)

## Request body

- TurfAnalysisRequest — Request for turf analysis - finding optimal product combinations for maximum reach.
  - `steps` integer, required — Number of steps/products to include in the analysis
  - `filters` CPGSuiteFilter, required — Filter for CPG Suite.
    - `selections` SelectionPayload, required
      - `selections` array[], required
        - Selection[]
          - `field` string, required
          - `values` string[], nullable, required
    - `search_string` string, nullable — Search string for fuzzy match
    - `timeframe` SrcApiAdAnalyticsModelTimeframe
      - `start_date` string, date-time, required
      - `end_date` string, date-time, nullable, required
    - `audience_filter` CPGAudienceFilter — Audience filter for CPG Suite with category selection support.
      - `audience_id` string, nullable — Base audience ID to filter by
      - `category_selections` SelectionPayload
        - `selections` array[], required
          - Selection[]
            - `field` string, required
            - `values` string[], nullable, required

## Response `201`

Successful Response

- unknown

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/akkio/apis/fastapi.md) · [All operations](https://skmtc.net/akkio/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/akkio/fastapi/versions/6662a407c637/schema)
