AFN AFN Widgets
Gallery
Conversion Available v1.0.0

Pull-Through

Loan lifecycle conversion funnel

Live preview

Rendered from sample data fed via .data — exactly how your app feeds it.

Data contract

ColumnTypeReq
Category string
BranchCount number
PeerGroupCount number
CompanyCount number
inactive boolean
Params: cohort= BranchCount

Emits ready, error and widget-select when a mark is clicked — wiring up drill-down.

Embed code

URL:
Colours:
<!-- 1. Load the widget (self-registers <afn-pullthrough>) -->
<script type="module" src="https://widgets-d.afnai.com/cdn/afn-pullthrough/v1/afn-pullthrough.js"></script>

<!-- 2. Drop the tag -->
<afn-pullthrough id="w"></afn-pullthrough>

<!-- 3. Feed your data -->
<script>
  const el = document.querySelector('#w');
  el.data = [
    {"Category":"Started","BranchCount":235,"PeerGroupCount":10098,"CompanyCount":17235,"inactive":false},
    {"Category":"Credit Pulled","BranchCount":195,"PeerGroupCount":7570,"CompanyCount":12432,"inactive":false},
    {"Category":"Apps Taken","BranchCount":109,"PeerGroupCount":3614,"CompanyCount":5918,"inactive":false},
    {"Category":"Apps Back","BranchCount":82,"PeerGroupCount":2516,"CompanyCount":4261,"inactive":false},
    {"Category":"Sent to Proc","BranchCount":92,"PeerGroupCount":2659,"CompanyCount":4420,"inactive":true},
    {"Category":"Sub to UW","BranchCount":88,"PeerGroupCount":2597,"CompanyCount":4323,"inactive":true},
    {"Category":"Approved","BranchCount":87,"PeerGroupCount":2458,"CompanyCount":4090,"inactive":false},
    {"Category":"Locked","BranchCount":84,"PeerGroupCount":2295,"CompanyCount":3790,"inactive":false},
    {"Category":"Funded","BranchCount":71,"PeerGroupCount":2003,"CompanyCount":3323,"inactive":false}
  ];
  el.params = { cohort: 'BranchCount' };
</script>

v1 gets non-breaking fixes automatically; a breaking change bumps to the next major and never touches your embed. Bring-your-own-data: your app feeds the rows via .data. Integration guide — framework setup, versioning and the origin allowlist.