Skip to content

Latest commit

 

History

History
93 lines (49 loc) · 3.45 KB

README.md

File metadata and controls

93 lines (49 loc) · 3.45 KB

Purchasify 💵

Prelude

Companies often struggle with finding the sweet spot to purchase the right amount products for the inventory. Most managers rely heavily on their "experience" and "intuition" which often causes products to be over or under purchased. Over purhcasing would lead to extra expenses in storage wheras under purchasing would negatively impact the product availability, service level, and custom satifcation.

To tackle this problem and help companies better strategize their purchasing plan, Purchasify levrages historical stock level, demand, warehouse availability, and current custom order to forecast demand and further recommend the right and scientifc amount to purchase.

Solution

Tech Stack

Frontend - ReactJS

Dynamic and responsive single-page web app that supports multiple languages

Backend - Java, Spring Boot

RESTful API that offers multi-threaded and asychornous model calulation and Excel export

Storage - PostgreSQL, Redis

Provides caching to optimize response time and reduce server load

DevOps - AWS S3, 53 Router, CloudFront CDN, VM, Datadog

High availability and stability through AWS and active monitoring

Forecast Algorithm

The underlying Algorithm involves Double Exponential Smoothing on demand and error and Trigg's tracking signal.

Double exponential smoothing is given by the formulas

trig

And for t > 1 by

trig

where α is the data smoothing factor, 0 < α < 1, and β is the trend smoothing factor, 0 < β < 1.

To forecast beyond xt

trig

To combat the fluctating error, Purchasify also employs Tracking signal which was developed by Trigg.

trig

In this model, et is the observed error in period t and |et| is the absolute value of the observed error. The smoothed values of the error and the absolute error are given by:

trig

trig

Then the tracking signal is the ratio:

trig

App Demo

Search Form - Search by Category, Supplier, Products, Adjust Service Level, Warehouse filter, and Cache control

GitHub Logo

Inventory Tab - Current status of inventory and order status

GitHub Logo

Forecast Model Tab - Calculation and Forecast

GitHub Logo

Production

  • cd \Users\User\Desktop\labworld2.0\target
  • git pull
  • java -jar v1-0.0.1-SNAPSHOT.jar

mkdir ./target/asset to create a dir that holds Excel export for the first time

Resources