Leaf Software Solutions
  • Custom
    • Custom Applications
    • Power Platform >
      • Power Apps
      • Power BI
      • Power Automate
      • MS Teams
    • Business Innovation
  • CRM
    • Microsoft Dynamics 365
  • ERP
    • Sage Intacct
    • Microsoft Dynamics 365 Business Central
    • Microsoft Dynamics GP >
      • Microsoft Dynamics GP User Group
      • Microsoft Dynamics GP Training
  • About Leaf
    • About Us
  • Schedule Appointment

Leaf Blog

Machine Learning

8/17/2018

Comments

 

An example of using real data from SupplyKick as an ML experiment
​
By: Armaan Goel

SupplyKick is an innovative online e-commerce company specializing in selling goods online on Amazon.com and other online retailers. Their mission is to simplify and revolutionize the world of e-­commerce and grow manufacturer’s brands to their full potential through lasting partnerships.
Picture
​The goal with this project was to find a more accurate approach to predict sales, to inform order restocking and inventory levels. As an Amazon retailer, overstocking leads to high warehouse storage charges, while understocking risks running out of inventory, bringing sales to a halt. This is a very complex problem for humans to solve as each product has different ordering trends and seasonality.

So, what exactly is Machine Learning?

​Machine learning is a growing concept in computer science, where scientists attempt to teach computers to learn abstract concepts just as a human would. This is a major paradigm shift from traditional programming, in which programs operate using a set of logical rules that are explicitly stated by programmers. In machine learning, the programmers instead develop a “model,” a structure that is able to learn the data that the user feeds into it. 
Picture
​One example that illustrates the difference between traditional and machine learning is trying to read handwriting. With traditional programming a programmer could attempt to program a set of rules that determine which letter is which, but this would be very time consuming and it would be impossible to generate a set of rules that is able to identify all types of handwriting. In machine learning, a user creates a model, which can be thought of as a complex mathematical function. The programmer will feed in handwriting data for which the correct answers are known. The model will read in all of this data, attempt to make predictions on what it thinks the answers (labels) are, compares its predictions with the correct answers, and adjusts itself until it is able to make accurate predictions. The machine learning model is not only much less labor intensive to produce, but also makes much more accurate predictions on many more types of data. 
Picture
​The model used in this project is a special type of machine learning model called a “artificial neural network.” These types of models have been around for over half a century, the first was theorized in 1958, however recent improvements in computation power has made it possible for practical use. Essentially, these are modeled off of the way brains (or “neural networks”) work, as they are an interconnected structure of “neurons” (or nodes) and “synapses” (or connections). Unlike real neural networks, which send biological compounds called “neurotransmitters” between neurons, neurons in artificialneural networks simply communicate using numbers. As it turns out, this seemingly basic structure is able understand complex concepts, similar to humans. It's worth noting that in this project a special type of neural network called a “recurrent neural network,” was applied, which is specifically designed to read sequences of data.  


The first thing we need to do was get an actual dataset to manipulate. We did so using Amazon’s Marketplace Web Services API. We pulled in the responses from this API and stored them as CSV files that are easy for our program to read. We then clean the data by filtering out repeat entries or records that don’t contain any data at all. Because the goal is to predict future sales, we ordered the rows by date and totaled all orders on the same day. Finally, through experimentation, we found that the model fits best to data for individual products; rather than for all products, so we filtered down to only rows containing a specific product. The result of all of this cleaning is plotted in blue.  ​
Picture
​As we can see, the data is pretty noisy, which is not great for the model to achieve a fit. Really, we want the general trend rather than data that changes drastically day to day. In order to do so, we apply a smoothing function as illustrated in red.
Picture
​Let’s try getting some predictions! After no training, here’s how well the model fits to the training data.
It’s pretty terrible, but this is what we expect without any training. This would be like walking into a calculus test without even having heard what “math” is. After training on the data 100 times we are given the following result.
Picture
Picture
​It seems to be picking up the general trends in the data but doesn’t quite hit the mark. Lets try doing another 900 iterations through the data, for a total of 1000 training runs. 
​Now the prediction is clearly fitting to the actual sales trend. Also, keep in mind that although 1000 iterations sound like a lot, the entire training was completed in about 15 seconds. However, the real challenge is fitting the model to data that the model has never seen before. Below are the predictions on the “test” dataset.
​Though these predictions aren’t quite as good as on the training set, this is expected, and they are still very accurate overall and likely more precise than a human’s predictions. 
Picture
Picture

What this could look like for you

​Of course, machine learning is cool, but you probably want to see the real business applications for the technology. Here’s an example of how it can be implemented in our services.
Picture
​This is a screenshot of the dashboard interface we have built for the client. As you can see it already provides them with lots of useful metrics to influence their business decisions. The end goal is to have the model running on the server, constantly pulling new data from Amazon and retraining itself. Then it would be able to show a projection of future sales in order to aid the client in reordering products. 

​Resources

​For the purposes of this post the concepts mentioned are heavily abstracted. However, if you’d like to learn more about the field here are some other resources you may want to look into:

  • 3Blue1Brown- YouTube channel with amazing visual representations of abstract mathematical concepts 
  • Two Minute Papers- YouTube channel that distills recent machine learning research papers down to 2-minute videos
  • Siraj Rival- YouTube channel with tutorials on lots of machine learning concepts
  • Google Machine Learning Crash Course- Web tutorial series on machine learning (has more of a business/real-world focus)
  • Machine Learning Mastery- Website with tons of machine learning tutorials and resources
  • Colah's Blog- In depth explanation of ML concepts by Google Brain Scientist​
  • Distill- Explains abstract concepts through interactive machine learning widgets
If you have questions or are interested in learning how Machine Learning could impact your business, please get in touch with us.
info@leafsoftwaresolutions.com
317.814.8000
Comments

Amazon Web Services Chicago Summit 2017

8/10/2017

Comments

 
Picture
Last month Leaf’s Cloud Services team headed up to Chicago for the AWS Summit. Amazon Web Services holds these free summits in many cities around the world. They are a great opportunity for beginners and experienced users alike to network and learn more about the platform. They even provide the chance to take certification exams (which reminded us that we need to keep our Solutions Architect certifications up to date!).

This year it was clear that microservices are taking over. The longest lines were for sessions detailing how to run microservices on Docker or on how to implement them with Serverless techniques using AWS Lambda. The concept of breaking larger applications into smaller services is not new, but with the public descriptions of Service Oriented Architectures like those of AWS and Netflix, it is widely used. We're particularly interested in the organizational benefits of assigning small teams to building and supporting tightly-scoped, loosely coupled services.

An event like this is also a good opportunity to check in with services that have existed for a long time to stay current on new features.  A good example of these are AWS Storage Gateway and Elastic Filesystem which have both seen further development since their initial launch.  A service that impressed us thoroughly is Aurora: Amazon's enterprise-grade MySQL-compatible database engine. It shows how effectively AWS can squeeze out performance and reliability improvements when they are in control of the whole infrastructure stack. Several of our clients use Aurora, and it is good to see that this will pay dividends as we inherit regular improvements from Amazon's continued development.
Picture
​Another thing that struck us was the theme of Adrian Cockcroft’s keynote: public cloud providers have moved beyond allowing you to do the same things you did in your datacenter and are now providing capabilities that would be nearly impossible without massive investments in capital and talent. Take this example: CSPAN is annotating all of its video coverage of US politics by sampling frames and running them through Amazon Rekognition to detect the faces of politicians.

It’s obvious that cloud computing has moved beyond the startups. All major enterprises are making use of some form of cloud services and many are “all in”. The uncertainty and fear of moving workloads from your own bespoke data center to a cloud provider is a throwback to the last decade. How are we so sure? Consider this: McDonalds’ global Point of Sale system runs entirely on Amazon Web Services.
But its not easy to get started. There is a rapidly growing list of services to learn in AWS alone, not to mention the other major providers like Microsoft Azure and Google Cloud Platform.  Most of the vendors in the summit exhibit hall were involved in managing, monitoring, securing, or migrating cloud applications. You don't have to navigate this ecosystem alone.  Leaf's Cloud Services team would love the opportunity to help!

​Images Credit: https://aws.amazon.com/summits/chicago/
Picture
Comments

Leaf (EST. 1987) - 30 Year Technology Retrospective

3/22/2017

Comments

 
Leaf Software Solutions is proud to be celebrating our 30th anniversary providing technology solutions to our clients. With major changes happening on a constant basis, it is easy to lose sight at how much technology has grown over the course of multiple decades. We decided to take this opportunity to revisit some of the major shifts that have happened within our industry over the past 30 years, how Leaf has adapted to these changes, and trends we see emerging now in 2017.​
By: Andrew Kaczorek and ​Chris Chalfant 

Picture
The story of Joseph Graves Associates starts in the heyday of the original IBM PC.  The PC AT shown above was driven by a 286 CPU that contained 134,000 transistors and performed an average of 2.66 million instructions per second.  Compare this to a modern Intel i7 Haswell processor at 1.4 billion transistors that performs around 238,000 million instructions per second. That means that an average desktop computer is 90,000 times faster than the PCs used when Leaf began.
Picture
Matt Moberly - Internship 1997
​From a project perspective, our company launched as the industry was shifting from centralized, mainframe-based computing to distributed PC-based computing. As the 80s rolled over to the 90s, employees at Joseph Graves Associates were providing services across a wide variety of client sizes ranging from accounting services, staff augmentation, and custom development.

Picture
The next major shift happened in the early to mid nineties as the Internet became widespread. When Leaf began, the standard for business communications was a 2400 baud modem.  In 1995, a typical business might have a 1.5 megabit connection, 685 times faster than the modem. A standard internet connection of 1 gigabit today is 500,000 times faster than network speeds prevalent when Leaf was founded.
As the Internet became a household name, Leaf began providing web development services to adapt to the needs of its clients. Microsoft Visual Basic was a popular platform, and many of Leaf’s clients included traditional companies that were realizing the potential of the efficiencies gained by incorporating computers and networks into their everyday business processes.

Picture
2007 saw the release of the first smartphones from companies such as Blackberry and the Apple iPhone.  Smartphones have changed many aspects of our business and personal communications. From a technology perspective, many of us are carrying around phones in our pocket that have roughly the processing power of a Cray supercomputer that filled an entire room in 1987.
​

As mobile and cloud technologies have matured in the past decade, Leaf has made this transition as well.  Many of the large-scale custom development projects that Leaf undertakes contain elements of cloud and/or mobile development.  We have active projects being built with single-page app (SPA) frameworks and cloud-native architectures using technologies such as Amazon Web Services (AWS). The variety of technologies in our portfolio is continuously growing, from Microsoft .NET to open-source technologies such as JavaScript, Ruby and Python. 


Leaf has been around to participate in some amazing technology enhancements over the past 30 years.  Many other industry shifts are underway, and we plan to post about them on Leaf's brand new technical blog.  

​Expect to see a wide variety of topics including:
  • Cloud-native and serverless applications
  • Continuous build and deployment automation
  • Rapid prototyping practices
  • Internet of things
Comments
    Blog Home

    Archives

    April 2021
    March 2021
    February 2021
    January 2021
    November 2020
    October 2020
    September 2020
    August 2020
    June 2020
    November 2018
    August 2018
    July 2018
    May 2018
    April 2018
    February 2018
    October 2017
    August 2017
    June 2017
    May 2017
    March 2017


    Categories

    All
    365 Business
    365 Enterprise
    Advanced Analytics
    Agile
    Agility
    AI
    Amazon Web Services
    Assisted Living
    Automation
    AWS
    AWS Lambda
    Best Companies Group
    Best Places To Work
    Big Data
    Blockchain
    Business
    Business Applications
    C#
    Canal Nights
    CarDon
    Carmel
    Case Study
    CFO
    Chamber Of Commerce
    Chief Financial Officer
    Cloud
    Cloud Computing
    Cloud Financial Software
    Cloud-Native
    Cognitive Computing
    Collaboration
    Company Data
    Continuous Build
    Corona Virus
    Corporate Dna
    Covid 19
    Covid-19
    Culture
    Customer Service
    Demographics
    Deployment Automation
    Developer Ergonomics
    Doc Date
    Doc Date Verify
    Docker
    Douglas Karr
    Dynamics 365
    Dynamics 365 Apps
    E-commerce
    ERP
    Field Service
    Finance
    Financial Accountability
    Financial Dashboards
    Financial Reports
    Financial Software
    Financial Transparency
    Framework
    Fund Accounting
    Game Development
    Hoosiers
    How To
    HTML
    HtmlDocument
    In-Depth Insights
    Indiana
    Indianapolis
    Indiana State Museum
    Indy
    In-Memory Computing
    Internet Of Things
    IoT
    JavaScript
    Joseph Graves Associates
    Kanban
    LCD Welcome Screen
    Leadership
    Leaf Corporate
    Lean
    Machine Learning
    Manifesto
    Manufacturing
    Marketing
    Mechanical Keyboard
    Methodologies
    Microservices
    Microsoft
    Microsoft 365
    Microsoft Dyanmics 365
    Microsoft Dynamics 365
    Microsoft Dynamics CRM
    Microsoft Dynamics GP
    Microsoft .NET
    Microsoft Visual Basic
    Migrating Cloud Applications
    Mike Wilson
    Mobility & Security
    MS Teams
    .NET
    Nonprofit
    Not For Profit
    Office 365
    Off The Circle
    OpenCV
    Open-Source
    Operational Efficiency
    Operational Insights
    Operations
    PDF
    Performance Insights
    Philosophy
    Power BI
    Practices
    Press Release
    Process Robotics
    Professional Services Tools Library
    Project Service Automation
    PSTL
    Python
    Python Tornado Web Framework
    Rapid Prototyping
    Raspberry PI
    Repetitive Stress Injuries
    Ruby
    SAFe
    Sage Intacct
    Sales
    Scrum
    Senior Living
    Serverless Applications
    Serverless Techniques
    Single-Page App Framework
    Slack
    Software
    Software Solutions
    SPA Framework
    Spreadsheets
    Stakeholder Insights
    SupplyKick
    Systems
    Tech-Savvy
    Tracking Application
    Traditional Vs Machine Learning
    Unit Test Fixtures
    Video Games
    Visibility
    Visualization
    Waterfall
    Windows 10
    XP

STAY IN TOUCH


(317) 814-8000
info@leafsoftwaresolutions.com
Schedule Appointment
Picture

MORE ABOUT LEAF


Our Culture
Leaf Blog
Careers
Contact Us
Best Places to Work
2012-2021

OUR SOLUTIONS


CUSTOM SOFTWARE
  • Custom Applications
  • Power Platform
  • Business Innovation
CRM SOFTWARE
  • Microsoft Dynamics 365
ERP SOFTWARE
  • Sage Intacct
  • Microsoft Dynamics 365 BC
  • Microsoft Dynamics GP​

OUR PARTNERS


Picture
Picture
Picture
Proud sponsor of WFYI Public Media since 2006.

Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License.
Terms and Conditions
Privacy Policy
© 2020 Leaf Software Solutions, Inc. 
  • Custom
    • Custom Applications
    • Power Platform >
      • Power Apps
      • Power BI
      • Power Automate
      • MS Teams
    • Business Innovation
  • CRM
    • Microsoft Dynamics 365
  • ERP
    • Sage Intacct
    • Microsoft Dynamics 365 Business Central
    • Microsoft Dynamics GP >
      • Microsoft Dynamics GP User Group
      • Microsoft Dynamics GP Training
  • About Leaf
    • About Us
  • Schedule Appointment