result objects in forecast

This commit is contained in:
Florian Förster 2025-03-05 13:10:17 +01:00
parent 0c316aa05b
commit c7b6f38fa9

View File

@ -8,9 +8,10 @@ import pandas as pd
from sklearn.metrics import mean_squared_error from sklearn.metrics import mean_squared_error
from xgboost import XGBRegressor from xgboost import XGBRegressor
from delta_barth._management import ERROR_HANDLER
from delta_barth.analysis import parse from delta_barth.analysis import parse
from delta_barth.constants import COL_MAP_SALES_PROGNOSIS, FEATURES_SALES_PROGNOSIS from delta_barth.constants import COL_MAP_SALES_PROGNOSIS, FEATURES_SALES_PROGNOSIS
from delta_barth.types import CustomerDataSalesForecast, DataPipelineErrors from delta_barth.types import CustomerDataSalesForecast, DataPipelineErrors, doptResult
if TYPE_CHECKING: if TYPE_CHECKING:
from delta_barth.api.common import SalesPrognosisResponse from delta_barth.api.common import SalesPrognosisResponse
@ -65,7 +66,7 @@ def sales_per_customer(
data: pd.DataFrame, data: pd.DataFrame,
customer_id: int, customer_id: int,
min_num_data_points: int = 100, min_num_data_points: int = 100,
) -> FcResult: ) -> doptResult:
"""_summary_ """_summary_
Parameters Parameters
@ -105,7 +106,7 @@ def sales_per_customer(
# check data availability # check data availability
if len(df_cust) < min_num_data_points: if len(df_cust) < min_num_data_points:
return DataPipelineErrors.DATA_TOO_FEW_POINTS, None return doptResult(resp=ERROR_HANDLER.data_pipelines.TOO_FEW_POINTS, res=None)
else: else:
# Entwicklung der Umsätze: definierte Zeiträume Monat # Entwicklung der Umsätze: definierte Zeiträume Monat
df_cust["year"] = df_cust["date"].dt.year df_cust["year"] = df_cust["date"].dt.year
@ -144,4 +145,4 @@ def sales_per_customer(
test = test.reset_index(drop=True) test = test.reset_index(drop=True)
# umsetzung, prognose # umsetzung, prognose
return DataPipelineErrors.SUCCESS, test return doptResult(resp=ERROR_HANDLER.data_pipelines.SUCCESS, res=test)