Fleet consumption analysis and asset resolution
The consumption side of the same supply transformation: asset-level visibility across 222 invoices and 2,681 lines, resolving inconsistent identities and flagging 24 price-outlier codes for review.
Evidence inputs
- Pairs with the purchase-side invoice pipeline: stock bought and determined there is consumed here, closing the loop from value creation to value recording and evaluation. High-volume consumption invoices matched against a 243-asset reference register.
- Python · Gemini (structured output + search grounding) · openpyxl
Transformation
- Resolved identities through exact matching, alias normalisation and grounded model lookup for the residual.
- Flagged price outliers against the modal price for each item code.
- Loaded results into a fourteen-tab consumption reporting layer.
Controls & assurance
- Ordered identity resolution from deterministic matching to grounded model lookup.
- Flagged anomalies for human review instead of correcting them automatically.
Output
- Processed 222 invoices and 2,681 lines, flagged 24 item codes as price outliers, and delivered a fourteen-tab consumption view.
Business value
- Gives finance consistent asset-level visibility and surfaces price anomalies hidden by flat reporting.
- Problem
Inconsistent asset names and aliases obscured consumption patterns and price anomalies.
- Approach
Resolved identities through exact matching, alias normalisation and grounded model lookup for the residual.
- Outcome
Processed 222 invoices and 2,681 lines, flagged 24 item codes as price outliers, and delivered a fourteen-tab consumption view.
Gives finance consistent asset-level visibility and surfaces price anomalies hidden by flat reporting.
Transformation route
- 01
Resolved identities through exact matching, alias normalisation and grounded model lookup for the residual.
- 02
Flagged price outliers against the modal price for each item code.
- 03
Loaded results into a fourteen-tab consumption reporting layer.
Decision log
- Ordered identity resolution from deterministic matching to grounded model lookup.
- Flagged anomalies for human review instead of correcting them automatically.
What I learned
- Tiered resolution controls cost while reserving grounded lookup for genuine ambiguity.
Future improvements
- Feed resolved identities into the reference register and track precision by resolution tier.