Coverage for jstark/features/average_gross_spend_per_basket.py: 100%

16 statements  

« prev     ^ index     » next       coverage.py v7.4.3, created at 2024-02-25 20:09 +0000

1"""AverageGrossSpendPerBasket feature""" 

2import pyspark.sql.functions as f 

3from pyspark.sql import Column 

4 

5from .feature import DerivedFeature 

6from .gross_spend import GrossSpend 

7from .basket_count import BasketCount 

8 

9 

10class AverageGrossSpendPerBasket(DerivedFeature): 

11 def column_expression(self) -> Column: 

12 return ( 

13 GrossSpend(self.as_at, self.feature_period).column 

14 / BasketCount(self.as_at, self.feature_period).column 

15 ) 

16 

17 @property 

18 def description_subject(self) -> str: 

19 return "Average GrossSpend per Basket" 

20 

21 @property 

22 def commentary(self) -> str: 

23 return "Total GrossSpend divided by the number of baskets" 

24 

25 def default_value(self) -> Column: 

26 return f.lit(None)