# Portfolio model technical validation record

**Artifact:** Independent Pfizer FY2024–FY2025 financial BI model  
**Review date:** 2026-09-26 UTC  
**Review scope:** Local execution of the public portfolio model and its documented acceptance checks.  
**Disposition:** Technical validation passed for portfolio publication. This is not a client, employer, Pfizer, or production approval.

## Inputs and lineage

- `financial-metrics.csv`: six named metrics for FY2024 and FY2025, with source basis per row; SHA-256 `44e59ca09f58c32e0af3bd1af2813cda10578c95823530307e93706c0b121927`.
- `model.sql`: metric-year primary key and two FY2025 decision views; SHA-256 `e438d003054972b90bb9bb87ea821ec56a3aeb60af8863668f0480dcbc8cc6d6`.
- `build_model.py`: local loader and assertions; SHA-256 `df7c5a9d9bc2a439e17c1f46f6251a0e630dbf6ddc7e23d16235e528e37e137c`.
- Grain: one named metric per fiscal year. Units: USD millions. Empty source values remain SQL NULL.

## Observed acceptance checks

| Check | Observed result | Status |
| --- | --- | --- |
| Source completeness and basis | Six required metrics, two fiscal years, 12 unique records; nonempty basis | Passed |
| Missing value handling | FY2024 capital expenditure remains NULL | Passed |
| 2025 cash bridge | Operating cash flow 11,704 minus capital expenditure 2,629 = free cash flow 9,075; matches source-model value | Passed |
| Dividend decision measures | Cash dividends paid 9,771; operating cash flow coverage 1.20×; free cash flow less dividends −696 | Passed |

**Reproduction:** Run `python build_model.py` with `model.sql` and `financial-metrics.csv` in the same directory. The script raises an error if these checks fail. Review the extract against the original filing before another use.

**Approval boundary:** The passed status attests only to local model checks on a selected public-data extract. It does not establish vendor-native Power BI or Tableau output, external user acceptance, deployment, client sign-off, organizational adoption, or an investment decision.
