# Get month-over-month rates from monthly releases of annual data

Many economic series are released monthly, but only as YoY (year-over-year) rates, that is, the change in an underlying index over the previous year, expressed in percentages. I wish to convert these releases into MoM (month-over-month) values, so that I can accurately recreate at least part of the underlying index. In the chart below, for example, I'm looking for the red line slope, given the two green line slopes, which would allow me to recreate the underlying index.

In R:

library("xts")
set.seed(212)
mm = (runif(24) - 0.3) / 100
idx = c(1, cumprod(mm + 1))
yy = rollapply(idx, 13, function(x) (x[13]/x[1]) - 1)


So given only yy, I would like to find the mm's, or at least the last 12 of them (or idx directly which is my ultimate goal). How do I go about this? Is it a big set of 12 simultaneous equations that I need to solve?

Note that though I have only drawn 2 YoY lines on the chart, I actually have all of the ones for the past 13 months (going back 12 months each time), and using them I'd like to calculate as many of the MoM values as possible.

Unfortunately, this cannot be done. To see this, imagine that we were to multiply every February entry in idx by some constant, say, 2. Then the MoM values will change (for February and March), but none of the YoY values will change. Therefore, from the YoY data alone the MoM data cannot be uniquely reconstructed -- not even the last 12 months.