PITBRIDGE / ROLLING FEATURES / SYNTHETIC DATA

What did the last 30 days
look like at decision time?

Sum, mean and count use the latest revision actually available for each event. Future corrections and known cancellations cannot inflate an earlier feature.

4Decisions
12Rolling lookups
28Contributing-record links
SQL = PythonIndependent temporal replay

Inspect the features

The window includes both boundaries. An empty or unavailable window keeps a missing value; its observation count is metadata, not an assumed business zero.

DecisionFeatureValueObservationsStatus
SME-A-10mean_inflow_7d150.02selected
SME-A-10net_inflow_30d1500.04selected
SME-A-10observations_30d44selected
SME-A-11mean_inflow_7d150.02selected
SME-A-11net_inflow_30d4300.03selected
SME-A-11observations_30d33selected
SME-A-12mean_inflow_7d1250.02selected
SME-A-12net_inflow_30d6300.04selected
SME-A-12observations_30d44selected
SME-B-12mean_inflow_7d—0no_history
SME-B-12net_inflow_30d—0no_history
SME-B-12observations_30d—0no_history

Trace every contribution

Each row identifies the selected source revision. One record can contribute to several declared windows. Counts refer to observations, not borrowers or days.

DecisionFeatureRecordRevisionEventAvailableValue
SME-A-10mean_inflow_7drefund12026-02-05T00:00:00.000000+00:002026-02-05T00:00:00.000000+00:00-200.0
SME-A-10mean_inflow_7drecent12026-02-08T00:00:00.000000+00:002026-02-09T00:00:00.000000+00:00500.0
SME-A-10net_inflow_30dboundary12026-01-11T18:00:00.000000+00:002026-01-11T18:00:00.000000+00:00200.0
SME-A-10net_inflow_30dcash-v112026-02-01T00:00:00.000000+00:002026-02-01T00:00:00.000000+00:001000.0
SME-A-10net_inflow_30drefund12026-02-05T00:00:00.000000+00:002026-02-05T00:00:00.000000+00:00-200.0
SME-A-10net_inflow_30drecent12026-02-08T00:00:00.000000+00:002026-02-09T00:00:00.000000+00:00500.0
SME-A-10observations_30dboundary12026-01-11T18:00:00.000000+00:002026-01-11T18:00:00.000000+00:00200.0
SME-A-10observations_30dcash-v112026-02-01T00:00:00.000000+00:002026-02-01T00:00:00.000000+00:001000.0
SME-A-10observations_30drefund12026-02-05T00:00:00.000000+00:002026-02-05T00:00:00.000000+00:00-200.0
SME-A-10observations_30drecent12026-02-08T00:00:00.000000+00:002026-02-09T00:00:00.000000+00:00500.0
SME-A-11mean_inflow_7drefund12026-02-05T00:00:00.000000+00:002026-02-05T00:00:00.000000+00:00-200.0
SME-A-11mean_inflow_7drecent12026-02-08T00:00:00.000000+00:002026-02-09T00:00:00.000000+00:00500.0
SME-A-11net_inflow_30dcash-v222026-02-01T00:00:00.000000+00:002026-02-11T00:00:00.000000+00:004000.0
SME-A-11net_inflow_30drefund12026-02-05T00:00:00.000000+00:002026-02-05T00:00:00.000000+00:00-200.0
SME-A-11net_inflow_30drecent12026-02-08T00:00:00.000000+00:002026-02-09T00:00:00.000000+00:00500.0
SME-A-11observations_30dcash-v222026-02-01T00:00:00.000000+00:002026-02-11T00:00:00.000000+00:004000.0
SME-A-11observations_30drefund12026-02-05T00:00:00.000000+00:002026-02-05T00:00:00.000000+00:00-200.0
SME-A-11observations_30drecent12026-02-08T00:00:00.000000+00:002026-02-09T00:00:00.000000+00:00500.0
SME-A-12mean_inflow_7drecent12026-02-08T00:00:00.000000+00:002026-02-09T00:00:00.000000+00:00500.0
SME-A-12mean_inflow_7dlate12026-02-09T00:00:00.000000+00:002026-02-12T00:00:00.000000+00:002000.0
SME-A-12net_inflow_30dcash-v222026-02-01T00:00:00.000000+00:002026-02-11T00:00:00.000000+00:004000.0
SME-A-12net_inflow_30drefund12026-02-05T00:00:00.000000+00:002026-02-05T00:00:00.000000+00:00-200.0
SME-A-12net_inflow_30drecent12026-02-08T00:00:00.000000+00:002026-02-09T00:00:00.000000+00:00500.0
SME-A-12net_inflow_30dlate12026-02-09T00:00:00.000000+00:002026-02-12T00:00:00.000000+00:002000.0
SME-A-12observations_30dcash-v222026-02-01T00:00:00.000000+00:002026-02-11T00:00:00.000000+00:004000.0
SME-A-12observations_30drefund12026-02-05T00:00:00.000000+00:002026-02-05T00:00:00.000000+00:00-200.0
SME-A-12observations_30drecent12026-02-08T00:00:00.000000+00:002026-02-09T00:00:00.000000+00:00500.0
SME-A-12observations_30dlate12026-02-09T00:00:00.000000+00:002026-02-12T00:00:00.000000+00:002000.0

Reproduce the result

pitbridge verify-rolling --out demo/rolling checks hashes and reruns SQL and the Python enumerator for both features and membership. Binary64 values are not exact monetary accounting, and observed events do not establish complete source coverage.

Feature rows · Source membership · Inputs · Summary