Collective intelligence (CI) is an emerging research field that seeks to merge human and machine intelligence, with an aim to achieve results unattainable by either one of these entities alone. CI systems may significantly vary in nature, from collaborative systems, like open source software development communities, to competitive ones, like problem-solving companies that benefit from the competition among participating user teams to identify solutions to various R&D problems. The advantages that CI systems earn user communities, together with the fact that they share a number of basic common features, provide the potential for designing a general methodology for their efficient modeling, development and evaluation. In this paper we describe a modeling process which identifies the common features, as well as the main challenges that the construction of generic collective intelligence systems poses. First a basic categorization of CI systems is performed, followed by a description of the proposed modeling approach. This approach includes concepts such as the set of possible user actions, the CI system state and the individual and community objectives, as well as a number of necessary functions, which estimate various parameters of the CI system, such as the expected user actions, the future system state and the level of objective fulfillment. Finally, based on the proposed modeling approach, certain current CI systems are described, a number of problems that they face are identified and specific solutions are suggested. The proposed modeling approach is expected to promote more efficient CI system design, so that the benefit gained by the participating community and individuals, will be maximized.