Retention or Conversion Rates is very important in data analyze.
It can be calculated from two dataset of two different value of one dimension. For example, we have an count distinct measure, like uv(dataset of uuid), and one dimension, like date, and the retention of uv between '20161015' and '20161016' is the intersection of two uv datasets.
Fortunately, we have implement dataset in Kylin, as bitmap, for precisely count distinct. Only an UDAF is needed to calculate intersection of two or more bitmaps.
I'll try on this and post patch later.