> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs-shaunak-branch.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Architecture

The C3 Demand Forecasting application uses a comprehensive data model to generate accurate forecasting predictions.
At a high level, the Demand Forecasting application consists of the following components:

* **Items**: The entities exchanging hands during a Sale. An Item can be used to represent literal or abstract items.
* **Customers**: The entities that recieve Items during a Sale.
* **Sales**: The transactions that occur between the Business and its customers.
* **Demand Forecast Subject**:
* **Demand Forecast Predictions**: The Demand Forecast Model generates a prediction of what Sales may be in a moment in time in the future. This is called the Demand Forecast Prediction.

These concepts are shown in the simplified data model below:

```mermaid
flowchart LR
    A[Item Data]
    B[Sales Data]
    C[Customer Data]
    I[Demand Forecast Subject]
    G[Demand Forecast Model]
    H[Demand Forecast Prediction]
    X[Alerts]
    D[Reports]
    E[External Predictions]
    F[Consensus]

    A --> I
    C --> I
    B --> I
    I --> G
    G --> H
    H --> X
    H --> D
    H --> F
    E --> F
    F --> X

```

## Hierarchies

Each of the components described can be represented hierarchaly within the C3 AI Type System to allow for aggregation and organization of data. These hierarchies can be defined flexibly to suit the needs of your business. Some examples using Item types are shown below:

| Type         | **Description**                                     | **Relationships**                                      | **Grocery Store** | **Manufacturing**     | **Salon**   |
| ------------ | --------------------------------------------------- | ------------------------------------------------------ | ----------------- | --------------------- | ----------- |
| Item         | The entity that a Customer purchases in a SaleOrder |                                                        | Banana            | Widget                | Trim        |
| ItemGroup    | A categorization that allows for aggregation.       | An Item may belong to more than one ItemGroup.         | Produce, fruit    | Parts, finished goods | Services    |
| ItemUnit     | Unit conversions for Item.                          | An Item may have multiple ItemUnit associated with it. | lb, kg, each      | pallet, boxes, each   | each, hours |
| ItemFacility | The facility that provides the Item.                | An item can be provided by multiple ItemFacility.      | Main St           | 7th Ave               | Park Ave    |

Similarly, Sales, Customers, and other Types can be described similarly.
These types and others will be discussed in depth in the [Developer Guide](../developerGuide/configuring).

## Next step

Learn about how to use the C3 AI Demand Forecasting Application in the [user guide](../userGuide/introduction) or learn more about [developing and deploying](../developerGuide/developer-introduction) a C3 AI Demand Forecasting application.
