-
Notifications
You must be signed in to change notification settings - Fork 0
/
__init__.py
74 lines (58 loc) · 1.61 KB
/
__init__.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
def ctr(clicks, imp):
'''
Calculates Clickthrough rate (CTR) from clicks and impressions
Parameters:
clicks (int): An integer
impressions (int): Another integer
Returns:
ctr (int): clicks / impressions
'''
return clicks / imp
def clicks(imp, ctr):
'''
Calculates Clicks from Impressions and CTR
Parameters:
impressions (int): An integer
ctr (int): Another integer
Returns:
clicks (int): impressions * ctr
'''
return imp * ctr
def imp(clicks, ctr):
return clicks / ctr
def cpm(cost, imp):
return cost / (imp / 1000)
def cost(cpm, imp):
return cpm * (imp / 1000)
def cpa(cpc, cvr):
return cpc / cvr
def conv(cost, cpa):
return cost / cpa
def grps(reach, freq):
return reach * freq
def reach(grps, freq):
return grps / freq
def tai(reachn, freq):
'''
Calculates Total Audience Impressions (TAI) from reach # and frequency
Parameters:
reachn (int): An integer
frequency (int): Another integer
Returns:
tai (int): reachn * frequency
'''
return reachn * freq
def freq(grps, reach):
return grps / reach
def ots(grps, reach):
return grps / reach
def cpp(cost, grps):
return cost / grps
def bdi(bsales, pop):
return (bsales / pop) * 100
def cdi(csales, pop):
return (csales / pop) * 100
def boi(bdi, cdi):
return (bdi/cdi) * 100
def adstock(pweight, cweight, decay):
return cweight + (decay * pweight)