Run this query on both your dev and prod system and post the results:

select table_name, partitioned, num_rows, degree, last_analyzed from dba_tables where table_name in ('CONTRACT_TRANS', 'CONTRACT_TRANS_GROUP' )
order by last_analyzed

Secondly, flush your shared pool or remove the query in question from
memory. Once that is done, and add an index hint to your query and see
if that forces the query to use the index.