db4587f75e9d928340f9786f465fa613e265dc40
Replaces the empty placeholder with actual parsing of the "AggregateAnalytics_ <Name>_<start>_<end>.xlsx" personal-profile export (DISCOVERY, ENGAGEMENT, TOP POSTS, FOLLOWERS, and both DEMOGRAPHICS sheets). Weekly submissions are a new ~365-day trailing window each time, so the daily series (engagement, followers) merge across every file on disk the same way the Page's own Followers export does - newest file wins on an overlapping date. Reposts vs original posts are distinguished from the post URL itself (.../share-<id> vs .../ugcPost-<id>), since LinkedIn's "Engagements" column doesn't separate them - this was the open design question about measuring repost/comment activity, and the data turns out to answer it directly. Verified against Mckinley's own first real export (2026-10-30): Impressions, Followers, and Engagements all cross-check against the file's own DISCOVERY summary row. The other four team members still show the "no export yet" placeholder until their first Monday submission lands. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Languages
Python
50.8%
HTML
48.9%
CSS
0.3%