Please keep in mind that ibdata1 is the system tablespace. It is home of the InnoDB Infrastructure. Here are the following classes of information stored in ibdata1.

- Table Data Pages (if [**innodb_file_per_table**][1] disabled)
- Table Index Pages (if [**innodb_file_per_table**][2] disabled)
- Data Dictionary (Tablespace IDs, Logical-to-Physical Mapping to Tables)
- Double Write Buffer (Handles Data Redundancy to Support Crash Recovery)
- Insert Buffer (Handles Updates to Secondary Indexes)
- Rollback Segments (Manages Reverse Engineering of Uncommitted Transactions)
- Undo Space (Containers of Information for Rollback Operations)
- [Click to See Pictorial Representation of the InnoDB Infrastructure][3]

As you can see, ibdata1 has a lot of moving parts. The fastest growing section of ibdata1 would be the undo space, especially when there are a lot of read transactions and a few write transactions. 

Please read me past posts on doing InnoDB Cleanup:

- `Oct 29, 2010` : [Howto: Clean a mysql InnoDB storage engine?][4]
- `Nov 26, 2011` : https://dba.stackexchange.com/questions/8411/error-1114-hy000-at-line-6308-in-file-the-table-user-analysis-is-full/8412#8412
- `Mar 25, 2012` : https://dba.stackexchange.com/questions/15531/why-does-innodb-store-all-databases-in-one-file/15542#15542
- `Jun 19, 2012` : https://dba.stackexchange.com/questions/21134/whether-a-big-but-not-used-ibdata1-slow-anything-down/21195#21195
- `Jan 07, 2013` : https://dba.stackexchange.com/questions/31545/database-space-doesnt-match-ibdata1-size/31554#31554


  [1]: http://dev.mysql.com/doc/refman/5.6/en/innodb-parameters.html#sysvar_innodb_file_per_table
  [2]: http://dev.mysql.com/doc/refman/5.6/en/innodb-parameters.html#sysvar_innodb_file_per_table
  [3]: http://www.scribd.com/doc/31337494/XtraDB-InnoDB-internals-in-drawing
  [4]: http://stackoverflow.com/a/4056261/491757