Service-oriented architecture (SOA) is rapidly becoming one of significant computing paradigms. However as the increasing of services, haphazardly of service definition makes it tedious and less efficient for service discovery. In this paper, we propose a novel context model "SPOT" to express services usage information. Based on SPOT definition, we build services' collaboration graph and propose to analyze collaboration structure to rank services by their usage goodness. The distinctive feature of our method lies on the introducing of services context model which is a new model to deal with service context information, and integrating it for supporting service search. Our experimental results indicate that: our context-based ranking is useful for good services recommendation; services' context makes up for service description heterogeneity and can help to distinguish content-"similar" services.