diff --git a/core/RankingQuery.php b/core/RankingQuery.php
index e72d76f1930251666dfc7754befdcf066ce87e81..70977f7d017d48320de2e299ddaeb54311398b2e 100644
--- a/core/RankingQuery.php
+++ b/core/RankingQuery.php
@@ -21,26 +21,26 @@ use Exception;
  *
  * The general use case looks like this:
  *
- * // limit to 500 rows + "Others"
- * $rankingQuery = new RankingQuery(500);
+ *     // limit to 500 rows + "Others"
+ *     $rankingQuery = new RankingQuery();
+ *     $rankingQuery->setLimit(500);
  *
- * // idaction_url will be "Others" in the row that contains the aggregated rest
- * $rankingQuery->addLabelColumn('idaction_url');
+ *     // idaction_url will be "Others" in the row that contains the aggregated rest
+ *     $rankingQuery->addLabelColumn('idaction_url');
  *
- * // the actual query. it's important to sort it before the limit is applied
- * $sql = 'SELECT idaction_url, COUNT(*) AS nb_hits
- *         FROM log_link_visit_action
- *         GROUP BY idaction_url
- *         ORDER BY nb_hits DESC';
- *
- * // execute the query
- * $rankingQuery->execute($sql);
+ *     // the actual query. it's important to sort it before the limit is applied
+ *     $sql = 'SELECT idaction_url, COUNT(*) AS nb_hits
+ *             FROM log_link_visit_action
+ *             GROUP BY idaction_url
+ *             ORDER BY nb_hits DESC';
  *
+ *     // execute the query
+ *     $rankingQuery->execute($sql);
  *
  * For more examples, see RankingQueryTest.php
  *
- *
  * @package Piwik
+ * @api
  */
 class RankingQuery
 {
@@ -90,8 +90,9 @@ class RankingQuery
     private $othersLabelValue = 'Others';
 
     /**
-     * The constructor.
-     * Can be used as a shortcut for setLimit()
+     * Constructor.
+     * 
+     * @param int|false $limit The result row limit. See [setLimit](#setLimit).
      */
     public function __construct($limit = false)
     {
@@ -101,9 +102,9 @@ class RankingQuery
     }
 
     /**
-     * Set the limit after which everything is grouped to "Others"
+     * Set the limit after which everything is grouped to "Others".
      *
-     * @param $limit int
+     * @param int $limit
      */
     public function setLimit($limit)
     {
@@ -113,7 +114,7 @@ class RankingQuery
     /**
      * Set the value to use for the label in the 'Others' row.
      *
-     * @param $value string
+     * @param string $value
      */
     public function setOthersLabel($value)
     {
@@ -124,7 +125,7 @@ class RankingQuery
      * Add a label column.
      * Labels are the columns that are replaced with "Others" after the limit.
      *
-     * @param $labelColumn string|array
+     * @param string|array $labelColumn
      */
     public function addLabelColumn($labelColumn)
     {
@@ -141,8 +142,8 @@ class RankingQuery
      * Add a column that has be added to the outer queries.
      *
      * @param $column
-     * @param string|bool $aggregationFunction string
-     *         If set, this function is used to aggregate the values of "Others"
+     * @param string|bool $aggregationFunction If set, this function is used to aggregate the values of "Others",
+     *                                         eg, `'min'`, `'max'` or `'sum'`.
      */
     public function addColumn($column, $aggregationFunction = false)
     {
@@ -156,13 +157,13 @@ class RankingQuery
     }
 
     /**
-     * The inner query can have a column that marks the rows that shall be excluded from limiting.
-     * If the column contains 0, rows are handled as usual. For values greater than 0, separate
-     * groups are made. If this method is used, generate() returns both the regular result and
-     * the excluded columns separately.
+     * Sets a column that will be used to filter the result into two categories.
+     * Rows where this column has a value > 0 will be removed from the result and put
+     * into another array. Both the result and the array of excluded rows are returned
+     * by [execute](#execute).
      *
-     * @param $column string  name of the column
-     * @throws Exception when method is used more than once
+     * @param $column string Name of the column.
+     * @throws Exception if method is used more than once.
      */
     public function setColumnToMarkExcludedRows($column)
     {
@@ -175,16 +176,21 @@ class RankingQuery
     }
 
     /**
-     * This method can be used to get multiple groups in one go. For example, one might query
-     * the top following pages, outlinks and downloads in one go by using log_action.type as
-     * the partition column and [TYPE_ACTION_URL, TYPE_OUTLINK, TYPE_DOWNLOAD] as the possible
-     * values.
-     * When this method has been used, generate() returns as array that contains one array
-     * per group of data.
+     * This method can be used to parition the result based on the possible values of one
+     * table column. This means the query will split the result set into other sets of rows
+     * for each possible value you provide (where the rows of each set have a column value
+     * that equals a possible value). Each of these new sets of rows will be individually
+     * limited resulting in several limited result sets.
+     * 
+     * For example, you can run a query aggregating some data on the log_action table and
+     * partition by log_action.type with the possible values of [TYPE_ACTION_URL](#),
+     * [TYPE_OUTLINK](#), [TYPE_DOWNLOAD](#). The result will be three separate result sets
+     * that are aggregated the same ways, but for rows where `log_action.type = TYPE_OUTLINK`,
+     * for rows where `log_action.type = TYPE_ACTION_URL` and for rows `log_action.type = TYPE_DOWNLOAD`.
      *
-     * @param $partitionColumn string
-     * @param $possibleValues array of integers
-     * @throws Exception when method is used more than once
+     * @param $partitionColumn string The column name to partion by.
+     * @param $possibleValues Array of possible column values.
+     * @throws Exception if method is used more than once.
      */
     public function partitionResultIntoMultipleGroups($partitionColumn, $possibleValues)
     {
@@ -198,13 +204,15 @@ class RankingQuery
     }
 
     /**
-     * Execute the query.
+     * Executes the query.
      * The object has to be configured first using the other methods.
      *
-     * @param $innerQuery string  The "payload" query. The result has be sorted as desired.
+     * @param $innerQuery string  The "payload" query that does the actual data aggregation. The ordering
+     *                            has to be specified in this query. [RankingQuery](#) cannot apply ordering
+     *                            itself.
      * @param $bind array         Bindings for the inner query.
      * @return array              The format depends on which methods have been used
-     *                            to configure the ranking query
+     *                            to configure the ranking query.
      */
     public function execute($innerQuery, $bind = array())
     {
@@ -254,11 +262,13 @@ class RankingQuery
 
     /**
      * Generate the SQL code that does the magic.
-     * If you want to get the result, use execute() instead. If you're interested in
-     * the generated SQL code (e.g. for debugging), use this method.
+     * If you want to get the result, use execute() instead. If you want to run the query
+     * yourself, use this method.
      *
-     * @param $innerQuery string  SQL of the actual query
-     * @return string             entire ranking query SQL
+     * @param $innerQuery string  The "payload" query that does the actual data aggregation. The ordering
+     *                            has to be specified in this query. [RankingQuery](#) cannot apply ordering
+     *                            itself.
+     * @return string             The entire ranking query SQL.
      */
     public function generateQuery($innerQuery)
     {
@@ -362,4 +372,4 @@ class RankingQuery
 			END
 		";
     }
-}
+}
\ No newline at end of file