Code Workbench—Revenue Discrepancy Investigation
Workspace: revenue-discrepancy
Explorer
srcreconcile.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class="text-zinc-class="text-amber-300">500 italic"># Reconcile Finance vs Analytics revenue for the past class="text-amber-300">7 days.import pandas as pdfrom datetime import date, timedeltadef reconcile(finance_df, analytics_df):class="text-emerald-class="text-amber-300">400">""class="text-emerald-class="text-amber-300">400">"Return a per-day variance frame for the last class="text-amber-300">7 days."class="text-emerald-class="text-amber-300">400">""end = date.today()start = end - timedelta(days=class="text-amber-300">7)f = finance_df.query(class="text-emerald-class="text-amber-300">400">"date >= @start and date < @end")a = analytics_df.query(class="text-emerald-class="text-amber-300">400">"date >= @start and date < @end")merged = f.merge(a, on=class="text-emerald-class="text-amber-300">400">"date", suffixes=(class="text-emerald-class="text-amber-300">400">"_fin", class="text-emerald-class="text-amber-300">400">"_an"))merged[class="text-emerald-class="text-amber-300">400">"variance"] = merged[class="text-emerald-class="text-amber-300">400">"revenue_an"] - merged[class="text-emerald-class="text-amber-300">400">"revenue_fin"]return merged.sort_values(class="text-emerald-class="text-amber-300">400">"date")if __name__ == class="text-emerald-class="text-amber-300">400">"__main__":print(class="text-emerald-class="text-amber-300">400">"Running reconciliation...")
$ python src/reconcile.py
Running reconciliation...
✔ Compared 7 days · variance reduced to $4,820
$
main 0 errors · 1 warning
Ln 1, Col 1Spaces: 2UTF-8py