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