The background video was tracked using Syntheyes. This allowed the 3D scene to match the camera movement without floating around.
3ds Max was used to clean up a 3D model for the scene. This could be replaced with virtually any product.
Rendering directly in After Effects allowed flexibility in syncing the fan's rotation with the viewer's hand