Many researchers try to make a comparison between various IoT platforms based on specific requirements. However, none of the reviewed studies proposed a thorough analysis of the variety of comparative methods. Since there is a lack of comparison frameworks for IoT platforms, individuals or companies have difficulties when selecting a suitable IoT platform matching their associated business requirements. In order to support this selection process, a set of functional and non-functional requirements is identified. A framework containing methods in selecting an IoT platform is presented. The methodology is based on statistical and visualization techniques to recommend a suitable IoT platform. Five IoT platforms: Azure, AWS, SaS, ThingWorx, and Kaa IoT are studied to evaluate the performance of the framework. Different comparison methods are proposed, and multi-criteria decision analysis method was applied by using an Analytical Hierarchical Process (AHP). One of the methods clusters the functional requirements and compares the IoT platforms based on their ability in supporting a specific requirement or not. K-means clustering was applied to determine the clusters of functional requirements. The comparison was made based on hierarchical level of requirements per main requirement. The other methods use the following statistical tests: Error Bar test, One-way Anova Test, and Tukey's Honest Significant Difference Test. Based on the selected requirements, an approach is suggested which IoT platform can be used.