Discounted cumulative gain
Discounted cumulative gain (DCG) is a measure of ranking quality for a given query; Normalized DCG (nDCG or NDCG) is a measure of ranking quality independent of the particular query. In information retrieval, they are often used to measure effectiveness of search engine algorithms and related applications. Using a graded relevance scale of documents in a search-engine result set, DCG measures the usefulness, or gain, of a document based on its position in the result list. The gain is accumulated from the top of the result list to the bottom, with the gain of each result discounted at lower ranks. The normalized version corrects for the fact that different queries may have different numbers of relevant results. Overview 

Two assumptions are made in using DCG and its related measures. Highly relevant documents are more useful when appearing earlier in a search engine result list (have higher ranks)
 Highly relevant documents are more useful than marginally relevant documents, which are in turn more useful than non-relevant documents. Cumulative Gain 

DCG is a refinement of simpler measure, Cumulative Gain (CG). Cumulative Gain is the sum of the graded relevance values of all results in a search result list. CG does not take into account the rank (position) of a result in the result list. The CG at a particular rank position  is defined as:

Where  is the graded relevance of the result at position . The value computed with the CG function is unaffected by changes in the ordering of search results. That is, moving a highly relevant document  above a higher ranked, less relevant, document  does not change the computed value for CG (assuming ). Based on the two assumptions made above about the usefulness of search results, (N)DCG is usually preferred over CG. Cumulative Gain is sometimes called Graded Precision. Discounted Cumulative Gain 

The premise of DCG is that highly relevant documents appearing lower in a search result list should be penalized as the graded relevance value is reduced logarithmically proportional to the position of the result. The usual formula of DCG accumulated at a particular rank position  is defined as:

Previously there was no theoretically sound justification for using a logarithmic reduction factor other than the fact that it produces a smooth reduction. But Wang et al. (2013) gave theoretical guarantee for using the logarithmic reduction factor in Normalized DCG (NDCG). The authors show that for every pair of substantially different ranking functions, the NDCG can decide which one is better in a consistent manner. An alternative formulation of DCG places stronger emphasis on retrieving relevant documents:

The latter formula is commonly used in industry including major web search companies and data science competition platforms such as Kaggle. These two formulations of DCG are the same when the relevance values of documents are binary; . Note that Croft et al. (2010) and Burges et al. (2005) present the second DCG with a log of base e, while both versions of DCG above use a log of base 2. When computing NDCG with the first formulation of DCG, the base of the log does not matter, but the base of the log does affect the value of NDCG for the second formulation. Clearly, the base of the log affects the value of DCG in both formulations. Normalized DCG 

Search result lists vary in length depending on the query. Comparing a search engine's performance from one query to the next cannot be consistently achieved using DCG alone, so the cumulative gain at each position for a chosen value of  should be normalized across queries. This is done by sorting all relevant documents in the corpus by their relative relevance, producing the maximum possible DCG through position , also called Ideal DCG (IDCG) through that position. For a query, the normalized discounted cumulative gain, or nDCG, is computed as:

,

where IDCG is ideal discounted cumulative gain, 

and  represents the list of relevant documents (ordered by their relevance) in the corpus up to position p.

The nDCG values for all queries can be averaged to obtain a measure of the average performance of a search engine's ranking algorithm. Note that in a perfect ranking algorithm, the  will be the same as the  producing an nDCG of 1.0. All nDCG calculations are then relative values on the interval 0.0 to 1.0 and so are cross-query comparable. The main difficulty encountered in using nDCG is the unavailability of an ideal ordering of results when only partial relevance feedback is available. Example 

Presented with a list of documents in response to a search query, an experiment participant is asked to judge the relevance of each document to the query. Each document is to be judged on a scale of 0-3 with 0 meaning not relevant, 3 meaning highly relevant, and 1 and 2 meaning "somewhere in between". For the documents ordered by the ranking algorithm as

the user provides the following relevance scores:

That is: document 1 has a relevance of 3, document 2 has a relevance of 2, etc. The Cumulative Gain of this search result listing is:

Changing the order of any two documents does not affect the CG measure. If  and  are switched, the CG remains the same, 11. DCG is used to emphasize highly relevant documents appearing early in the result list. Using the logarithmic scale for reduction, the DCG for each result in order is:

So the  of this ranking is:

Now a switch of  and  results in a reduced DCG because a less relevant document is placed higher in the ranking; that is, a more relevant document is discounted more by being placed in a lower rank. The performance of this query to another is incomparable in this form since the other query may have more results, resulting in a larger overall DCG which may not necessarily be better. In order to compare, the DCG values must be normalized. To normalize DCG values, an ideal ordering for the given query is needed. For this example, that ordering would be the monotonically decreasing sort of all known relevance judgments. In addition to the six from this experiment, suppose we also know there is a document  with relevance grade 3 to the same query and a document  with relevance grade 2 to that query. Then the ideal ordering is:

The ideal ranking is cut again to length 6 to match the depth of analysis of the ranking:

The DCG of this ideal ordering, or IDCG (Ideal DCG) , is computed to rank 6:

And so the nDCG for this query is given as:

Limitations 
 Normalized DCG metric does not penalize for bad documents in the result. For example, if a query returns two results with scores  and  respectively, both would be considered equally good even if the latter contains a bad document. For the ranking judgments  one might use numerical scores  instead of . This would cause the score to lower if bad results are returned, prioritizing the precision of the results over the recall. Note that this approach can result in an overall negative score which would shift the lower bound of the score from  to a negative value. Normalized DCG does not penalize for missing documents in the result. For example, if a query returns two results with scores  and  respectively, both would be considered equally good, assuming ideal DCG is computed to rank 3 for the former and rank 5 for the latter. One way to take into account this limitation is to enforce fixed set size for the result set and use minimum scores for the missing documents. In previous example, we would use the scores  and  and quote nDCG as nDCG@5. Normalized DCG may not be suitable to measure performance of queries that may often have several equally good results. This is especially true when this metric is limited to only the first few results as it is done in practice. For example, for queries such as "restaurants" nDCG@1 would account for only the first result and hence if one result set contains only 1 restaurant from the nearby area while the other contains 5, both would end up having the same score even though the latter is more comprehensive. See also 
 Evaluation measures (information retrieval)
 Learning to rank

References 

Information retrieval evaluation