View difference between Paste ID: Mrw39r8U and vY2tN9P9
SHOW: | | - or go back to the newest paste.
1
-- site category
2
SELECT s.site_id, s.url_domain, sc.name, s.category_id  
3
FROM rabota_db.site s
4
LEFT JOIN rabota_db.site_category sc ON s.category_id = sc.category_id 
5
WHERE s.site_id = 228243; 
6
7
-- all categories
8
SELECT * FROM rabota_db.site_category sc;
9
10
-- region, currency
11
SELECT country, commercial_region, c.code FROM `user` u JOIN currency c ON u.cur_id = c.currency_id WHERE user_id = 113825;
12
13
-- coefficients -------------------------------------------------------------------------------------------------------
14
15
-- LAST FULL 12 months
16
SET @start_date = '2023-10-01';
17
SET @end_date = '2024-09-30';
18
19
-- CHANGE AS NEEDED
20
SET @region = 'italy';
21
22
DROP TEMPORARY TABLE IF EXISTS tmp_usd_rate;
23
CREATE TEMPORARY TABLE tmp_usd_rate (KEY(`date`))
24
SELECT
25
e.`date`,
26
AVG(e.exrate) AS exrate
27
FROM rabota_db.exchange_rate e
28
WHERE 1=1
29
AND e.`date` BETWEEN @start_date AND @end_date
30
AND e.source_cur_id = 6
31
AND e.destination_cur_id = 2
32
GROUP BY e.`date`;
33
 
34
DROP TEMPORARY TABLE IF EXISTS tmp_eur_rate;
35
CREATE TEMPORARY TABLE tmp_eur_rate (KEY(`date`))
36
SELECT
37
e.`date`,
38
AVG(e.exrate) AS exrate
39
FROM rabota_db.exchange_rate e
40
WHERE 1=1
41
AND e.`date` BETWEEN @start_date AND @end_date
42
AND e.source_cur_id = 6
43
AND e.destination_cur_id = 4
44
GROUP BY
45
e.`date`;
46
 
47
SELECT
48
YEAR(aus.date) AS `year`,
49
MONTH(aus.`date`) AS `month`,
50
ROUND(SUM(adv_expense)/SUM(external_view_count)*1000,8) AS eCPM_GBP,
51
ROUND(SUM(adv_expense*u.exrate)/SUM(external_view_count)*1000,8) AS eCPM_USD,
52
ROUND(SUM(adv_expense*e.exrate)/SUM(external_view_count)*1000,8) AS eCPM_EUR
53
FROM tablo.`ad_unit_stat` aus
54
JOIN tmp_usd_rate u #gbp to usd
55
ON u.`date` = aus.`date`
56
JOIN tmp_eur_rate e #gbp to eur
57
ON e.`date` = aus.`date`
58
WHERE 
59
commercial_region = @region
60
AND aus.date BETWEEN @start_date AND @end_date
61
GROUP BY 
62
YEAR(aus.date),
63
MONTH(aus.`date`)
64
ORDER BY MONTH(aus.`date`)
65
;
66
67
SELECT
68
-- YEAR(aus.date) AS `year`,
69
ROUND(SUM(adv_expense)/SUM(external_view_count)*1000,8) AS eCPM_GBP,
70
ROUND(SUM(adv_expense*u.exrate)/SUM(external_view_count)*1000,8) AS eCPM_USD,
71
ROUND(SUM(adv_expense*e.exrate)/SUM(external_view_count)*1000,8) AS eCPM_EUR
72
FROM tablo.`ad_unit_stat` aus
73
JOIN tmp_usd_rate u #gbp to usd
74
ON u.`date` = aus.`date`
75
JOIN tmp_eur_rate e #gbp to eur
76
ON e.`date` = aus.`date`
77
WHERE 
78
commercial_region = @region
79
AND aus.date BETWEEN @start_date AND @end_date
80
-- GROUP BY 
81
-- YEAR(aus.date)
82
;
83
84
-- coef based on adsense (rarely used)
85
SET @start_date = '2023-01-01';
86
SET @end_date = '2023-12-31';
87
88
SELECT YEAR(usd.date) AS `year`,
89
sum(usd.adv_expense_usd),
90
sum(usd.impressions),
91
sum(usd.adv_expense_usd)/sum(usd.impressions)*1000 AS eCPM_USD
92
FROM tablo.unified_site_data usd
93
WHERE 1=1
94
AND usd.site_id = 234790
95
AND usd.account_type = 'adsense'
96
AND usd.date BETWEEN @start_date AND @end_date
97
GROUP BY YEAR(usd.date)
98
;
99
100
SELECT YEAR(usd.date) AS `year`, MONTH(usd.`date`) AS `month`,
101
sum(usd.adv_expense_usd),
102
sum(usd.impressions),
103
sum(usd.adv_expense_usd)/sum(usd.impressions)*1000 AS eCPM_USD
104
FROM tablo.unified_site_data usd
105
WHERE 1=1
106
AND usd.site_id = 234790
107
AND usd.account_type = 'adsense'
108
AND usd.date BETWEEN @start_date AND @end_date
109
GROUP BY YEAR(usd.date), MONTH(usd.`date`)
110
;