diff --git a/api/api_v1/endpoints/query.py b/api/api_v1/endpoints/query.py index c749356..87ba0a0 100644 --- a/api/api_v1/endpoints/query.py +++ b/api/api_v1/endpoints/query.py @@ -174,6 +174,8 @@ async def retention_model( tmp.setdefault('d0', len(a)) tmp.setdefault('p', []).append(division(len(a & b) * 100, len(a))) tmp.setdefault('n', []).append(len(a & b)) + tmp.setdefault('p_outflow', []).append(100 - division(len(a & b) * 100, len(a))) + tmp.setdefault('n_outflow', []).append(len(a) - len(a & b)) groups = set([tuple(i) for i in df[res['groupby']].values]) df.set_index(res['groupby'], inplace=True) df.sort_index(inplace=True) diff --git a/models/behavior_analysis.py b/models/behavior_analysis.py index a390657..f76aa72 100644 --- a/models/behavior_analysis.py +++ b/models/behavior_analysis.py @@ -246,7 +246,7 @@ class BehaviorAnalysis: if event_name_b == '*': val_b = func.arrayDistinct( - (func.groupArray(func.if_(event_name_col != event_name_a, who_visit, None)))).label('val_b'), + (func.groupArray(func.if_(1, who_visit, None)))).label('val_b'), selectd.insert(-2, *val_b) else: val_b = func.arrayDistinct(