ltv补充默认值

This commit is contained in:
wuaho 2021-10-21 11:00:09 +08:00
parent d2194403af
commit 9375114519
2 changed files with 6 additions and 3 deletions

View File

@ -59,6 +59,8 @@ async def ltv_model_sql(
df.loc[len(df)] = '0'
df.loc[len(df) - 1, 'date'] = d
days = (pd.Timestamp.now().date() - d).days
if days + 2 >= res['ltv_len']:
continue
df.loc[len(df) - 1, f'LTV{days + 2}':] = '-'
df.sort_values('date', inplace=True)
df.rename(columns={'date': '注册日期'}, inplace=True)

View File

@ -54,7 +54,7 @@ class XAnalysis:
else:
self.event_view = self.data_in.eventView
self.events = self.data_in.events
for d in pd.date_range(self.event_view['startTime'],self.event_view['endTime'], freq='D', tz='UTC'):
for d in pd.date_range(self.event_view['startTime'], self.event_view['endTime'], freq='D', tz='UTC'):
self.date_range.append(d.date())
self.global_filters = self._get_global_filters()
@ -130,7 +130,7 @@ class XAnalysis:
quota = self.event_view['quota']
select_ltv = []
sumpay = []
for i in range(1, days+2):
for i in range(1, days + 2):
# select_ltv.append(func.round(sa.Column(f'sumpay_{i}') / sa.Column('cnt1'), 2).label(f'LTV{i}'))
select_ltv.append(
f"if(dateDiff('day', reg.date, now())<{i - 1}, '-',toString(round(sumpay_{i} / cnt1, 2))) AS LTV{i}")
@ -189,5 +189,6 @@ class XAnalysis:
return {'sql': sql, 'quota': quota,
'start_date': self.event_view['startTime'][:10],
'end_date': self.event_view['endTime'][:10],
'date_range': self.date_range
'date_range': self.date_range,
'ltv_len': days + 1
}