Застосування R для підготовки і передачі «живий» аналітики іншим бізнес-підрозділам

В цій короткій замітці хочу поділитися ще одним варіантом використання R в повсякденні бізнес-завдання. Цей «use-case» актуальне майже для всіх компаній, незалежно від їх розміру. Мова йде про підготовку різних оперативних звітів та аналітичних зрізів.

R Notebook
Як це зазвичай буває
У залежності від масштабу компанії і раніше зроблених інвестицій в ІТ у задачі підготовки звітів зустрічаються наступні варіанти (комбінації варіантів):
  1. Є корпоративна система звітності (Oracle, SAP BI, ...), на базі якої повинні створюватися всі необхідні звіти. Аналітики вічно зайняті, до них треба записуватися на прийом, терміни реалізації йдуть в «+нескінченність», робота з комбінованими і неструктурованими даними ставить всіх в ступор, оперативна коригування звітів майже неможлива, набір уявлень визначається існуючим продуктом, а не конкретними бізнес-потребами.
  2. Різні open-source рішення (наприклад, Jasper), які підтримуються за залишковим принципом. Бажаючі можуть взяти і наваяв отчетик, тільки таких охочих не знаходиться.
  3. Всемогутній Excel. Поширюватися про сумні сторони цього підходу не варто.
  4. Мови програмування або щось ще....
В принципі, з простими звітами з невеликим, структурованим і чистим даними Excel цілком непогано справляється, але кількість витрачених зусиль завжди непропорційно одержуваному результату. Крок вліво-вправо, поява додаткового крихітного вимоги («а ось такий розріз покажіть», «а накладіть графік», «а як це співвідноситься з ...») вимагає маси додаткових зусиль. Перехід від Excel Таблиці\QlikView (по суті це не аналітичні системи, а покращений візуалізатор) покращує можливості по простій обробці даних і динамічної візуалізації. Але вони стоять також чималих грошей і вимагають серйозного вивчення для реалізації вимог, недоступних простим натисканням на кнопку.
Додатково непогано задатися питанням, а який розмір даних при підготовці такого аналітичного звіту? У 90% випадків все обмежується крихітним обсягом даних (не більше декількох мільйонів «excel» рядків).
Альтернативне рішення — робимо звіти з застосуванням R
В залежності від гнучкості сприйняття споживачів звітів та складності необхідної динамічної маніпуляції з кінцевим поданням даних можливі 3 різних підходу.
  1. Передаємо R скрипт для запуску в консолі R-Studio, здійснює необхідний процесинг і видачу результов в консолі\файли.
  2. Передаємо R Notebook/R Markdown скрипт для запуску в консолі R-Studio, здійснює необхідний процесинг і видачу результов у вигляді оповідної історії в консоль/html/pdf та ін
  3. Передаємо R Shiny скрипт для запуску в консолі R-Studio, здійснює необхідний процесинг і видачу результов у вигляді локального web-порталу з інтерактивом і динамікою. Якщо бізнес-користувач взагалі нічого не хоче робити (запустити програму і натиснути кнопку), то можна самостійно публікувати на внутрішньому Shiny порталі.
При передачі R скрипта кінцевому споживачеві, будь то R Markdown або Shiny portal достатньо передати 1 (один!) скрипт-файл. У випадку складної аналітики можна оформити свій пакет, покласти його на github і вкючить в скрипт автоматичну перевірку та оновлення локального пакету в разі необхідності. для цих цілей можна використовувати, наприклад, пакети
pacman
або
githuninstall
. При цьому в рамках цього сценарію може здійснюватися повний цикл роботи з даними:
  • для підключення до джерел даних;
  • збір даних;
  • очищення даних з відпрацюванням винятків;
  • аналітичні розрахунки будь-якого ступеня складності;
  • візуалізація;
  • забезпечення інтерактиву за маніпуляції з даними;
  • висновок у різних форматах;
  • автоматична публікація в зовнішніх системах;
  • ...
В силу компактності скрипта і, практично необмежених можливостей по кастомізації візуалізації, абсолютно легко і швидко актуалізувати скрипти під змінні оточення і запити бізнес-користувачів.
Зачіпати питання безпеки тут абсолютно немає сенсу. По-перше, не завжди вони будуть виникати, наприклад, при підготовці звітів\аналітики на основі выгрузок\уявлень доступних користувачеві і так. По-друге, абстрактні питання або мають абстрактні відповіді, або взагалі не мають відповіді. А приватні завдання вирішуються простіше і швидше.
Практика показала, що застосування запропонованого підходу дозволяє аналітикам, відповідальним за підготовку такої звітності, істотно полегшити своє життя і радикально підвищити ефективність своєї праці.
Вибір за вами.
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.