> ## Documentation Index
> Fetch the complete documentation index at: https://support.fieldko.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Assortment and Ranging

> Separate listed, ranged, and on-shelf products, keep FieldKo product sets current, and measure ranging compliance apart from on-shelf availability (OSA).

Assortment and ranging answer one question: is the right product in the right store? This page is for managers who own each store's range, admins who keep product sets current, and reps who check the shelf. The outcome is a range you can trust, so a product that was never agreed for a store isn't chased as an out-of-stock, and a real gap goes to the person who can fix it.

## What Good Looks Like

Good ranging keeps 5 product states apart, because each needs a different action:

| State | What It Means | Who Acts on a Gap |
| - | - | - |
| **Portfolio** | Your brand sells the product somewhere in the market. | Brand team |
| **Listed** | The retailer's agreement includes the product. | Key account team |
| **Expected at this store** | The product belongs in this store's agreed range, from an agreed date. | Admin keeps the product set current |
| **In store** | Units are somewhere in the building, such as the backroom. | Rep or store team |
| **On shelf** | A shopper can find and buy it where it should be. | Rep, store team, or supply chain |

Ranging compliance and on-shelf availability (OSA) are 2 different measures. Ranging compliance asks whether expected products have a place on the shelf. OSA asks whether a shopper can buy them today.

## When to Use It

Use this practice when you set up a new retailer or store format, when a range changes, and whenever OSA looks wrong. Common failure patterns:

* **A national product file used for every store.** Stores are marked out of stock for products they were never agreed to carry.
* **Not listed counted as out of stock.** The rep can't fix a listing gap; the key account team can.
* **Delisted products left in the range.** Every store's score drops at once.
* **A barcode match taken as proof of authorization.** A scan identifies a product; it doesn't prove the store should carry it.
* **Pack sizes and substitutes ignored.** A 6-pack and a single unit are different stock-keeping units (SKUs).

## Operating Procedure

**1. Agree the Range per Retailer and Format**

Start from each retailer's agreement, not the national portfolio. Record which SKUs each store format should carry, and the date each change takes effect.

**2. Keep Master Data Clean**

Give every SKU a stable identifier, description, pack size, category, and active status. Keep product identifiers, such as barcodes, in one consistent format.

**3. Load the Expected Range Before the Visit**

Update each store's range before visits start, and flag planned range changes to reps.

**4. Check the Shelf Against the Range**

The rep records whether each expected product is present, and separates "not on the shelf today" from "has no shelf position".

**5. Route Each Gap to the Right Owner**

Send listing gaps to the key account team, and stock gaps to replenishment or the store. Record any approved local exception and when it ends.

## How to Implement It in FieldKo

**Availability:** product sets, ranging contracts, and core ranging are built in. A "not ranged" or "could not verify" state needs configuration. Effective dates for range changes aren't standard; manage timing yourself. Retailer listing agreements are external data.

| Practice | In FieldKo | Learn How |
| - | - | - |
| Set the expected range | Group products into a product set, and link it to each store with a ranging contract of type **CORE** or **FULL**. Each store can have at most 1 contract of each type, and a contract on a parent or banner account doesn't apply to its stores. | [Core Ranging](https://support.fieldko.com/admin/products-ordering-ranging.md#core-ranging) |
| Give each retailer its own range | Create one product set per retailer, and add it to every store of that retailer. When the range changes, update the product set once. | [Ranges for Each Retailer](https://support.fieldko.com/admin/products-ordering-ranging.md#ranges-for-each-retailer) |
| Record what's on the shelf | In **Core Ranging**, reps mark each product present and can enter quantities. FieldKo stores only present or not present, so a product without a shelf position looks the same as one that's sold out. | [Record Core Ranging](https://support.fieldko.com/field-work/core-ranging.md) |
| Separate "not ranged" from "out of stock" | Add a custom picklist field as a ranging column, with values such as `On shelf,Out of stock,No shelf position,Could not verify`. | [Core Ranging](https://support.fieldko.com/admin/products-ordering-ranging.md#core-ranging) |
| Time a range change | Product set lines have no start or end dates. Update the product set on the day the change takes effect, and plan the update in advance. | [Add a New Product or Range](https://support.fieldko.com/platform/day-to-day/add-a-product.md) |
| Retire a product | Set the product to **Inactive**. It disappears from the order and ranging screens after reps sync. | [Product Changes and What Reps See](https://support.fieldko.com/platform/day-to-day/add-a-product.md#product-changes-and-what-reps-see) |

> [!NOTE]
>
> Survey product questions aren't filtered by the store's product set. If you ask about products in a survey, every store sees the same products. Use core ranging for store-specific ranges.

## Fictional Example

Fictional example. Willow Creek Market is agreed to carry 20 SKUs of the made-up brand Brightwell. The rep finds that 18 have a shelf position, and 16 are on the shelf today.

* **Ranging compliance:** 18 / 20 = **90%**. 2 products need action from the key account team.
* **OSA against the agreed range:** 16 / 20 = **80%**.
* **OSA against ranged products only:** 16 / 18 = **88.9%**. This is a valid measure too, but label its denominator.

All 3 numbers are correct. Reporting them without their denominators makes them look contradictory.

## What to Measure

| Measure | Definition | Population and Exclusions | Owner |
| - | - | - | - |
| Ranging compliance | Expected products with a shelf position / expected products | Stores with a current ranging contract; needs a "no shelf position" value | Key account manager |
| OSA | Products present / products in the store's product set | Current ranging per store | Field manager |
| Range accuracy | Product set lines that match the retailer's agreement / product set lines | Audited stores or retailers | Salesforce admin |
| Stale range lines | Lines for products that are delisted or inactive | All product sets | Salesforce admin |

## When It Goes Wrong

* **OSA falls for every store of a retailer at once:** a delisted or not-yet-launched product is in the product set. Fix the product set.
* **A rep can't find a product in core ranging:** the store has no ranging contract, or the contract is on the parent account. Add a contract to the store.
* **The same product is "out of stock" every visit:** it may have no shelf position. Check the listing with the key account team before ordering.

## Checklist

* Each retailer has its own product set, built from its agreement.
* Every store has a ranging contract of its own.
* Range changes are scheduled before their effective date.
* Reps can record "no shelf position" separately from "out of stock".
* Ranging compliance and OSA are reported with their denominators.
* Delisted products are removed or set to **Inactive**.

## Industry Best-Practice Context

FieldKo's guide [Assortment and Ranging: Is the Right Product in the Right Store?](https://fieldko.com/best-practices/assortment-product-ranging/) covers the 5 product states and master data. Before you load ranges, use the [store, product, and campaign data readiness checklist](https://fieldko.com/best-practices/toolkits/master-data-readiness/).

## See Also

* [Keep Products on the Shelf](https://support.fieldko.com/retail-execution/availability.md)
* [Define Your Perfect Store](https://support.fieldko.com/retail-execution/perfect-store.md)
* [Set Up Products, Ordering, and Ranging](https://support.fieldko.com/admin/products-ordering-ranging.md)
* [Record Core Ranging](https://support.fieldko.com/field-work/core-ranging.md)
* [On-Shelf Availability and Distribution](https://support.fieldko.com/managers/platform/recipes/availability.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.