Skip to main content

Organize AML Project

Introduction

How you organize your AML project is a type of documentation by itself, since it communicates the structure and hierarchy of your data. A clear project structure helps you easily navigate your own data in the future, and can also assist your teammates in discovering data with minimal instruction from you.

General project structure

Technically we can have all of the .aml files in any organization we want. However, for consistency and ease of navigation, we can follow this structure:

.
|-- data_source
| |-- datasets
| | |-- name_by_team_or_use_cases
| |-- models
| | |-- name_by_source_applications
| | |-- name_by_use_cases
| | |-- name_by_team
| | |-- ...
| |-- dashboards
| |-- |-- dashboard_name.page.aml
...

Notes:

  • data_source: Models and datasets from different data sources should be separated into different parent folders.
  • There are many ways to group datasets, for example: by their user cases, or by the teams that they mainly serve

Model organization

Here are some ideas to further organize your models in the models folder

  • Prefix folder name with numbers: This way you can impose a logical order for you folders
  • Separate table models and query models

Here is an example:

...
models
|-- 1. Base models
| |- customers
| |- sales
| |- base_model_n
|-- 2. Query models
| |- query_model_1
| |- query_model_2
|-- 3. Analytical models (Specific use-case query models)
| |- analytical_model_1
| |- analytical_model_2
|-- 4. Archive

Let us know what you think about this document :)