clients / case studies / businesses

General Motors


To improve decision-making within a highly complex parts purchasing process


A database-backed Perl intranet application for supply chain analysis that automatically adapts to a dynamic market



GM rapidly needed a prototype system to determine how year-upon-year savings could be calculated on its parts purchasing process. If the system was able to demonstrate its capabilities accurately and reliably, it would be adapted to a more scalable version of the same. This presented a number of challenges including the sheer volume of real-time data, daily fluctuations in multi-national currency values and the changing nature of parts data. For example, when a supplier’s business changes certain parts may become integrated with parent parts, while other parts may split into subcomponent parts. Also, certain parts may become obsolete and unavailable and need to be replaced with the correct substitute parts.

Working closely with GM and a management consulting firm, the Ephibian team carefully analyzed the GM supplier and parts data structure and developed a prototype model for the system. Once it was demonstrated that the prototype worked beyond GM’s original expectations, work was subsequently completed on a production implementation.

What did we do?

  • Designed and built a prototype application that calculates the true spend and actual savings on parts purchasing
  • System incorporates automated accounting for fluctuations in:
    • Parts nomenclature (for example, parts categories merging into parent part categories, or being subdivided into new categories)
    • Relative multi-national currency value fluctuations

How did we do it?

  • Built the prototype with Microsoft Access and Visual Basic to integrate with a subset of the data to prove the presented concept
  • Built the production system in Perl and securely integrated it with GM’s full parts DB2 database


More accurate analysis, more intelligent purchase decisions, and reporting with traceability for auditing purposes