Oracle MODEL clause giving unusual output
The computed dimension expressions are false.
PAID_MM is a string (e.g. '03') but CV(PAID_MM)-1 is a number (e.g. 2, which is different from '02'), therefore you get NULL for your expressions, unless CV(PAID_MM)-1 has more than 1 digit and then you have no leading '0' to loose.

Here is working code which uses to_char(CV(PAID_MM)-1,'FM00')  instead of CV(PAID_MM)-1:

SELECT 
  PAID_MM, 
  TOTAL_AMOUNT, 
  TRUNC(AMT_VAR*100, 2) AS VARIAN
FROM 
  AGNT_PAID_SUMM
MODEL RETURN UPDATED ROWS
DIMENSION BY (PAID_MM)
MEASURES (AMT_VAR, TOTAL_AMOUNT)
RULES 
(
AMT_VAR [PAID_MM] = ((TOTAL_AMOUNT[CV(PAID_MM)] - TOTAL_AMOUNT[to_char(CV(PAID_MM)-1,'FM00')])/TOTAL_AMOUNT[to_char(CV(PAID_MM)-1,'FM00')])
)
ORDER BY PAID_MM




+---------+--------------+--------+
| PAID_MM | TOTAL_AMOUNT | VARIAN |
+---------+--------------+--------+
| 01      | 308.13       | (null) |
+---------+--------------+--------+
| 02      | 284.94       | -7.52  |
+---------+--------------+--------+
| 03      | 449.38       | 57.71  |
+---------+--------------+--------+
| 04      | 405.75       | -9.7   |
+---------+--------------+--------+
| 05      | 318.13       | -21.59 |
+---------+--------------+--------+
| 06      | 666.02       | 109.35 |
+---------+--------------+--------+