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

Open Markdown
Let us know what you think about this document :)