Once that is understood, you will need to look up the data structures sent over the network, especially blocks, transactions, accounts and storage. Accounts refer to both externally owned and contract accounts, the latter with contract code. Storage refers to contract storage.
Back to the point of data analysis
You might be better off building a traditional NoSQL or SQL database if you want to have quick lookups about any transactions done by an account or contract. What the chaindata is optimised for is validating transactions and maintaining a valid state, and not so for historical lookups.