> For the complete documentation index, see [llms.txt](https://learn.moselle.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://learn.moselle.io/planning-and-execution/forecasting/phase-2-build-your-forecast/how-to-create-a-forecast/generate-a-top-down-forecast.md).

# Generate a Top-Down Forecast

Learn how to create a top-down demand forecast by converting revenue goals into SKU-level unit projections for inventory and supply chain planning.

The Top-Down approach allows you to enter your sales revenue goals and automatically convert them into a detailed unit forecast at the channel and SKU level.

***

## Steps to Generate a Top-Down Forecast

{% hint style="danger" %}
Warning - You are unable to create a top-down forecast until your unit prices are fully up to date within your product catalog.
{% endhint %}

1. On the [forecast creation flow](/planning-and-execution/forecasting/phase-2-build-your-forecast/how-to-create-a-forecast.md), select the **Top down** card.
2. This reveals a **Revenue target by channel and month** table inline on the same step.
3. Enter your sales goals for your channels based on the coverage period you've set.

{% hint style="success" %}
Tip: You can input your sales goals directly into each cell, or copy and paste an entire row of gross sales into the table.
{% endhint %}

4. Click the **Generate Forecast** button to transform your gross sales into unit sales projections. The planning page table will automatically update to display the converted data.

***

## Available Top-Down Models

|                 | Bombay                               | New York                                        |
| --------------- | ------------------------------------ | ----------------------------------------------- |
| Model Type      | Probabilistic                        | One-Shot                                        |
| Cost / Compute  | $                                    | $$$                                             |
| Forecast Method | Top-down                             | Top-down                                        |
| Price Basis     | Average selling price (recent sales) | Your configured channel pricing, month by month |
| Outcomes        | Sales goals defined for the business | First one-shot forecasting model                |
| Business Type   | Fast-growing                         | Enterprise                                      |

### Bombay

Bombay is designed to convert projected revenue forecasts into unit sales forecasts, enabling more accurate planning. This model is particularly useful for businesses where forecasts are often made in revenue terms, but operational planning requires forecasts in physical units.

**This model is optimized for:**

* Businesses that forecast in revenue but need unit-level planning
* Inventory and supply chain teams requiring unit sales estimates
* Product lines with stable or predictable price-per-unit relationships
* Scenarios where price data is available to translate revenue into units

**Example Use Case:**

If a skincare company expects to make $50,000 in sales and each skincare kit sells for $50, the model predicts they will need to prepare for 10,000 kits. This helps the company know how many toners, cleansers, and moisturizers to buy in advance.

### New York

New York converts revenue goals into units the same way Bombay does, with one difference: it prices each product using the **channel pricing you've configured** rather than its recent average selling price. Because that pricing is set per channel and per month, a wholesale channel at half of MSRP and a DTC channel at full price convert the same revenue goal into very different unit counts — and a promo month converts differently from the months either side of it.

**This model is optimized for:**

* Businesses selling the same products at different prices per channel (wholesale, distributor, DTC)
* Plans that run far enough ahead that a recent average selling price is a poor guide
* Brands running scheduled promotions, where the price varies month to month
* Teams who already maintain channel pricing and want the forecast to honour it

**Example Use Case:**

A brand sets a $100,000 goal for a wholesale channel that buys at 50% of a $50 MSRP. New York converts that goal at $25 per unit — 4,000 units — rather than at the full $50. Run the same goal on a DTC channel priced at full MSRP and it converts to 2,000 units.

{% hint style="warning" %}
**New York depends on your channel pricing being set up.** Where no pricing is configured for a channel and month, it converts at the product's full unit price — so an unconfigured wholesale channel forecasts as though it sells at full retail. Set your channel pricing before generating a New York forecast.
{% endhint %}

{% hint style="info" %}
**Checking a plan against its targets.** The price view that adds back up to the revenue you entered depends on the model: **ASP** for Bombay, **SRP** for New York. Your plan's header shows which model built it.
{% endhint %}

{% content-ref url="/pages/f6tzXDjmE07Yj7oZPoUp" %}
[What is the difference between MSRP, ASP & SRP?](/faq/fundamentals/what-is-the-difference-between-msrp-and-asp.md)
{% endcontent-ref %}

{% content-ref url="/pages/prcIQzucPEIgiJHHUplJ" %}
[Channel Pricing](/operations/catalog/channel-pricing.md)
{% endcontent-ref %}

***

## How It Works

Moselle's Top-Down forecasting uses several advanced techniques to accurately translate revenue targets into unit projections:

### How Is Revenue Converted Into Units?

Both models distribute a revenue goal down to the channel and SKU level the same way. They differ in the price they divide by — which is the main reason to pick one over the other.

**Bombay uses Average Selling Price (ASP)** rather than MSRP (Manufacturer's Suggested Retail Price). ASP reflects what customers are actually paying after discounts, promotions, and markdowns—giving you a forecast based on real market conditions. For example, if a product has an MSRP of $99.99 but typically sells for $79.99 after promotions, using ASP ensures your unit projections reflect actual sales patterns rather than theoretical pricing. ASP is drawn from recent sales, so it's one rate applied across the plan.

**New York uses the channel pricing you've configured**, resolved for each product, channel, and month. It doesn't read ASP at all. That makes it the better fit when your prices differ by channel or change through the year, since each month converts at the price you actually expect to sell at. Where you haven't set any pricing for a channel and month, it falls back to the product's full unit price.

### Currency Conversion

When your revenue targets are set in one currency but your sales channels operate in another, Moselle uses the **latest available FX rates** to adjust projections automatically. This ensures accurate revenue-to-unit conversions across international channels without manual currency calculations.

### Probabilistic SKU Distribution

Starting from a total revenue target, Moselle uses **probabilistic modeling** to determine how revenue should be distributed down to the channel and SKU level. This approach analyzes historical sales patterns, product relationships, and channel performance to create realistic unit projections across your entire catalog.

### AI-Generated SKU Grading

To further enhance revenue distribution, Moselle applies **AI-generated SKU grading** to your product catalog. This grading system evaluates each SKU's historical performance, seasonality, and market positioning to intelligently allocate revenue across products—ensuring top performers receive appropriate forecast weight while accounting for tail products.

***

## Adjust Your Top-Down Forecast

1. Select the **Gear Icon** found in the top right corner, choose **Modify Forecast.**
2. Click **Adjust Revenue Targets**.
3. A flyout will appear, where you can adjust and edit your revenue forecast by clicking into each cell or pasting your values into each cell.
4. Click **Regenerate Forecast**, found on the bottom right of the flyout.

{% hint style="danger" %}
Warning - Regenerating a forecast will override any existing cells permanently.
{% endhint %}

<figure><img src="broken://files/xIrRdcatKzsddX6m5Ouf" alt=""><figcaption></figcaption></figure>

***

## Known Limitations

* **Directional forecasts:** All forecasts generated in Moselle are directional and should be refined using Mo to incorporate business context.
* **Price and currency volatility:** Significant price changes or currency fluctuations may reduce model accuracy. Regenerate forecasts after major pricing or FX adjustments.
* **Incomplete product data:** Missing unit prices or limited sales history may prevent certain SKUs from being forecast. Ensure the product catalog is current and complete before generating a forecast.
* **Unconfigured channel pricing (New York):** A channel and month with no pricing set converts at full unit price. Review your channel pricing before generating, and regenerate after changing it — an existing forecast does not re-price itself.

***

## Related Guides

{% content-ref url="/pages/prcIQzucPEIgiJHHUplJ" %}
[Channel Pricing](/operations/catalog/channel-pricing.md)
{% endcontent-ref %}

{% content-ref url="/pages/f6tzXDjmE07Yj7oZPoUp" %}
[What is the difference between MSRP, ASP & SRP?](/faq/fundamentals/what-is-the-difference-between-msrp-and-asp.md)
{% endcontent-ref %}

{% content-ref url="/pages/BnvcV6dAmTYobyQQWmmt" %}
[Generate a Bottom-Up Forecast](/planning-and-execution/forecasting/phase-2-build-your-forecast/how-to-create-a-forecast/generate-a-bottom-up-forecast.md)
{% endcontent-ref %}
