I am working for a company that manufactures windows.
The project timeline looks like this:
1. A potential customer calls for tenders
2. We then hand in a proposal/offer which matches the specifications
3. Ideally, we are accepted
4. The windows are produced
Now between 1 and 4, things can change.
1. The client requests different windows, window catches, glass, color, what not
--> This is pretty straight forward, details will change, sizes will change, etc.
2. Windows are taken apart to produce them more efficiently:
--> Example graphics below:
1.
In this one: The window is offered as a connected two-piece but both windows will be produced individually and then put together later in the process. Now it could be that we have also offered this window:
In that case, the first half on the left will be produced as one position but the two right positions will be produced individually.
2.
A more complex situation:
Here the entire window will be offered as one piece but will be produced in four different pieces.
I hope you get the point.
So, now starting with the actual software part:
Basically right now after every project is finished, there is someone who has to compare offer to actual. This can be a tedious process because he has to go through the data and compare and see where something changed, etc.
The thing is, it is not really smart work but just tedious and inefficient. We have all the data in databases there is nothing manual to be done besides figuring out which position in the offer belongs to which position in the production.
To me, this could all be solved with an algorithm. But I am uncertain as to how much time (essentially money) it would cost and how easy this would be to execute.
I, myself, have interest in learning more about data analysis, algorithms and the like. The company has a wealth of data that is currently more or less not used for analysis.
Trying to sum up what I am looking for:
- Difficulty to write an algorithm that does the comparison
- Starting points to learn more about algorithms
- Required programming languages (currently the company operates almost exclusively on Microsoft Office + VBA and SQL databases)
- General insight into algorithms, tips on how to think and structure one, etc.
I hope this all makes sense