Analyzes existing system and programming logic to provide more efficient machine operations or to identify difficulties, and revises the logic and procedures involved as necessary Performs analytical data discovery and to reveal value-added insight through better understanding of data by working on ad-hoc and reoccurring analyses