{"id":2859,"date":"2023-11-24T16:02:29","date_gmt":"2023-11-24T15:02:29","guid":{"rendered":"https:\/\/www.istat.it\/?page_id=2859"},"modified":"2026-02-24T15:25:05","modified_gmt":"2026-02-24T14:25:05","slug":"banff","status":"publish","type":"page","link":"https:\/\/www.istat.it\/en\/classifications-and-tools\/methods-and-software-of-the-statistical-process\/process-phase\/detection-and-treatment-of-measurement-errors-and-imputation-of-partial-non-responses\/banff\/","title":{"rendered":"Banff"},"content":{"rendered":"\n<p>The contents related to Banff are shown in the following sections:<\/p>\n\n\n<section class=\"gblock accordion_livelli white-bg  py-0\"  aria-labelledby=\"section-1\"><div class=\"container p-lg-0 block_count_1\" data-blockcount=\"1\"><div class=\"row pb-2\">\t\t<div class=\"accordion bianco\" id=\"accordion_1liv_0_block_bb3a33fe096bfce23b33a53bd6de7bbe\">\r\n\t\t\t\t\t\t\t<div class=\"accordion-item liv1\">\r\n\t\t\t\t\t\t\t\t\t\t\t<h2 class=\"accordion-header\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<button class=\"accordion-button collapsed\" type=\"button\" \r\n\t\t\t\t\t\t\t\tdata-bs-toggle=\"collapse\" data-bs-target=\"#collapse_al_1_1liv_block_bb3a33fe096bfce23b33a53bd6de7bbe\" aria-expanded=\"false\" aria-controls=\"collapse_al_1_1liv_block_bb3a33fe096bfce23b33a53bd6de7bbe\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tDescription\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/button>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/h2>\r\n\t\t\t\t\t\t\t\t\t\t<div id=\"collapse_al_1_1liv_block_bb3a33fe096bfce23b33a53bd6de7bbe\" class=\"accordion-collapse collapse\" \r\n\t\t\t\t\t\tdata-row=\"0\" \r\n\t\t\t\t\t\tdata-depth=\"1\" \r\n\t\t\t\t\t\t\t\t\t\t\t\tdata-bs-parent=\"#accordion_1liv_0_block_bb3a33fe096bfce23b33a53bd6de7bbe\">\r\n                        <div class=\"row\">\r\n                                                            <div class=\"accordion-body col-12\">\r\n                                    <p>Banff is a generalized system for editing and imputing survey data based on the SAS architecture.<\/p>\n<p>BANFF was developed by Statistics Canada in the SAS environment, following the philosophy of SAS procedures (proc). Starting in 2025, Statistics Canada released an open-source version of the system based on the Python language. Consequently, as of 2026, support for the BANFF\/SAS version is no longer provided.<\/p>\n<p>BANFF uses consistency rules (edit) that must be expressed in linear form.<\/p>\n<p>Banff has a modular structure: each module corresponds to a particular sub-function of the general structure of an edit and imputation process of quantitative variables:<\/p>\n<ul class=\"lista\">\n<li>edit specification;<\/li>\n<li>check edits for consistency and redundancy;<\/li>\n<li>error localization;<\/li>\n<li>detection of outlier values;<\/li>\n<li>imputation.<\/li>\n<\/ul>\n<p>The error localization module uses the\u00a0<em>Chernikova algorithm<\/em>\u00a0based on the\u00a0<em>minimum change principle<\/em>\u00a0or Fellegi-Holt paradigm. For each record that fails at least one edit, the algorithm identifies the minimum number of fields to change (impute) so that the record passes all the rules. In general, the Fellegi-Holt paradigm is considered appropriate to treat stochastic errors.<\/p>\n<p>Banff implements several imputation methods:<\/p>\n<ul class=\"lista\">\n<li>Deterministic imputation<br \/>\nIt checks if there is one and only one value that, once assigned to the field to impute, allow the record to pass all the edits.<\/li>\n<\/ul>\n<ul class=\"lista\">\n<li>Donor imputation<br \/>\nThe nearest neighbour record (according to a specific distance function) to the current failed record is chosen among the potential donors, i.e. units that pass all the edits. All required fields are imputed by transferring the corresponding values from the nearest neighbour record.<br \/>\nIt is important to note that a potential donor will be actually chosen as the donor, if the imputed values are such that the imputed record pass the user-specified post-imputation edits.<\/li>\n<\/ul>\n<ul class=\"lista\">\n<li>Estimator Imputation<br \/>\nValues to be imputed are obtained through modeling or observed data. Examples are mean imputation and regression imputation.<\/li>\n<\/ul>\n<p>Banff also provides outputs that allow the user to analyze the impact of the editing process on the data (for example, the list of redundant rules or the failure frequency of the erroneous record).<\/p>\n                                <\/div>\r\n                                                                                <\/div>\r\n                        \t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t<div class=\"accordion-item liv1\">\r\n\t\t\t\t\t\t\t\t\t\t\t<h2 class=\"accordion-header\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<button class=\"accordion-button collapsed\" type=\"button\" \r\n\t\t\t\t\t\t\t\tdata-bs-toggle=\"collapse\" data-bs-target=\"#collapse_al_2_1liv_block_bb3a33fe096bfce23b33a53bd6de7bbe\" aria-expanded=\"false\" aria-controls=\"collapse_al_2_1liv_block_bb3a33fe096bfce23b33a53bd6de7bbe\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tInformation\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/button>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/h2>\r\n\t\t\t\t\t\t\t\t\t\t<div id=\"collapse_al_2_1liv_block_bb3a33fe096bfce23b33a53bd6de7bbe\" class=\"accordion-collapse collapse\" \r\n\t\t\t\t\t\tdata-row=\"0\" \r\n\t\t\t\t\t\tdata-depth=\"1\" \r\n\t\t\t\t\t\t\t\t\t\t\t\tdata-bs-parent=\"#accordion_1liv_0_block_bb3a33fe096bfce23b33a53bd6de7bbe\">\r\n                        <div class=\"row\">\r\n                                                            <div class=\"accordion-body col-12\">\r\n                                    <p><strong>Status:<\/strong> BANFF\/SAS dismissed; new version in Python<\/p>\n<p><strong>Author:<\/strong> Statistics Canada<\/p>\n<p><strong>GSBPM code:<\/strong><\/p>\n<p>5.3 Review and validate<br \/>\n5.4 Edit and impute<\/p>\n<p><strong>Keywords:<\/strong> editing for numerical variables, error localization, minimum change principle, nearest neighbour donor<\/p>\n                                <\/div>\r\n                                                                                <\/div>\r\n                        \t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t<div class=\"accordion-item liv1\">\r\n\t\t\t\t\t\t\t\t\t\t\t<h2 class=\"accordion-header\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<button class=\"accordion-button collapsed\" type=\"button\" \r\n\t\t\t\t\t\t\t\tdata-bs-toggle=\"collapse\" data-bs-target=\"#collapse_al_3_1liv_block_bb3a33fe096bfce23b33a53bd6de7bbe\" aria-expanded=\"false\" aria-controls=\"collapse_al_3_1liv_block_bb3a33fe096bfce23b33a53bd6de7bbe\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tSoftware and documentation\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/button>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/h2>\r\n\t\t\t\t\t\t\t\t\t\t<div id=\"collapse_al_3_1liv_block_bb3a33fe096bfce23b33a53bd6de7bbe\" class=\"accordion-collapse collapse\" \r\n\t\t\t\t\t\tdata-row=\"0\" \r\n\t\t\t\t\t\tdata-depth=\"1\" \r\n\t\t\t\t\t\t\t\t\t\t\t\tdata-bs-parent=\"#accordion_1liv_0_block_bb3a33fe096bfce23b33a53bd6de7bbe\">\r\n                        <div class=\"row\">\r\n                                                            <div class=\"accordion-body col-12\">\r\n                                    <p>To obtain the Python version and the technical and methodological documentation, please refer to the <a href=\"https:\/\/github.com\/StatCan\/gensol-banff\">tool\u2019s official page<\/a>.<\/p>\n<p>Istat\u2019s staff who wish to use the BANFF\/SAS version should contact the Istat\u2019s SAS support group.<\/p>\n                                <\/div>\r\n                                                                                <\/div>\r\n                        \t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t<\/div><\/div><\/section>","protected":false},"excerpt":{"rendered":"<p>The contents related to Banff are shown in the following sections:<\/p>\n","protected":false},"author":6,"featured_media":0,"parent":2728,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-2859","page","type-page","status-publish","hentry"],"acf":[],"wpml_current_locale":"en_US","wpml_translations":[],"_links":{"self":[{"href":"https:\/\/www.istat.it\/en\/wp-json\/wp\/v2\/pages\/2859","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.istat.it\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.istat.it\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.istat.it\/en\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/www.istat.it\/en\/wp-json\/wp\/v2\/comments?post=2859"}],"version-history":[{"count":4,"href":"https:\/\/www.istat.it\/en\/wp-json\/wp\/v2\/pages\/2859\/revisions"}],"predecessor-version":[{"id":119438,"href":"https:\/\/www.istat.it\/en\/wp-json\/wp\/v2\/pages\/2859\/revisions\/119438"}],"up":[{"embeddable":true,"href":"https:\/\/www.istat.it\/en\/wp-json\/wp\/v2\/pages\/2728"}],"wp:attachment":[{"href":"https:\/\/www.istat.it\/en\/wp-json\/wp\/v2\/media?parent=2859"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}