The key to successful adoption of SOA is not only reusability but also the ease with which services can be developed, deployed and maintained in a service providing environment. One key guiding principles of SOA is implementation abstraction, that fosters complete encapsulation of implementations, exposing only the primitives as interaction points with the service. Granularity of service abstractions defines the different level of primitives exposed to prospective service consumers. The primitives being the only external representation for a service, their design is extremely important as the granularity not only determines the ease with which the services are identified, but also the ease with which services realization can be achieved. So far there has been no systematic approach to apply design principles such that right level of abstractions can be defined. We present a tool called Service Abstraction Threshold Estimator (SATE). Given the available implementation artifacts, SATE allows varying levels of primitives to be defined, elicits the complexity associated with different levels of primitives and provides a threshold estimation engine that displays the optimal level of abstraction that can be achieved in a given service development environment. We demonstrate SATE on a real-world example, and also evaluate SATE against design decisions taken by software architects. The results of our evaluation show that SATE can provide more accurate threshold estimations, and also helps in reducing the time and effort taken to maintain already developed services. © 2011 IEEE.