- new page app_stats/index.html (login-gated, same style/nav) - app_stats/app_metrics.json data (year-over-year comparison, NEW badges) - updater/update_app_metrics.py: adaptive SQL (Jan 1 -> yesterday vs prev year) - run both updaters from run_update.bat; refactor shared git push
237 lines
5.0 KiB
JSON
237 lines
5.0 KiB
JSON
{
|
||
"generated_at": "2026-06-16T17:30:19",
|
||
"cur_year": 2026,
|
||
"prev_year": 2025,
|
||
"period_label": "с 1 января по 15 июня",
|
||
"range": {
|
||
"start": "2026-01-01",
|
||
"end": "2026-06-15"
|
||
},
|
||
"metrics": [
|
||
{
|
||
"key": "my_services",
|
||
"label": "Мои услуги",
|
||
"prev": 1459571,
|
||
"cur": 1769470,
|
||
"growth": 0.21232197680003234,
|
||
"is_new": false
|
||
},
|
||
{
|
||
"key": "traffic",
|
||
"label": "Детализация трафика",
|
||
"prev": 1079736,
|
||
"cur": 1271563,
|
||
"growth": 0.17766102084213178,
|
||
"is_new": false
|
||
},
|
||
{
|
||
"key": "payments",
|
||
"label": "Платежи",
|
||
"prev": 553808,
|
||
"cur": 730185,
|
||
"growth": 0.3184804119839367,
|
||
"is_new": false
|
||
},
|
||
{
|
||
"key": "orders",
|
||
"label": "Заявки",
|
||
"prev": 635621,
|
||
"cur": 826255,
|
||
"growth": 0.2999177182629271,
|
||
"is_new": false
|
||
},
|
||
{
|
||
"key": "loyalty",
|
||
"label": "Лояльность",
|
||
"prev": 464365,
|
||
"cur": 470969,
|
||
"growth": 0.014221571393192856,
|
||
"is_new": false
|
||
},
|
||
{
|
||
"key": "pay",
|
||
"label": "Оплата",
|
||
"prev": 302510,
|
||
"cur": 337103,
|
||
"growth": 0.11435324452084229,
|
||
"is_new": false
|
||
},
|
||
{
|
||
"key": "billing_detail",
|
||
"label": "Детали счета",
|
||
"prev": 358290,
|
||
"cur": 496915,
|
||
"growth": 0.3869072539004717,
|
||
"is_new": false
|
||
},
|
||
{
|
||
"key": "viktorina",
|
||
"label": "Викторина KT Club",
|
||
"prev": 298475,
|
||
"cur": 213879,
|
||
"growth": -0.28342742273222216,
|
||
"is_new": false
|
||
},
|
||
{
|
||
"key": "partners",
|
||
"label": "Акции партнеров",
|
||
"prev": 94639,
|
||
"cur": 197009,
|
||
"growth": 1.08168936696288,
|
||
"is_new": false
|
||
},
|
||
{
|
||
"key": "tv_plus",
|
||
"label": "TV+",
|
||
"prev": 95647,
|
||
"cur": 64104,
|
||
"growth": -0.32978556567377965,
|
||
"is_new": false
|
||
},
|
||
{
|
||
"key": "boosters",
|
||
"label": "Бустеры",
|
||
"prev": 53649,
|
||
"cur": 121065,
|
||
"growth": 1.2566124252082984,
|
||
"is_new": false
|
||
},
|
||
{
|
||
"key": "roaming",
|
||
"label": "Роуминг",
|
||
"prev": 39200,
|
||
"cur": 22160,
|
||
"growth": -0.4346938775510204,
|
||
"is_new": false
|
||
},
|
||
{
|
||
"key": "pereoform",
|
||
"label": "Переоформление",
|
||
"prev": 23537,
|
||
"cur": 34570,
|
||
"growth": 0.46875132769681777,
|
||
"is_new": false
|
||
},
|
||
{
|
||
"key": "aitu_music",
|
||
"label": "Aitu Music",
|
||
"prev": 0,
|
||
"cur": 8651,
|
||
"growth": null,
|
||
"is_new": true
|
||
},
|
||
{
|
||
"key": "online_booking",
|
||
"label": "Онлайн очередь",
|
||
"prev": 5421,
|
||
"cur": 22144,
|
||
"growth": 3.084855192768862,
|
||
"is_new": false
|
||
},
|
||
{
|
||
"key": "my_docs",
|
||
"label": "Мои документы",
|
||
"prev": 0,
|
||
"cur": 53376,
|
||
"growth": null,
|
||
"is_new": true
|
||
},
|
||
{
|
||
"key": "dz_statement",
|
||
"label": "Справка о ДЗ",
|
||
"prev": 0,
|
||
"cur": 132795,
|
||
"growth": null,
|
||
"is_new": true
|
||
},
|
||
{
|
||
"key": "new_boosters_roaming_kcell",
|
||
"label": "Новая линейка бустеров и роумингов Кселл",
|
||
"prev": 0,
|
||
"cur": 28626,
|
||
"growth": null,
|
||
"is_new": true
|
||
},
|
||
{
|
||
"key": "adsl",
|
||
"label": "ADSL отключение услуги",
|
||
"prev": 0,
|
||
"cur": 69,
|
||
"growth": null,
|
||
"is_new": true
|
||
},
|
||
{
|
||
"key": "law_and_order",
|
||
"label": "Закон и порядок",
|
||
"prev": 0,
|
||
"cur": 1555,
|
||
"growth": null,
|
||
"is_new": true
|
||
},
|
||
{
|
||
"key": "acs",
|
||
"label": "ACS",
|
||
"prev": 0,
|
||
"cur": 9154,
|
||
"growth": null,
|
||
"is_new": true
|
||
},
|
||
{
|
||
"key": "kaspi_freedom_pay",
|
||
"label": "Прием платежей через Freedom и Kaspi",
|
||
"prev": 0,
|
||
"cur": 61481,
|
||
"growth": null,
|
||
"is_new": true
|
||
},
|
||
{
|
||
"key": "csat",
|
||
"label": "CSAT",
|
||
"prev": 0,
|
||
"cur": 2486,
|
||
"growth": null,
|
||
"is_new": true
|
||
},
|
||
{
|
||
"key": "multicustomer",
|
||
"label": "Мультикастомер",
|
||
"prev": 0,
|
||
"cur": 164,
|
||
"growth": null,
|
||
"is_new": true
|
||
},
|
||
{
|
||
"key": "tv_plus_setup",
|
||
"label": "Настройка TV+",
|
||
"prev": 0,
|
||
"cur": 4545,
|
||
"growth": null,
|
||
"is_new": true
|
||
},
|
||
{
|
||
"key": "static_ip",
|
||
"label": "Статический IP",
|
||
"prev": 0,
|
||
"cur": 108,
|
||
"growth": null,
|
||
"is_new": true
|
||
},
|
||
{
|
||
"key": "turbo_button",
|
||
"label": "Turbo кнопка",
|
||
"prev": 0,
|
||
"cur": 4312,
|
||
"growth": null,
|
||
"is_new": true
|
||
},
|
||
{
|
||
"key": "real_estate_docs",
|
||
"label": "Справка о недвижимости",
|
||
"prev": 0,
|
||
"cur": 78,
|
||
"growth": null,
|
||
"is_new": true
|
||
}
|
||
]
|
||
}
|