Defining a common metrics layer in the data stack can benefit organizations by centralizing metric definitions for easy reference by all users.
When refactoring for a metrics layer, clean abstractions are key to ensuring common parts are expressed in one place and variable parts are supplied as needed.
Encapsulating both the semantic and query generation layers in a metrics layer can lead to a powerful tool for standardizing metric definitions and query generation across different tools.