ltv补充默认值
This commit is contained in:
parent
d2194403af
commit
9375114519
@ -59,6 +59,8 @@ async def ltv_model_sql(
|
|||||||
df.loc[len(df)] = '0'
|
df.loc[len(df)] = '0'
|
||||||
df.loc[len(df) - 1, 'date'] = d
|
df.loc[len(df) - 1, 'date'] = d
|
||||||
days = (pd.Timestamp.now().date() - d).days
|
days = (pd.Timestamp.now().date() - d).days
|
||||||
|
if days + 2 >= res['ltv_len']:
|
||||||
|
continue
|
||||||
df.loc[len(df) - 1, f'LTV{days + 2}':] = '-'
|
df.loc[len(df) - 1, f'LTV{days + 2}':] = '-'
|
||||||
df.sort_values('date', inplace=True)
|
df.sort_values('date', inplace=True)
|
||||||
df.rename(columns={'date': '注册日期'}, inplace=True)
|
df.rename(columns={'date': '注册日期'}, inplace=True)
|
||||||
|
@ -54,7 +54,7 @@ class XAnalysis:
|
|||||||
else:
|
else:
|
||||||
self.event_view = self.data_in.eventView
|
self.event_view = self.data_in.eventView
|
||||||
self.events = self.data_in.events
|
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.date_range.append(d.date())
|
||||||
|
|
||||||
self.global_filters = self._get_global_filters()
|
self.global_filters = self._get_global_filters()
|
||||||
@ -130,7 +130,7 @@ class XAnalysis:
|
|||||||
quota = self.event_view['quota']
|
quota = self.event_view['quota']
|
||||||
select_ltv = []
|
select_ltv = []
|
||||||
sumpay = []
|
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(func.round(sa.Column(f'sumpay_{i}') / sa.Column('cnt1'), 2).label(f'LTV{i}'))
|
||||||
select_ltv.append(
|
select_ltv.append(
|
||||||
f"if(dateDiff('day', reg.date, now())<{i - 1}, '-',toString(round(sumpay_{i} / cnt1, 2))) AS LTV{i}")
|
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,
|
return {'sql': sql, 'quota': quota,
|
||||||
'start_date': self.event_view['startTime'][:10],
|
'start_date': self.event_view['startTime'][:10],
|
||||||
'end_date': self.event_view['endTime'][:10],
|
'end_date': self.event_view['endTime'][:10],
|
||||||
'date_range': self.date_range
|
'date_range': self.date_range,
|
||||||
|
'ltv_len': days + 1
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user