Skip to content

Data analysis · Receivables risk

Radar
Pixelado

Radar Pixelado organises receivables data and applies alert rules to flag situations that deserve a closer look. The solution combines data preparation in Python with Power BI dashboards to follow indicators, investigate alerts and explore risk concentration.

Type
Academic project · Data Science / FIAP
Status
Final solution delivered
Scope
Data preparation and four Power BI dashboards

See the screens See rules and data Ler em português

Three-dimensional data surface of white dots with red waves.
receivables in the transactional base
7.118
nominal volume monitored
R$ 165,85 mi
unique receivables with alerts (28.20%)
2.007
Power BI experiences
4

About this pageAcademic project built on datasets provided in a FIAP challenge. The Power BI screenshots keep their original visual identity; payer, beneficiary and receivable identifiers were pixelated, and no dataset records are published.

01 /

Context

The receivables and FIDC (receivables investment fund) market needs fast, consistent and standardised analysis to support risk, pricing and portfolio monitoring decisions.

Fragmented data, poorly standardised indicators and reliance on manual analysis make a consolidated view hard to reach and slow down response.

Who it serves

  • Risk analysts
  • FIDC managers
  • Structurers
  • Credit committees
  • Qualified investors
02 /

Challenge

Without an integrated analytical layer, it is hard to spot delays, settlement failures, deteriorating liquidity and risk concentration by payer. Portfolio analysis becomes slower, less traceable and more dependent on manual checks.

03 /

Solution

The solution cleans and models the data, consolidates operational and financial indicators, applies alert rules and publishes everything in an interactive Power BI dashboard, navigating between executive view, alerts, a risk concentration map and receivable-level detail.

Deliverables

  • Final cleaned base
  • Consolidated indicators
  • Alert rules applied
  • Final Power BI dashboard
  • Interactive filters
04 /

Data and preparation

Preparation was done in Python with Pandas, in steps documented in the project notebook, and the cleaned base fed the Power BI model and measures.

7.118
receivables in the transactional base
4.612
records in the auxiliary base
  1. Load and profile

    Load both datasets and inspect columns, types and missing values.

  2. Dates and delay

    Convert issue, due and payment dates; delay in days = payment − due date.

  3. Operational flags

    Paid (has a payment date), settled (has a settlement amount) and late (delay above zero).

  4. Data quality

    No payment and no settlement; payment without settlement amount; settlement above face value.

  5. Joining the bases

    The auxiliary base is joined twice, with distinct prefixes: once by payer and once by beneficiary, adding liquidity, materiality, historical average delay, state and industry code.

  6. Final base and publishing

    Export of the cleaned base and the KPI and alert summaries, consumed by the Power BI model, measures and filters.

05 /

Operational alert rules

Each rule flags the receivable. A single receivable can trigger more than one rule, so alert occurrences and receivables with alerts are different numbers.

AlertRuleOccurrences
Low liquidityPayer 1-month liquidity index below 0.50 (reference threshold adopted in the project).1.223
Payment without settlementA payment date exists but no settlement amount is recorded.750
Settlement above face valueSettlement amount greater than the receivable’s face value.616
High delayMore than 30 days between due date and payment.389

Occurrences are not added up as receivables: a single receivable can trigger more than one rule. For the Pixel Radar, each receivable’s risk score is the sum of the four flags; the matrix uses the average score per payer and due date.

06 /

Indicators

Indicators computed on the consolidated base and shown in the Executive View.

Receivables analysed
7.118
Records in the transactional base.
Monitored volume
R$ 165.853.488,09
Sum of face value.
Paid
99,02%
Receivables with a payment date.
Settled
88,48%
Receivables with a settlement amount.
Late among paid
29,61%
Among paid receivables, the share paid after the due date.
Average delay
16,03 dias
Average days of delay among late receivables.
07 /

The four Power BI screens

08 /

Documented results

Three different quantities, which are never added together:

  1. 7.118

    Base records

    Receivables analysed in the transactional base.

  2. ≈ 3 mil

    Alert occurrences

    Hits across the four rules (1,223 · 750 · 616 · 389). One receivable may have several; the dashboard shows the rounded total.

  3. 2.007

    Unique receivables with alerts

    28.20% of the portfolio; 290 receivables classified as critical risk.

Receivables by risk level (as shown in the dashboard)

  • Low5,1 mil
  • Moderate1,3 mil
  • High0,4 mil
  • Critical290
09 /

The Pixel Radar, as a concept

Conceptual reproduction · Synthetic data

How the Pixel Radar reads the portfolio

Same logic as the project notebook: receivable score = sum of the four alert flags; each cell shows the average per payer and due day. Click a payer to see its summary; use the legend to filter bands.

Receivables
231
Alert occurrences
172
Receivables with alerts
114
% with alerts
49.35%

Full synthetic portfolio

Payer123456789101112131415161718192021222324
2.002.672.332.502.331.502.332.67
2.002.001.332.000.501.001.331.001.67
2.501.001.002.001.001.332.001.00
2.001.001.670.331.000.000.001.000.000.000.001.00
1.000.500.000.000.330.000.670.001.330.000.671.000.00
0.671.001.000.330.330.000.500.000.50
0.670.330.000.001.001.000.000.000.500.50
0.671.000.001.000.331.000.330.000.000.000.000.00
0.000.500.500.000.000.000.000.500.500.000.67
0.001.000.000.000.000.000.331.00
1.000.001.000.000.000.330.501.00
0.330.000.000.000.000.330.000.00
  • Low liquidity63
  • Payment without settlement41
  • Settlement above face value36
  • High delay32

This is not the original dashboard. Payers, receivables and alerts are generated artificially in the browser; colour bands are illustrative, approximating the dashboard legend, not the official thresholds.

10 /

Architecture: delivered × proposed

The presentation separates what was built in Sprint 4 from the technical architecture proposed for later. This page keeps that separation.

Built in the final solution

  • Data cleaning and joins in Python with Pandas
  • Operational, quality and alert flags
  • Operational and risk KPIs
  • Heatmap prototype in Matplotlib
  • Cleaned base exported to Power BI
  • Model, measures, filters and four pages in Power BI
Data and processing
  • Python
  • Pandas
  • NumPy
Visualisation
  • Matplotlib
  • Power BI

Proposed architecture (not built)

  1. Capture

    SFTP or secure API; receivables, registry and settlement files.

  2. Processing

    Parquet/S3 data lake, Python cleaning, Spark; batch and speed layers; ETL, KPIs and data quality.

  3. Serving

    KPI layers, alert table and query API.

  4. Consumption

    Executive dashboard, Pixel Radar, alert centre and export.

An evolution path using services such as Amazon S3 and AWS Glue. It is not part of what was delivered.

11 /

Takeaways and next steps

What the results show

  • Occurrences and unique receivables tell different stories: about 3,000 alert hits concentrate on 2,007 receivables.
  • Low liquidity is the most frequent alert, ahead of payment without settlement.
  • Data quality is part of the risk: payment without settlement and settlement above face value show up as alerts, not just as cleaning.

Planned evolutions

  1. Publishing in a shared environment
  2. Cloud pipeline automation
  3. A predictive layer
  4. Broader risk rules

Back to projects