Аналитика

Как анализировать личные расходы с помощью Airtable R и PowerBI

29
4

Всем привет. Я работаю веб-аналитиком в одном из российских банков. Мне часто приходится строить всякого рода отчеты для руководства, показывать прибыль и расходы в разных срезах, визуализировать данные и тому подобное.

У меня была проблема: зарплата уходила как вода сквозь пальцы. Я решил выяснить почему. Мне пришла идея сделать все то же самое, что я делаю на работе, только в рамках своих личных расходов. Так я построил BI-систему собственного кошелька.

Как выбрать, где собирать и анализировать данные

Для ввода и хранения данных выбор стоял между Google Forms и Google Sheets или Airtable. Airtable мне понравился больше — удобством, разнообразием функций, а еще он круто адаптирован под смартфоны.

Мои требования к системе:

  • удобно вводить информацию с возможностью самостоятельно называть категории;
  • доступное хранение (возможность подключиться через API) и соблюдение структуры данных при хранении;
  • понятные отчеты — с возможностью кастомизации и построения прогнозов;
  • приоритет использования на мобильных устройствах (одно из самых важных требований).

В рамках своей системы я создал базу в Airtable и таблицы Spends, Revenue, Desires с такой структурой:

Spends

Revenue

Desires

spends(int)

revenue(int)

final_date(date)

category(str)

date(date)

name(str)

cost(int)

Еще один плюс Airtable — фиксирование даты создания записи. Ее можно получить при выгрузке из API.

В таблицах я создал формы, сформировал ссылку, и сделал ярлык на телефоне.

Как создать личный кошелек при помощи R и Power BI

Получилось почти «приложение». После нажатия на ярлык сразу открывается форма, которая готова к заполнению и отправке. Можно отправлять несколько форм сразу.
Блог Netpeak учет личного бюджета при помощи веб-аналитики

Как пользоваться?

Я заполнял форму каждый раз, когда что-то покупаю — особенно удобно платить через PayPass и сразу фиксировать сумму в форме.

После запуска сбора информации я занялся инструментами выгрузки. Систему визуализации выбрал PowerBI, потому что для меня она самая понятная и удобная.

Изначально пробовал использовать только PowerQuery но столкнулся с пагинацией при выгрузке. Победить эту проблему решил средствами R, для этого я использовал одноименный пакет airtable.

Этого кода мне хватило, чтоб получить, все что нужно в PowerBI:

library(airtabler)
Sys.setlocale("LC_ALL", "russian")
setwd('C:/Users/Administrator/Documents/my_project') #свой путь к папке
Sys.setenv(AIRTABLE_API_KEY="key000000000000") # свой токен
projects <-
airtable(
base = "appqSx0000000001", # id базы из строки браузера
tables = c("spends", "revenue", "desires")
)
spends <- projects$spends$select_all()

Что я сделал дальше:

  • сформировал модель данных;
  • создал каталог дат в DAX и связал все таблицы через поле с датой;
  • написал меры;
  • построил визуализации.

Получился такой отчет. И дополнительно сверстал отчет под мобильную версию, а потом настроил панель мониторинга из визуализаций отчета.

Как сделать правильно анализировать личный бюджет приложения для мобильного

Мне стало понятно, куда и в каком количестве утекают деньги.

Блог Netpeak анализ бюджета при помощи Power BI и R

Потом я подумал, как управлять этим всем, ведь надо выполнять поставленные задачи перед собой. Чтобы понять, сколько мне нужно в месяц с учетом расходов, я написал формулу:

revenue_plan =
DIVIDE(
/*Общая сумма денег с учетом расходов*/
(
(DIVIDE([Spends], COUNTROWS(CALENDAR(FIRSTDATE(DISTINCT('spends'[createdTime])),LASTDATE(DISTINCT('spends'[createdTime])))),0)) // средний показатель в день по расходам
*
COUNTROWS(CALENDAR(TODAY(),LASTDATE(desires[final_date]))) // дней до цели
)
+[desires] // + стоимость цели
,
COUNTROWS(SUMMARIZE(ADDCOLUMNS(CALENDAR(TODAY(),LASTDATE(desires[final_date])),"Month", MONTH([Date])),[Month],"daySum",COUNT([Date])))// колличество месяцев до цели
,
0)

В результате я понял, какие расходы и насколько сильно влияют на достижение цели в назначенный срок.

Создаем личный кошелек при помощи Power BI

Уже дальше можно с этим работать, пытаться оптимизировать расход в рамках каждой категории, планировать траты на месяц и контролировать свои результаты в PowerBI.


Мнение авторов гостевого поста может не совпадать с позицией редакции и специалистов агентства Netpeak.

Обнаружили ошибку? Выделите ее и нажмите Ctrl + Enter.

Комментарии (4 )

  1. 2
    4 месяца назад

    Да придумал новый велосипед. Эйр тейбл крут в плане функционала и дизайна, но да на бесплатном есть ограничения. Раньше сам тоже делал такое на гугл шите, и через мобилу в приложении таблиц вводил, там потомграфики гистограммы рисовались. Но чет сложновато стало.


    Потом просто стал пользоваться приложением Wallet, белый кошель в зеленом круге. Есть весь нужный функционал.
    • 2
      Мухамед-Канапия Жаксылык
      2 месяца назад
      1. Согласен, есть уже готовые решения для таких задач, и их использовать удобнее. Но для начала, когда сам сделал подобный велосипед, есть интерес заносить расходы, сейчас я сам на KeepFinence перешёл.
      2. Это некий метод, который можно применять для других задач. Например в HR, или в малом бизнесе расходы заносить, функционал Airtable очень большой, какого-то внятного кейса с ним в ru я не находил
  2. 3
    2 месяца назад

    Airtable вообще очень крутой инструмент для личного использования, когда не хватает возможностей гугл-таблиц. Правда, объем строк для хранения в бесплатном плане оставляет желать лучшего — 1500 строк, если не изменяет память.

    Сам для личных финансов пользуюсь Zenmoney, там тоже есть API и выгрузка в CSV, которую тоже можно добавить в PBI и обработать

    • 1
      Oleg Omelchenko
      4 месяца назад

       Да, определенно, проще найти решение, но когда знаешь что искать, и какие есть требования. В экспериментировал, чтоб понять что мне нужно.



      Лимит количества строк, можно преодолеть по реферальной программе, сделайте ссылку, и отдайте товарищам кто в агентствах работает, там много технических аккаунтов Google, так можно насобирать прем-версию на полгода/год

Чтобы оставить комментарий, необходимо авторизироваться

Подписаться

на самую полезную рассылку по интернет-маркетингу

Самое

обсуждаемое популярное читаемое

Этот сайт использует куки-файлы и другие технологии, чтобы помочь вам в навигации, а также предоставить лучший пользовательский опыт, анализировать использование наших продуктов и услуг, повысить качество рекламных и маркетинговых активностей.