Synchronoicity

A multi-channel stock manager for modern retail

Development Timeline

Table of contents



Analysis

An analysis of the project viability, target market, feature requirements and more...

Problem Definition

Many retail businesses want to start selling their products online. While small retail businesses with a focused scope may be able to find a specific sales platform such as Etsy, and meet their target market well enough, many small businesses have realised that by maintaining a presence on multiple sales platforms such as Amazon, Ebay, and Etsy all at once will help them reach a far greater audience.

The Problem is that managing and tracking stock for a even mildly popular store on multiple platforms can be incredibly time consuming, and a logistical nightmare.

There are many issues that come together to make this so difficult...

  • Stock management interfaces on each individual platform can be clunky and slow to use
  • Individual sales platforms do not report to each other, meaning any synchronisation needs to be performed manually
  • Different sales platforms have very different and unique ways of handling stock management

Businesses tend to build systems to cope with these limitations, it's typical for businesses to either allocate portions of stock to each sales platform to avoid selling the same stock twice, or to quickly change the stock on every other sales platform upon recieving an order.

The trouble is that these systems are often inefficient, and very vulnerable to human error. If an employee forgets to mirror a sale on other platforms, the business may accidentally sell items they dont have, need to contact the person and make alternative arrangements. This opens the business to bad reviews, and wastes time.

Suitability & Sustainability of Computational Solutions to the Problem

Why is this task unsuitable for a human-oriented approach?

Human error is common even at the best of times. Retail businesses with a non-techy staff are likely to make a lot of mistakes and not adhere to the strict level of accuracy required to maintain a sustainable multi-channel store.

The labor involved is also very expensive, businesses would need to hire someone to spend all day waiting for a sale.


What problems might arise by using a computational approach?

As the target market of this project is not generally tech-savvy, when a problem arises users may find it hard to troubleshoot and/or fix. Thus it will be important to make the interface clear and easy to use.


How might a computational approach benefit the target market?

By using a computational approach for any deterministic and repetetive task businesses can save a lot of money on human labor. It is also far more reliable as computers don't deviate from well written instructions... (although tasks can fail/error)


How will computational methods be applied to this problem? (In general terms)

The project will be designed with a SaaS architecture in mind, for this reason, different functions of the project will be broken into seperate microservices, and the project overall will be stateless. This will make it more scalable and extensible. It will also make the project easier to maintain by compartmentalising dedicated functionality.

The project will utilise 'pipelining' techniques to allow greater concurrency on a user by user basis. Each user is self-contained, and is there is no sharing of data between users. Because of this, users' subroutines can be executed in parallel freely.


Research

Gathering and analysing data to better understand the market and the usefulness of the Project

Stakeholders

The project is targeted towards online/in person retail, however this category be divided into three categories that each have differing needs...

Small Retail Businesses

Small retail businesses' have simple needs, oftentimes there will be only rudimentary stock and product information recording systems, either paper based or on a spreadsheet. These businesses simply want a single place to record stock information and product information, and then to forget about it.

To meet this need, I should include a basic product and stock management interface which syncs changes to their sales-channels.


Medium Scale Retail Businesses

Medium scale businesses will likely have their own fairly robust methods for dealing with stock, however these methods will likely be bespoke, and based on their own technology.
Businesses at this scale will also likely be processing a much larger amount of orders in a smaller space and time, and will be sensitive to inconsistencies on a smaller timescale than smaller businesses...
E.g. A small business may not have any issue with products being inconsistent across sales-channels for 10 seconds after the order is made, however a medium sized one might.

To meet the first need I will create a plugin system for applying and receiving stock changes, this means that for every bespoke system, the business could pay a flat rate and have a custom integration written for their specific system.
To meet the differing timescale and accuracy needs of medium and small scale businesses, I will make the frequency of checks for changes configurable depending on the user.


Large Scale Retail Businesses

Large scale retail will likely have bespoke and robust systems for stock management over a multitude of locations, they will also likely have their own solutions in place for the problem of multi-channel stock management.
As the problem increases in scale, it becomes more and more difficult to deal with, as the slightest inaccuracy can result in faults. However, their systems may be inefficient or not user friendly, and they may be expensive to operate.
Larger businesses will also need to deal with conflicts and inconsistencies automatically, with minimal manual intervention.

Large retail businesses may also be concerned about storing confidential inventory information on a service that they have little control over.

In order to set myself apart from their own solution, my project should be user friendly, highly scalable at low cost, and must interface with their warehouse management software.
In order to automate conflict resolution, I could implement a plugin system for conflict resolution.

To mitigate data control concerns, a self-hosted option could be offered, that allows larger enterprises to operate a copy of the service on their own IT infrastructure.


Summary of Stakeholder Requirements

Overall my project should possess the following attributes/features:

  • Easy to use interface for stock management and conflict resolutions.
  • Plugin Support for bespoke sales-channels and stock records.
  • Plugin Support for conflict resolution.
  • Self-Hosted Deployment Options.
  • High degree of cheap horizontal scalability.

Working Notes (For my reference)

Statistics must show businesses wanting to get into online retail