The game uses google's protobuf protocol which makes communication more efficient and the game updates (I can only tell from <= 0.35 analysis) all 10-30 seconds like loading pokemon spawns and map entities of the current map area.
The most expensive data in 0.35 was:
- Pokemon models (They were dynamically loaded but cached then)
- Pokestop images (Server sends image url and client searches for a chached version)
- Syncing the player state with the client (Inventory, rewards, egg states..)
- Updating the map (Future pokemon spawns, pokestops/gyms in view..)
If a player is idle and doesn't move, just keeps farming a single pokestop and battles sometimes, then it should be relatively low cost since the game doesn't use a realtime communication (It's actually HTTPS based lol).