okay I need you to remember details in our conversation and brainstomr with me. I'm currently working on demand forecasting for food and beverage company, new items has 4275 series ranging from 1 week to 74 weeks. data is weekly. right now my accuracy is 48% and we need at least 60%. I'm gonna give you some information and see if we can reframe the approach to get better accuracy. this is the dataset before aggregation MaterialID	SalesOrg	DistrChan	SoldTo	DC	WeekDate	OrderQuantity	DeliveryQuantity	ParentProductCode	PL2	PL3	PL4	PL5	CL4	Item Type
i64	str	i64	i64	str	str	f64	f64	i64	str	str	str	str	str	str
12421256	"US01"	8	5932810	"5583"	"2022-03-28"	1.0	1.0	12421256	"US6"	"US66F"	"US66F6F30"	"US66F6F306F30F…	"6067437"	"Others"
12421256	"US01"	8	5946860	"5583"	"2022-03-14"	3.0	3.0	12421256	"US6"	"US66F"	"US66F6F30"	"US66F6F306F30F…	"6067437"	"Others"
12421256	"US01"	8	5952162	"5583"	"2022-03-14"	1.0	1.0	12421256	"US6"	"US66F"	"US66F6F30"	"US66F6F306F30F…	"6067437"	"Others"
12421161	"US01"	8	5958951	"5583"	"2022-03-07"	1.0	1.0	12421161	"US6"	"US66J"	"US66J6J54"	"US66J6J546J54L…	"6067465"	"Others"
12531761	"US06"	10	6088109	"5843"	"2022-03-07"	60.0	60.0	12242722	"USI"	"USII6"	"USII6I689"	"USII6I689I689E…	"6635338"	"Others" •	MaterialID: unique ID represents one unique item.
•	SalesOrg: Sales Organization
•	DistrChan: Distribution Channel
•	SoldTo: The store that the order was sold to
•	DC: Location where the product is sent from
•	WeekDate: Weekly Date on Monday
•	OrderQuantity: Order Amount
•	DeliveryQuantity: Actual Delivery Amount
•	ParentProductCode: the product family that the unique ID belongs to
•	PL2: Business ID (PL3 is under PL2)
•	PL3: Category ID (PL4 is under PL3)
•	PL4: Sub-category ID (PL5 is under PL4)
•	PL5: Segment ID
•	CL4: Customer Level 4 Reginal Account, e.g. Target, Walmart (Sold to is under CL4)
 the client requires me to aggregate to materialID, salesorg, distrchan, cl4 # Convert 'WeekDate' to datetime format
dataset_newitem = dataset_newitem.with_columns(
    pl.col("WeekDate").str.strptime(pl.Datetime, "%Y-%m-%d")
)

# Group by ‘MaterialID’, ‘SalesOrg’, ‘DistrChan’, 'CL4' and 'WeekDate', then sum 'OrderQuantity'
y_cl4 = dataset_newitem.groupby(['MaterialID', 'SalesOrg', 'DistrChan', 'CL4', 'WeekDate']).agg(
    pl.sum("OrderQuantity").alias("OrderQuantity")
)

# Sort by 'WeekDate'
y_cl4 = y_cl4.sort("WeekDate") # Concatenate ‘MaterialID’, ‘SalesOrg’, ‘DistrChan’, ‘CL4’ to a new column ‘unique_id’
y_cl4 = y_cl4.with_columns(
    pl.concat_str([pl.col('MaterialID'), pl.col('SalesOrg'), pl.col('DistrChan'), pl.col('CL4')], separator='_').alias('unique_id')
)
 
# Drop the original columns 
y_cl4 = y_cl4.drop(['MaterialID', 'SalesOrg', 'DistrChan', 'CL4'])

# Renaming columns to 'ds' and 'y' to meet the input requirements of the StatsForecast library
y_cl4 = y_cl4.rename({'WeekDate': 'ds', 'OrderQuantity': 'y'}) y_cl4.head() ds	y	unique_id
datetime[μs]	f64	str
2022-06-27 00:00:00	12.0	"12499186_US01_…
2022-06-27 00:00:00	128.0	"12506328_US01_…
2022-06-27 00:00:00	32.0	"12506326_US01_…
2022-06-27 00:00:00	96.0	"12520808_US01_…
2022-06-27 00:00:00	252.0	"12409760_US01_… we only focus on order quantity. I'm currently using an ensemble model from statsforecating usign autoarima, autoets and dynamicoptimized theta, now looking at all the columns in dataset before aggregation with the data definition, is there any feature engineering we could do there? now about the approach materialID-salesorg-distrchn-cl4 then out of sample predictions on cross validation. is there a way to reframe the question or approach here