I am making an OO design for an app. So far I've come with this, I looks like it could work, but I am not sure of correctness of its design.
EDIT
Okay so, I used factory pattern, and it looks good to me. Is this good design ? 
You are building application that will load data from several different advertising systems and then store the data into database, so it will be possible to analyze them.
You need to take in mind that every advertising system has different structure of report: Different named columns, different order of columns, different date formats. Also data from ad systems are in different data formats(JSON,CSV,XML),
Reports from each system contains different amount of columns, our application is interested only in some of them: date, ad_campaing, ad_group, keyword, impressions, price (in every system they have different name)


reportColumnsI saved which reportColumns I am interested in. I could saved it in config file for example.