Научная статья на тему 'РЕАЛИЗАЦИЯ СИСТЕМЫ ПРОГНОЗИРОВАНИЯ МЕТОДОМ ХОЛЬТА ПРИБЫЛИ И ЗАТРАТ ПРОЕКТОВ В IT КОМПАНИИ'

РЕАЛИЗАЦИЯ СИСТЕМЫ ПРОГНОЗИРОВАНИЯ МЕТОДОМ ХОЛЬТА ПРИБЫЛИ И ЗАТРАТ ПРОЕКТОВ В IT КОМПАНИИ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
79
9
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СИСТЕМА ПРОГНОЗИРОВАНИЯ / МЕТОД ХОЛЬТА / ИСТОРИЧЕСКИЕ ПРОВОДКИ ПРИБЫЛИ / ИСТОРИЧЕСКИЕ ПРОВОДКИ ЗАТРАТ / ПРОЕКТЫ В IT КОМПАНИИ / FORECASTING SYSTEM / PROFIT METHODOLOGY / PROJECTS IN AN IT COMPANY

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Васильева Д. С.

Статья посвящена описанию реализации системы прогнозирования прибыли и затрат проектов в IT компании, используя для расчета статистический метод Хольта. В статье рассматриваются непосредственно описание реализации системы прогнозирования и проведение экспериментов на разработанной системе.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

IMPLEMENTATION OF THE FORECASTING SYSTEM USING THE METHOD OF HOLT REVENUE AND COSTS OF PROJECTS IN IT COMPANY

The article is devoted to the description of the implementation of a system for forecasting profits and costs for projects in IT companies. The article describes the description of the implementation of the forecasting system and conducting experiments on the developed system.

Текст научной работы на тему «РЕАЛИЗАЦИЯ СИСТЕМЫ ПРОГНОЗИРОВАНИЯ МЕТОДОМ ХОЛЬТА ПРИБЫЛИ И ЗАТРАТ ПРОЕКТОВ В IT КОМПАНИИ»

УДК 001.201

Васильева Д. С. студент магистратуры 2 курса факультет Информатики Самарский национальный исследовательский университет

имени академика С.П. Королева Самарский Университет Россия, г. Самара РЕАЛИЗАЦИЯ СИСТЕМЫ ПРОГНОЗИРОВАНИЯ МЕТОДОМ ХОЛЬТА ПРИБЫЛИ И ЗАТРАТ ПРОЕКТОВ В IT КОМПАНИИ

Аннотация:

Статья посвящена описанию реализации системы прогнозирования прибыли и затрат проектов в IT компании, используя для расчета статистический метод Хольта. В статье рассматриваются непосредственно описание реализации системы прогнозирования и проведение экспериментов на разработанной системе.

Ключевые слова: Система прогнозирования, метод Хольта, исторические проводки прибыли, исторические проводки затрат, проекты в IT компании.

Vasileva D.S. master student 2nd year, Faculty of Informatics Samara National Research University named academician S.P. Korolev (Samara University) Russia, Samara

IMPLEMENTATION OF THE FORECASTING SYSTEM USING THE METHOD OF HOLT REVENUE AND COSTS OF PROJECTS IN IT

COMPANY

Annotation:

The article is devoted to the description of the implementation of a system for forecasting profits and costs for projects in IT companies. The article describes the description of the implementation of the forecasting system and conducting experiments on the developed system.

Keywords: forecasting system, profit methodology, projects in an IT company.

Введение

В настоящее время существующие информационные системы для прогнозирования прибыли и затрат имеют как ряд достоинств, так и ряд недостатков. Так, например, Microsoft Excel понятен большинству пользователей, но пользователю приходится самостоятельно разбираться в

формулах и заполнять необходимые данные. Система Adaptive Insights, разработанная для планирования финансами, используется зачастую экспертами и предоставляет оценочное прогнозирование. Информационная система 1С с дополнительным программным модулем прогнозирования имеет свой ряд достоинств, а именно группировка и детализация объектов прогнозирования, возможность пользователя корректировать работу программы на любом этапе, используются 2 модели прогнозирования с учетом тенденции и сезонности. Однако данная система не работает для продаж, случающихся реже чем раз в месяц - для этого надо использовать модели управления запасами с закупкой до определённого уровня.

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

Определение метода прогнозирования

При изучении исторических финансовых данных прибыли и затрат заранее выбранной IT компании была выявлена тенденция к росту и падению показателей прибыли и затрат (рисунок 1).

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

Существуют две основные группы методов прогнозирования: экспертные и статистические. Экспертные методы прогнозирования основываются на опыте и квалификации заранее выбранной группы людей, поэтому для последующей реализации системы прогнозирования больше подходят статистические методы, которые используют исторические данные для последующего прогноза финансовых показателей.

Данные о затратах проекта 1

Данные о прибыли проекта 1

Рисунок 1. Пример динамики исторических данных прибыли и затрат проектов в ^ компании

Самыми приближенными считаются методы экстраполяции, целью которых является отображение предстоящих итогов, предполагая, что в будущем мы будем двигаться с теми же ускорением или скоростью, что и в прошлом. Данные методы представляют собой, во-первых, анализ динамики за определенный промежуток времени. Во-вторых, выделение общих тенденций в формировании прибыли. И в заключении, прогноз на следующий указанный период.

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

Алгоритм расчета прогноза методом Хольта:

1) Рассчитывается экспоненциально-сглаженный ряд :

Lt = к * Yt + (1-к) * (1)

(ЪМ-ТМ),

где: Lt - сглаженная величина на текущий период;

к - коэффициент сглаживания ряда;

Yt - текущие значение ряда (например, объём продаж);

Lt-1 - сглаженная величина за предыдущий период;

Т-1 - значение тренда за предыдущий период.

2) Определяется значение тренда:

Т = Ь * (и - Lt-1) + (2)

(1-Ь) * Т-1 ,

где: Т - значение тренда на текущий период;

Ь - коэффициент сглаживания тренда;

Lt - экспоненциально сглаженная величина за тек. период;

Lt-1 - экспоненциально сглаженная величина за пред.период

3) Делается прогноз:

№р = (3)

Lt + р

*Т ,

где: - прогноз по методу Хольта на р период;

Lt - экспоненциально сглаженная величина за последний период;

р - порядковый номер периода, на который делаем прогноз;

Т - тренд за последний период.

Описание информационной системы прогнозирования прибыли и затрат

Разрабатываемая система прогнозирования прибыли и затрат внедряется в программный комплекс финансовой деятельности, которая

состоит из нескольких систем, включая разрабатываемую систему, представленных на рисунке 2.

Система оформления проектов и заказчиков отвечает за создание, редактирование и запись в базу данных профилей заказчиков, проектов, связанных с заказчиками. Система расчета прибыли и затрат отвечает за расчет реальных показателей за текущий «открытый» финансовый период, генерацию проводок и их запись в базу данных. Отметим, что способ расчета фактических финансовых показателей и запись их в базу данных для системы прогнозирования не важен, т.к. система прогнозирования работает только с историческими данными, которые находятся уже в базе данных.

Рисунок 2. Структурная схема программного комплекса финансовой деятельности

Система финансовых периодов отвечает за статус финансовых периодов, которые имеются в системе. Эта система ограничивает доступ на создание, редактирование и удаление исторических данных в системе для предыдущих (закрытых) финансовых периодов. Разрабатываемая система прогнозирования прибыли и затрат отвечает за расчет прогноза и его запись в базу данных показателей на основании данных, полученных из системы расчета прибыли и затрат, для определенных проектов.

Реализация системы прогнозирования прибыли и затрат проектов информационной системы

В качестве средства реализации был выбран Spring framework. Spring Framework - универсальный фреймворк с открытым исходным кодом для Java-платформы. Выбранный фреймворк является комплексной моделью разработки и конфигурации для современных бизнес-приложений на Java. Ключевой элемент Spring - «поддержка инфраструктуры на уровне приложений» [1].

В качестве хранения данных была выбрана PostgreSQL база данных, которая состоит из следующих таблиц, представленных на рисунке 3: customers, finperiod, forecast, projects, status, storage. «PostgreSQL - свободная объектно-реляционная система управления базой данных» [2].

!* I rvjrr

pfO)«CU

Ям

[Л vUrtditc

W9od«tr

{code T . tb(M

I fmp«nod

iN

rumr у , status

period irttgtr

J . <uttom«f integer flnp«r>od id

pro;«ttid id ▲

UlfoiKHt 7Г itof»g«

rla T|M Mt«9«r

Ti юи»<* <топ т • profcttid

-.««prfiod rttgtt j moon t dOMbkpr«^

ft project*! T finpefiod •nttgtf

Рисунок 3. Схема базы данных

Для работы с базой данных мы будем использовать Spring JDBC, а именно класс JdbcTemplate. Этот класс выполняет SQL-запросы, выполняет итерации по ResultSet и извлекает вызываемые значения. Экземпляры класса JdbcTemplate «являются потокозащищёнными, поэтому, настроив единственный экземпляр класса JdbcTemplate» [3], мы можем затем его использовать для нескольких объектов DAO.

Для расчета прогноза прибыли и затрат нам необходимо запрашивать проводки из базы данных, поэтому вводим интерфейс DistributionDao для взаимодействия с данными из таблиц, преобразуя с помощью DistributionMapper класса их в объекты типа проводок как исторических из таблицы storage, так и прогнозируемых из таблицы forecast.

Если для работы с базой данных используются DAO классы, то для работы с объектами используются Service классы. Именно в классе DistributionServiceImpl реализованы методы прогнозирования прибыли и затрат, которые в дальнейшем вызываются в обработчике.

Обработчик, содержащий методы для управления потока приложения, будет строиться на аннотациях @Controller и @RequestMapping. Созданный контроллер должен обрабатывать запрос пользователя, создавая соответствующую модель и передавать ее для отображения в представление.

По REST запросу server_name/forecastrev в классе ProjectController сработает метод calculateForecastRevenue(), который у объекта distributionService вызовет метод калькуляции прогноза прибыли по всем проектам, у которых имеются проводки, и вернет название представления, которое увидит пользователь по завершению расчета прогноза. Ранее созданное представление представляет собой отчет о результатах прогноза.

Наглядная схема взаимодействий между модулями и классами системы прогнозирования изображена на диаграмме последовательности расчета прогноза прибыли на рисунке 4. Аналогичный процесс реализован для расчета затрат.

В качестве представлений используется Apache FreeMarker, который

«является механизмом шаблонов библиотеки Java для генерации текстового вывода» (HTML-страницы, xml, файлы конфигурации, исходный код и.т.д.) [4]. И в отличие от JSP FreeMarker не является зависимым от архитектуры сервлета или от протокола HTTP.

Рисунок 4. Диаграмма последовательности расчета прогноза

прибыли

Всё приложение при компиляции собирается в war файл с помощью Apache Maven. Apache Maven - фреймворк для автоматизации сборки проектов на основе описания их структуры в файлах на языке POM, являющемся подмножеством XML [5].

Результаты проведенных экспериментов системы

прогнозирования прибыли и затрат

На рисунке 5 представлены примеры соотношения исторических данных (синяя линия) и полученных результатов прогноза (красная линия) методом Хольта. Для расчета ошибки модели прогнозирования прибыли и затрат методом Хольта была выбрана формула средней абсолютной ошибки модели в процентах:

где: Z(t) - фактическое значение временного ряда;

¿00- прогнозное значение временного ряда.

результатами прогноза методом Хольта

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

При стабильных исторических показателях и с небольшими скачками метод Хольта показал достаточно высокую точность прогноза. Его ошибка модели составляла от 83,3 % с небольшими скачками до 99% при стабильных исторических проводках.

В серии экспериментов с большими скачками в динамике исторических проводок на протяжении всего выбранного временного интервала метод Хольта показал меньшую точность прогноза в диапазоне от 14% до 36%.

Заключение

Была поставлена цель - разработать систему прогнозирования прибыли и затрат. Для решения поставленной задачи был выбран метод Хольта. Далее разработана система прогнозирования прибыли и затрат, реализованная на Spring MVC framework. В роли хранилища данных использована Postgresql база данных, в которой основными таблицами для расчета прогноза прибыли и затрат являются Storage, Forecast и Projects.

Для работы с базой данных выделены DAO классы, в которых происходит преобразование данных из плоских таблиц в объекты java классов для дальнейшего использования в классах Service, в классах Service реализованы расчеты прогнозов прибыли и затрат, вывод на экран списка проектов, списка проводок, которые отображаются на экранных формах, реализованные на FreeMarker шаблонах.

После проведения серий экспериментов на разработанной системе прогнозирования было выявлено, что для стабильных и небольшими скачками исторических показателей показатель ошибки модели у метода Хольта минимальный. Для исторических показателей с постоянными высокими

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

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Использованные источники:

1. Spring documentation [Электронный ресурс] // Spring by Pivotal. -Электронные данные. - Pivotal Software, 2019. - URL: https://spring.io/docs (дата обращения: 15.12.2018).

2. PostgreSQL: Documentation [Электронный ресурс] // PostgreSQL: The World's Most Advanced Open Source Relational Database. - Электронные данные. - The PostgreSQL Global Development Group, 1996-2019. - URL: https://www. postgresql.org/docs/ (дата обращения 7.10.2018).

3. Руководство по Spring. Шаблон JDBC в Spring [Электронный ресурс] // Proselyte. - Электронные данные - Proselyte, 2019. - URL: http s : //pro selyte. net/tutorial s/spring-tutorial-full-version/j db c-in- spring/ (дата обращения: 21.12.2018).

4. FreeMarker [Электронный ресурс] // Википедия - свободная энцикл. -Электрон. дан. - [Б. м.], 2012. - URL: https://ru.wikipedia.org/wiki/FreeMarker (дата обращения: 23.12.2018).

5. Apache Maven Project. [Электронный ресурс]. - URL: https://maven. apache.org/index.html (дата обращения: 6.05.2017).

i Надоели баннеры? Вы всегда можете отключить рекламу.