Feature Calculation - Introduction¶
This section explains how features are calculated in the echo-performance server, detailing the implementation in this Python package and the necessary configurations in the Performance database.
Overview¶
Features (also known as variables, tags, or points) are periodically calculated in the Performance server through various Airflow DAGs, with the most important being the feature-calculator DAG. These DAGs typically create an instance of the CalculationHandler class, which is responsible for managing the calculation of features.
The CalculationHandler class looks for each feature definition in the database and determines which feature calculator class (FeatureCalculator subclass) should be used to calculate it. The feature calculator class then calculates the feature based on the available data in the database and saves the results back to the database.
Each FeatureCalculator subclass has a series of calculation requirements that need to be met before the feature can be calculated. These requirements are defined as subclasses of the CalculationRequirement abstract class and specify the necessary data that must be available in the database for the feature to be calculated.
Next Steps¶
To understand how each class is implemented and how to configure the database to use this package, please read the following sections: