## Inspiration

Our inspiration was the out of stocks issues and giving an instantaneous (<30 seconds) ALERT when out of stock.

We set ourselves a $20 budget/unit on the mass scale build-out.  We also had the self imposed requirement of designing something using commercial off the shelf parts that are robust and reliable.

We set ourselves a goal of using technology that would work for 80% of cooler locations. Ethernet and wifi are not ubiquitous however GSM cellular communication covers a majority of the world. This would allow for metric consistency across the supply chain.

Our goal was after loading according to planogram, which Coca Cola says is accurate and is enforced with monetary incentives.

(each cooler has its own planogram) and telling the cooler to pull its configuration from a database(same configuration as the planogram) that will collect "good enough" data could be gathered with minimal manual intervention.



## What it does

This currently uses one limit switch and the gravity fed drink holder to detect if there are still drinks present.


## How we built it

We modified one of the drink trays with a limit switch and its holder.


## Challenges we ran into

The drinks don't always slide consistently. The spring loaded cooler rack, if one of those was modified, would completely solve this issue.

Two days is a short amount of time to have a functioning prototype that counts drinks remaining and out of stocks. Success!!


## Accomplishments that we're proud of

We have functioning data reporting along with simple error detection (if a drink bounces when it hits the limit switch).

There are 7  left in bay 3

There are 7  left in bay 3

There are 6  left in bay 3

There are 5  left in bay 3

There are 5  left in bay 3

There are 5  left in bay 3

There are 4  left in bay 3

There are 3  left in bay 3

There are 2  left in bay 3

There are 2  left in bay 3

There are 2  left in bay 3

There are 1  left in bay 3

Detected bounce, forgetting to subtract

There are 1  left in bay 3

There are 0  left in bay 3

Bay 3 Empty

Achieved basic data collection with a functioning Finite State Machine.


## What we learned

How to "debounce" a signal. Timings on a microcontroller. State Machine drawing and state machine algorithm creation.


## What's next for Modular outstock sensor w/ data reporting&forecasting

1. Increase the modularity of the unit with shift registers still using an analog input. OR create a bus interface to allow mass expansion. We like method 2.


Data Quality increase

2. Using the bottom limit switch and front limit switch together to detect: pickup, vs replacement(which gets hit or released first).


3. Advanced error detection:

3.1 A drink was pulled and put back within (x time) -readd to stock

3.2 A drink was pulled and placed in the wrong bay within (x time) loaded wrong error

3.3 Something was placed on track outside of that (x time) to detect improper cooler usage. e.g. sandwich error


4. Network connectivity via cellular communication:

4.1. Database with stats unique to each cooler.

4.2 Network alerts so that an immediate notification when out of stock


5. Data analysis - Once data has been collated in a central location

5.1 Basic analysis:

 Cooler#00000000 is estimated to be sold out of SKU[N] in [I] hours.

Cooler#00000000 is estimated to be sold out of SKU[X] in [Z] hours.

Cooler#00000001 is estimated to be sold out of SKU[N], SKU[X] in [T] hours.


Cooler#00000000 on tuesdays-thursday coke classic sells out while coke zero doesn't sell more than a few. It is recommended that you reduce the # of coke zero bays by algorithmically determined value and replace it with most frequently sold out on tuesday-thursday drink.

Cooler#00000000 on saturday coke classic does not sell more than 50% while sprite, minute maid, and water all sell out. It is recommended that you reduce the # of coke classic bays by algorithmically determined value and replace bays 4, 5,6 with: sprite, minute maid, and water.

Cooler#00000001 never sells more than 50% of any items on current restocking schedule. It is recommended, unless Cooler#00000036 (...nearby cooler list[n]) is being restocked.


Cooler#00000000 sells out of sku x. It is recommended to add sku to nearby cooler list[n]


6. Data forecasting


Various numerical methods (such as Gaussian modeling and analysis, the Fourier transform) will be employed to sift through the data, minimizing data noise and validating predictive power of said data.


The Fourier Transform

The same mathematics employed by Shazam and Soundhound for music detection will be used to extract hidden periodic information from the aggregate sales data of various chunks of the cooler network, which will then be used to appropriately inform warehouses on the amount and variety of product they should get at a given instance in time.

Gaussian modeling and analysis

This will be applied chiefly to values pertaining to restock performance, and subsequently to plan delivery with statistical validity. Depending on stringency of models, 95% of out-of-stock gaps can be closed, thus increasing product sales.


The plan is to iteratively refine the data, improving its statistical validity over time, with an end game involving making predictions with more and more data.


Thank you, Team Iudicium

Built With

  • 10k-ohm-resistors
  • 22-gauge-wire
  • arduino
  • embedded-processor-(arduino-test-bed)
  • limit-switches
Share this project: