Quick Productivity Wins for your SMB
Times are hard!
Explore Digital is a small business – not unlike YOUR business – with all the challenges which come from the current lack of skilled labour and impacted free cash flows –
Your staff are feeling overworked - as you may have had to let people go during the pandemic for the business to survive... consequently, the remaining people had to take on even more tasks
Motivation may be down - everyone is effectively doing more work for the same pay (if you factor in our 7.3% inflation rate, they might be earning even less in ‘real’ terms)
Impacted Free Cash flows – sales have been patchy due to the pandemic, and all your input costs have increased (electricity, fuel, gas, wages…); with costs increasing over the next year (especially electricity and gas), things are going to get worse, so there’s little money left over to cover ‘optional extras’ like training or investing in non-core items like business innovation.
And before you start thinking you are alone in this, according to the Australian Dept of Treasury - on lower productivity - “Australian firms are falling further behind” - refer here for a very interesting read…
Productivity = Total Output divided by people
Looking at the root cause – we suggest this is a crisis in productivity.
Productivity in business essentially means how much you produce divided by number of employees (or total hours worked, products built, services performed etc. - each business will have its own measure – I’m sure you get the idea...)
With the above resource issues, the total output of your business has likely fallen, as has probably the number of resources/people creating that output. If less people maintain the same level of output, productivity might in fact be higher, but at the potential cost of staff burnout, work dissatisfaction, and resultant lower retention rates… as your overworked people decide they have simply had enough! A very real catch-22 situation (a good example of this, albeit on a much larger scale, please refer to the current Twitter debacle!).
So what can YOU, as the Business Owner/Manager, do about it?
Using the above formula, productivity can be increased in a few ways:
Increased Productivity = Increasing the total output of your business / (same headcount)
Increased Productivity = Produce the same total output of your business / (lower headcount)
On the other hand, low productivity causes stagnation. It costs your business through reduced efficiency and often means that your employees are not engaged with their work.
Below we outline how we identified the primary causes of our productivity issues with the new Online store, and then quickly developed an inexpensive open-source software solution to introduce automation to save significant amounts of time AND with the additional benefit of new sources of business/competitive intelligence.
Understand the problem first
In early 2022 Explore Digital invested a lot of time and energy into becoming a specialist partner with Microsoft in Modern Work solutions and to become an ‘Authorised Device Reseller’ for Microsoft Surface for Business devices (not the consumer line you can pick up at any of the big-box warehouses whilst buying a toaster, but business focussed devices with Windows Professional pre-installed for better security and manageability, and better warranties like advanced exchange and next business day onsite repair/replacement etc.).
We then built a website (www.exploresurface.com.au) to “digitally enable” our sales and fulfilment process, allowing clients to browse our online catalogue of devices and accessories, and then purchase them with direct shipment via Microsoft Distributor’s warehouses. The benefit to the Explore Digital business was a storefront that almost runs itself, and speedy delivery directly from our Distributor to the end customer with minimum manual handling by us – i.e. a digital business!
Reality, however, was different to what we expected/intended…
Whilst building the store (in Squarespace) and connecting the online payment processing (via Stripe) was straightforward, although initially time-consuming, we found the online store maintenance to be a HUGE imposition. Upkeep of the stock information within the store was extremely time-consuming - with multiple products needing constant price changes due to discounting at Microsoft (we are contractually mandated to maintain the same price as Microsoft on our website), followed by global supply chain issues affecting stock levels which were changing several times during the day. The result was at least 2, sometimes 3 hours a day being spent manually monitoring price/stock changes, and then editing these changes within the inventory module in the back end of the website… that worked out to be about 1.5 days a week in LOST productivity (or 2 hours x 30 days, i.e. 60 hours a month!). And with more stock SKUs being added each month, and some needing removal from the store as they became EOL, we realised that this was going to rapidly become unsustainable.
Start with some practical steps for quick wins
To cut a long story short – we leveraged our background in process reengineering to evaluate each step of the processes involved, and then pushed the digital business envelope a little further by automating the time-consuming aspects of these processes wherever possible.
As a result we:
Cut the time spent per day maintaining product pricing and stock levels on the website down from 2 hours to under 2 minutes
Now automatically run the stock updating process every hour, 24 hours a day x 7 days a week
Improved data quality by significantly reducing the amount of manual processing
By looking at the end-to-end processes involved in maintaining the online store, we were able to identify which parts of the process were performed by repetitive actions vs. those requiring more creative thought (e.g. adding a new product to the store, along with some compelling graphics and a promotion page etc.). We identified the main time-consuming culprits to be:
Downloading the price and stock levels from the distributor,
Massaging the data in Microsoft Excel and identifying required changes (HEAPS of time spent here…),
Calculating buy/sell prices and required margins (LOTS of ERRORS made here…),
Updating price, and stock levels within the online store (LOTS of ERRORS made here…), and finally
Reconciling products, price, and stock within the Online Store with offline systems (HEAPS of time spent here… detecting/fixing LOTS OF ERRORS!).
As a result of automating the process, we were also able to perform the updating process as many times as we wanted, at any time of the day (we settled on every hour as that matched our distributors product/price/stock update cadence).
With the hourly stock/pricing data being captured within a ‘big data’ repository (i.e., SQLite database), we were also able to gain previously unavailable business and competitive intelligence such as:
Hot items - SKUs that were selling well (by using stock level movements up/down as a proxy)
Detecting stock outs - actual, or downward trends in stock quantities indicating a potential stock out
Detecting EOLs - downward trends in stock quantities indicating a possible EOL announcement
Detecting price increases - which allowed us to increase our prices and maintain our margins
Detecting cost decreases (channel promotions) - which allowed us to market these specific products for increased margins
Detecting and alerting for ‘discount triggers’ – pricing signals indicating that our competitors were discounting certain product lines, allowing us to then react quickly.
Productivity gains achieved!
Within a short period of time, and at very little cost (effectively only our Python development time), we were able to regain an amazing 60 hours per month (2 hours x 30 days per month) that someone at our company would have had to otherwise spend on Online Store maintenance.
How did we ‘magically’ achieve l this?
Magic is not the right word – the correct word is “Python” – and its like a magician’s bag of tricks!
As per Wikipedia, Python is a high-level, general-purpose programming language.
‘General purpose’ is too broad a term, instead, you could consider it from the practical perspective of a tool for automating tasks. Python obviously does a lot more than automation - see below for some other ideas on where it can be used – but when dealing with ‘productivity problems’, it’s a great solution worth considering if doing more with less is your goal!
The key benefits of Python include:
Python is completely free - Python is developed under an OSI-approved open-source license, making it freely usable and distributable, even for commercial use. Python's license is administered by the Python Software Foundation.
It runs on almost any computer – The hardware/software overhead is quite minimal (almost any old laptop/PC with Intel i5 CPU, 4GB RAM and 1GB Disk is fine with Windows or Linux Operating system); requirements may be higher depending on complexity of your solution, but this would suit most general situations, and you can easily move your Python setup to a more powerful computer if your needs grow beyond current hardware. A huge variety of operating systems are also support running Python - Windows, macOS, Linux/UNIX, and many others.
It is extensible - Python can be extended from a selection of thousands of free libraries depending on your needs (see more info here) – be it web connectivity, data analysis, artificial intelligence/machine learning or more – and almost all libraries operate under an open-source license, free of charge!
Free community support - there is a significant support community (a lot of the things we did had poor documentation and little python sample scripts available, so the python geeks out there were a major help – at no cost!). Python is developed by the community and supported by those very same people.
Easy to learn – Python is quick to learn (there’s a lot of very cheap/free online courses).
Having some prior experience in programming with Python to digitise and then automate processes within a large corporate library management system (see our whitepaper here for details), picking up Python for this specific usage came quite quickly.
Quick wins!
Within a very short period of time (about a day or so of actual development) we had built a working prototype which connected to our distributor’s systems (via their RESTful APIs), downloaded the data (directly into Microsoft 365 Excel worksheets), manipulated the pricing data (inserting our business logic via a set of standardised excel formulas directly into our Excel worksheets for things like margin %, adding flags for SKUs with low stock levels etc.), uploading prices and stock levels to our store (via the Squarespace eCommerce RESTful APIs), and finally downloading our complete store inventory details for quality assurance processing (again some Microsoft Excel 365 worksheets).
Other uses for Python?
Python can be used for automating file or folder management, generating reports from data stored in a database, monitoring logs on your servers, and many other things. The below list is but a small sample:
Automate social media posts - Automate posting across your social media accounts to save time and keep your messaging consistent and on-brand.
Automate email marketing campaigns - Automate the creation and maintenance of your email marketing lists, send emails and track campaign effectiveness.
Automate website tasks - Automate tasks on your website (like our example above), ‘scrape’ information from other sites, including your competitors!
Generate reports with Python’s data analysis capabilities - Automate data analysis tasks - saving you time and improving the effectiveness of your decision-making efforts.
Automate regular tasks - Automate processes like checking for broken links on your website, monitoring network devices, copying files between cloud providers or local to cloud etc.
Automate tasks within Microsoft 365 apps - Use Python to automate tasks like data entry, formatting spreadsheets, generating presentations, archiving documents, generate expense reports etc. Unlike spreadsheets, which are difficult to maintain, often contain hidden formula errors, and come with very little, or no documentation to describe how it all hangs together, Python is easily readable - data sources are clearly defined, business logic is plain to see, test, and maintain, and output can be directed to almost any target (an Excel or CSV file, another python file for further processing, an internal/external API, or a Web site).
Robotic Process Automation (RPA) – use Python to ‘interact’ with older applications lacking more modern capabilities (like API connectivity) – allowing for automating repetitive tasks like automated data entry, or migrating data in bulk from an older application into a more modern replacement where the ability to export data may not be possible/available in the older application.
Intelligent Process Automation (IPA) – use Python for things like reading a large folder of scanned invoices, using OCR to ‘read’ the text from each invoice, ‘learning’ where product lines are located (e.g. stock code, item description, quantity, unit price, total price), and then ‘scraping’ that data and saving it to an Excel file or database for further processing. Unlike RPA which tends to focus on automating repetitive tasks and rules-based processes, IPA incorporates artificial intelligence (AI) technologies like machine learning, natural language processing, structured data interaction, and intelligent document processing which caters better with by learning and adapting to changes to data in real-time (something RPA is simply unable to deal with).
Summary
The above is just a small sample of the wide and varied things you can do with Python – in this case as a tool to help you to increase the productivity of your business by helping your people do more with less and perhaps giving them back the time to do more interesting things which might help to keep them engaged and happier at work… !
A journey of a thousand miles can begin if you take that next step!
If you need help with business process or task automation, please do not hesitate to contact us – even if it’s something really small (indeed, that first step!).
And if you are not sure where to start, we would be happy to assist you to unpack and understand your current business or technology problems/opportunities and then evaluate and test potential solutions. All completely independent and confidential!
Please feel free to reach out to us HERE for an obligation-free chat.