Выручка по каналам и темп роста месяц к месяцу
| Месяц | Wildberries | Яндекс Маркет | Ozon | Сайт | Все каналы | Темп роста к прошлому месяцу |
|---|---|---|---|---|---|---|
| 2025-01 | 6 737 955 ₽ | 2 731 277 ₽ | 5 728 483 ₽ | 9 641 079 ₽ | 24 838 794 ₽ | — |
| 2025-02 | 6 260 607 ₽ | 2 173 956 ₽ | 5 139 660 ₽ | 7 982 100 ₽ | 21 556 324 ₽ | -13,2 % |
| 2025-03 | 7 367 574 ₽ | 3 553 316 ₽ | 6 761 546 ₽ | 10 513 130 ₽ | 28 195 567 ₽ | 30,8 % |
| 2025-04 | 7 158 542 ₽ | 2 942 126 ₽ | 6 441 975 ₽ | 10 312 404 ₽ | 26 855 046 ₽ | -4,8 % |
| 2025-05 | 7 605 684 ₽ | 3 050 599 ₽ | 5 568 150 ₽ | 10 613 653 ₽ | 26 838 087 ₽ | -0,1 % |
| 2025-06 | 6 215 389 ₽ | 3 041 857 ₽ | 5 096 290 ₽ | 10 051 537 ₽ | 24 405 073 ₽ | -9,1 % |
| 2025-07 | 5 892 548 ₽ | 2 475 717 ₽ | 5 465 613 ₽ | 9 602 796 ₽ | 23 436 674 ₽ | -4 % |
| 2025-08 | 7 429 164 ₽ | 3 363 312 ₽ | 5 718 233 ₽ | 10 473 366 ₽ | 26 984 075 ₽ | 15,1 % |
| 2025-09 | 7 976 880 ₽ | 3 281 030 ₽ | 6 838 613 ₽ | 11 512 268 ₽ | 29 608 791 ₽ | 9,7 % |
| 2025-10 | 9 227 159 ₽ | 4 484 260 ₽ | 7 279 287 ₽ | 13 226 241 ₽ | 34 216 947 ₽ | 15,6 % |
| 2025-11 | 9 439 900 ₽ | 3 145 588 ₽ | 7 078 471 ₽ | 12 940 436 ₽ | 32 604 395 ₽ | -4,7 % |
| 2025-12 | 9 552 862 ₽ | 4 146 652 ₽ | 8 284 657 ₽ | 16 132 042 ₽ | 38 116 214 ₽ | 16,9 % |
SQL, по которому посчитано
WITH monthly AS (SELECT date_trunc('month', date) AS month, channel, sum(revenue - returned_revenue) AS revenue FROM sales WHERE date > (SELECT max(date) FROM sales) - INTERVAL 12 MONTH GROUP BY 1, 2), pivoted AS (SELECT month, sum(CASE WHEN channel = 'Сайт' THEN revenue ELSE 0 END) AS site_revenue, sum(CASE WHEN channel = 'Wildberries' THEN revenue ELSE 0 END) AS wb_revenue, sum(CASE WHEN channel = 'Ozon' THEN revenue ELSE 0 END) AS ozon_revenue, sum(CASE WHEN channel = 'Яндекс Маркет' THEN revenue ELSE 0 END) AS ym_revenue, sum(revenue) AS total_revenue FROM monthly GROUP BY month), growth AS (SELECT month, site_revenue, wb_revenue, ozon_revenue, ym_revenue, total_revenue, (total_revenue - lag(total_revenue) OVER (ORDER BY month)) / nullif(lag(total_revenue) OVER (ORDER BY month), 0) AS total_mom_growth FROM pivoted) SELECT strftime(month, '%Y-%m') AS month, round(site_revenue) AS site_revenue, round(wb_revenue) AS wb_revenue, round(ozon_revenue) AS ozon_revenue, round(ym_revenue) AS ym_revenue, round(total_revenue) AS total_revenue, round(total_mom_growth, 4) AS total_mom_growth FROM growth ORDER BY month