A blank cell is a question, not a service verdict
Open data can make a library system easier to understand, but a spreadsheet cell does not always answer the question a reader has in mind. A missing Wi-Fi value, for example, tells us that this export does not report a response in that field. It cannot tell us whether a visitor would find a connection today. An explicit no is different evidence, and a numerical zero is different again. This study keeps those distinctions visible instead of turning all three into the same result.
The source is the French Ministry of Culture’s published dataset of territorial-authority library addresses and activity data. Alisson Bento’s independent analysis asks a deliberately limited question: how often are selected cells populated, blank or flagged for review in the frozen file? It does not rate the libraries, assess staff performance or estimate how many people have access to a service. Its value is as a reading guide and a reproducible reference for anyone reusing the export.
The most compact finding concerns three fields together. Of 14,986 selected records, 11,573 had unflagged populated values for weekly hours, Sunday opening and Wi-Fi. Dividing by the full selected denominator gives 77.23%. Both no and zero count as populated where applicable. Describing this as the share of libraries offering all three services would change the meaning of the calculation and would be incorrect.
Start with the records included in the calculation
The complete file contains 15,704 published records and 46 columns. Its identifiers are distinct and nonblank in the audited export. The first selection retains records whose status is municipal, intercommunal or classified municipal. That leaves 15,235 records and excludes 469. The second selection retains those whose address type is literally Bâtiment ouvert, leaving 14,986 and removing another 249. The selection table shows both steps so the denominator can be reconstructed.
This is an analytical subset of published records. Departmental services, associations, SIVOM records and other statuses fall outside its first filter. Administrative addresses, buses, reserves and unspecified address types fall outside the chosen address-label rule. These exclusions make the question consistent; they do not imply that the excluded records are unimportant, inactive or unable to serve readers. A different legitimate question could need a different cohort.
The phrase Bâtiment ouvert is retained as the source’s literal label. It is not a fresh observation by this study that a building is open now. The export has no per-record verification date, and its reporting hierarchy cannot be reliably reconstructed into a clean set of separate facilities. Use the denominator as 14,986 selected published records, rather than silently replacing it with 14,986 currently operating libraries.
What populated and unflagged mean here
For this audit, a populated cell contains a recognized response or an accepted numerical value under the stated parsing rules. Numeric fields are checked for finite, nonnegative values, while the Sunday-opening and Wi-Fi fields retain their literal yes or no responses. Weekly opening hours receive an additional review threshold at 168. Unflagged means that the value passed these limited checks. It does not certify that the original response is correct, current or comparable across reporting units.
The weekly-hours field has 13,290 unflagged populated cells out of 14,986 selected records, or 88.68%. That count includes 56 explicit zeros. The Sunday-opening field has 11,646 populated cells, or 77.71%, including both yes and no responses. The Wi-Fi field has 13,388, or 89.34%, on the same basis. These figures measure whether a response is present in the export, not the proportion of sites offering positive services.
This distinction matters even when a label sounds obvious. A populated Sunday field does not provide a verified Sunday timetable. A populated Wi-Fi field does not establish speed, cost, reliability or current availability. Without the complete 2023 item dictionary, the analysis does not invent detailed meanings for those responses. It counts the literal information that the file exposes and leaves service interpretation at the appropriate level of uncertainty.
Why the completeness percentages overlap
Each field has its own completeness count, but the records behind those counts overlap. A single record can have weekly hours, Sunday opening and Wi-Fi all populated, or it can have only one or two of those cells populated. Adding the three counts would count many records repeatedly. The 11,573-record all-three result is their intersection: every one of those records meets the audit’s cell rule in all three fields.
The same caution applies when reading the table’s status columns. Explicit zero is a subset of unflagged populated values in the relevant numeric fields; it is shown separately to make the distinction visible. It should not be added to the populated total a second time. For weekly hours, the complete partition is 13,290 unflagged populated cells, 1,689 blanks and seven above-threshold review flags, which together account for all 14,986 selected records.
A chart showing populated cells by field is therefore a comparison of measurements, not a composition that should add to 100%. The denominator remains fixed while the field changes. The all-record rows use the separate denominator of 15,704, while the selected-cohort rows use 14,986. Keeping those denominators next to the counts prevents a change in record selection from being mistaken for a difference in library services.
Reading the weekly-hours distribution without repairing it by guesswork
The hours table retains every selected record, including blanks and flags. There are 1,689 unreported cells and 56 explicit zeros. Among the positive values at or below 168, 6,582 fall above zero and below ten; 3,435 fall from ten to below twenty; 3,088 from twenty to below forty; and 129 from forty through 168. Seven exceed the review threshold, and there are no other numeric flags in the selected cohort.
The threshold of 168 corresponds to the number of hours in seven days and is useful for directing attention to unusual values. It does not prove that a flagged cell is erroneous. The public export can mix reporting levels, and the audit cannot resolve all site and network relationships. An unusually large number might require clarification of the reporting unit or coding; this analysis does not choose an explanation without evidence.
In particular, the audit does not insert a decimal point, reinterpret a value as a time of day or discard a flagged row. Each of those actions would replace the source with a guess and could alter the result. The seven records remain in the 14,986-record denominator, with the flag visible. Their proper use is to identify where documentation or source verification would be needed, not to accuse an institution of a reporting failure.
These bands describe cells associated with activity year 2023. They are not opening times a visitor can rely on today. Nor do shorter recorded hours by themselves establish worse provision: this export does not supply the resolved reporting units and contextual measures needed for such a judgment. A current visit should be planned using the library’s own current information.
What the other fields contribute to the audit
Four additional fields broaden the view of the export without changing the analytical purpose. In the selected cohort, the entries field has 8,428 unflagged populated cells, or 56.24%; loans has 12,506, or 83.45%; places has 11,249, or 75.06%; and public computers has 13,155, or 87.78%. All four percentages use 14,986 selected records. They describe the presence of values, not total activity, capacity or equipment across France.
The zero counts show why that qualification is necessary. The public-computer field contains 6,266 explicit zeros, included within its 13,155 populated cells. The entries field contains 129 zeros, loans 185, and places 157. These are recorded values rather than blanks. Treating them as missing would erase a source distinction; treating every populated cell as a positive quantity would erase it in the other direction.
The audit does not sum these fields into national totals of visitors, borrowing, seats or devices. It also does not divide them by commune population to produce access rates. A commune’s population is not automatically the population served by a library network, and unresolved site/network reporting can create incompatible or overlapping units. The appropriate output here is a transparent field audit, with additional interpretation deferred until those questions can be answered.
2023 activity, 2025 addresses and a 2026 download
The producer identifies the activity indicators as referring to 2023 and dates the address snapshot to 5 June 2025. The CSV resource metadata is dated 27 August 2025. The downloaded response carried an HTTP Last-Modified value of 19 October 2026, and the analysis froze the exact downloaded bytes on 28 October 2026. These dates describe different events; they must not be compressed into a claim that the file measures library services in 2026.
A dataset container can be updated after the observations it contains. A server modification timestamp likewise identifies a file event rather than proving that every underlying record was checked that day. The address snapshot is not a later activity survey, and the article’s publication date is not the observation year. The safest caption therefore includes activity 2023 and address snapshot 5 June 2025, with the frozen download date where source identity matters.
This also limits comparisons over time. A single frozen export cannot establish improvement or deterioration, and the Ministry’s methodological context describes a collection-model change from 2020. A trend analysis would require comparable observations and compatible definitions across years. This page makes no trend claim and uses the later dates only to identify the source version analysed.
How a reader, researcher or data team can use this reference
A reader can use the audit to understand why an empty field in a directory should prompt a check rather than a conclusion. If Sunday opening, Wi-Fi or a particular timetable matters for a visit, consult the current information from the library. The article explains the historical export’s limits; it does not replace a current service directory or provide individual contact information.
A researcher preparing a report can use the selection flow and field table to state exactly which records support a calculation. Keep blanks distinct from explicit responses, show the denominator and make the observation dates visible. If a proposed analysis needs functioning facilities, unique sites or populations served, first establish how those units can be recovered. The present export alone does not resolve them.
A data team can use the pattern of blanks and review flags to define questions for further documentation. That could mean checking how a field was collected, which reporting level a value belongs to, or whether the producer can clarify an unusual code. These are possible follow-up uses, not tasks performed by this study. The counts identify what is observable in the file; they do not diagnose the cause of missingness or recommend penalties for a named library.
The regional download offers broad geographical cell counts for the same reason. It can support transparent descriptions of this export, but it should not become a league table of service quality, accessibility or staff performance. Differences in the published cells can reflect reporting and unit structure as well as other factors that this audit cannot separate. Regional labels do not remove those limitations.
Reproduce the cells and preserve the source trail
The public downloads include the cohort flow, field-completeness table, hours bands, regional aggregates, analytical variable dictionary and a record-level audit of all 15,704 published records with selected fields. The record derivative omits telephone numbers, street and postal details, institution and person names, websites, coordinates and commune population. It retains the identifiers, broad geography, selected labels and raw values needed to inspect the calculations without republishing the full contact-rich source.
The analytical variable dictionary describes this audit’s variables and handling rules. It is not the missing complete questionnaire dictionary for activity year 2023. That distinction should remain clear if you pass the files to another analyst. The code and methodology show what was counted; they do not supply official definitions for excluded or ambiguous source items.
The frozen source fingerprint is SHA-256 5a851d53aa89cde640cd5313d57ddf7e48f3bd9c9b6554876aced1a11740f9ab. Its SHA-1 also matches the checksum in the official resource metadata. Reproducing these results requires the matching source bytes and the stated filters. A later download may differ and would need its own version record. Keep the original source, derived results and explanation distinguishable so that a changed figure can be traced to either new input or a changed analytical rule.
A summary you can reuse without changing its meaning
Alisson Bento’s audit of the French Ministry of Culture’s frozen library export found that 11,573 of 14,986 selected published records, or 77.23%, had unflagged populated cells for weekly hours, Sunday opening and Wi-Fi together. Populated includes explicit no or zero, so this is not a count of records offering three positive services. The activity indicators refer to 2023, addresses to 5 June 2025, and the source was downloaded on 28 October 2026. Site/network hierarchy remains unresolved; the records are not a current census of operating facilities.
When using a figure independently of this article, retain the selected denominator, the dates and the explanation that populated includes no or zero. Credit the Ministry of Culture as the source and Alisson Bento for the original calculation and presentation. Keep review flags labelled as flags. A shorter caption that removes these details can turn a correct calculation into an unsupported service claim.
Unflagged populated cells by field
Selected municipal-status records literally labelled Bâtiment ouvert; n = 14,986. Activity 2023, address snapshot 5 June 2025.
Full chart and source
Scroll horizontally to inspect the chart. ↔
Chart and values
Weekly-hours cells: blank, zero and review flags
All 14,986 selected records retained; activity 2023, address snapshot 5 June 2025.
Full chart and source
Scroll horizontally to inspect the chart. ↔
Chart and values
Choose the record denominator
15,704 published records, then status and literal Bâtiment ouvert filters, yielding n = 14,986 selected records. Activity 2023; address snapshot 5 June 2025.
Full chart and source
Scroll horizontally to inspect the chart. ↔
Chart and values
Data & downloads
Scroll horizontally to see all columns.
| Selection stage | Records retained | Removed at this stage |
|---|---|---|
| All published records | 15,704 | 0 |
| Municipal / intercommunal / classified municipal status | 15,235 | 469 |
| Also labelled Bâtiment ouvert | 14,986 | 249 |
The selected cohort has 14,986 published records, not a verified count of facilities operating now. Activity 2023; address snapshot 5 June 2025; downloaded 28 October 2026.
Scroll horizontally to see all columns.
| Cohort | Field | Denominator | Unflagged populated cells | Blank | Explicit zero | Hours above 168 |
|---|---|---|---|---|---|---|
| All published records | Weekly opening hours | 15,704 | 13,608 | 2,088 | 64 | 8 |
| All published records | Sunday-opening field | 15,704 | 11,914 | 3,790 | 0 | 0 |
| All published records | Wi-Fi field | 15,704 | 13,704 | 2,000 | 0 | 0 |
| All published records | Entries field | 15,704 | 8,647 | 7,057 | 138 | 0 |
| All published records | Loans field | 15,704 | 12,797 | 2,907 | 191 | 0 |
| All published records | Places field | 15,704 | 11,515 | 4,189 | 170 | 0 |
| All published records | Public-computer field | 15,704 | 13,559 | 2,145 | 6,527 | 0 |
| Selected municipal-status records labelled Bâtiment ouvert | Weekly opening hours | 14,986 | 13,290 | 1,689 | 56 | 7 |
| Selected municipal-status records labelled Bâtiment ouvert | Sunday-opening field | 14,986 | 11,646 | 3,340 | 0 | 0 |
| Selected municipal-status records labelled Bâtiment ouvert | Wi-Fi field | 14,986 | 13,388 | 1,598 | 0 | 0 |
| Selected municipal-status records labelled Bâtiment ouvert | Entries field | 14,986 | 8,428 | 6,558 | 129 | 0 |
| Selected municipal-status records labelled Bâtiment ouvert | Loans field | 14,986 | 12,506 | 2,480 | 185 | 0 |
| Selected municipal-status records labelled Bâtiment ouvert | Places field | 14,986 | 11,249 | 3,737 | 157 | 0 |
| Selected municipal-status records labelled Bâtiment ouvert | Public-computer field | 14,986 | 13,155 | 1,831 | 6,266 | 0 |
Unflagged populated includes explicit no or zero. Blank means unreported in this export, not absent service. Hours above 168 are review flags, not proven errors. Activity 2023/address snapshot 5 June 2025.
Scroll horizontally to see all columns.
| Hours category | Records | Cohort denominator |
|---|---|---|
| Unreported | 1,689 | 14,986 |
| Explicit zero | 56 | 14,986 |
| Over 0, under 10 hours | 6,582 | 14,986 |
| 10 to under 20 hours | 3,435 | 14,986 |
| 20 to under 40 hours | 3,088 | 14,986 |
| 40 to 168 hours | 129 | 14,986 |
| Above 168: review flag | 7 | 14,986 |
| Other numeric flags | 0 | 14,986 |
All 14,986 selected records remain visible; this is an export-cell distribution for activity 2023, not a current timetable or service-quality ranking.
Evidence & method
How we calculated it
- The analysis uses the official CSV resource for Les bibliothèques des collectivités territoriales, adresses et données d’activité. It freezes the downloaded source rather than treating a changing resource address as a permanent version. The source contains 15,704 records with distinct nonblank identifiers and 46 columns. The results are a complete enumeration of that file under stated filters, not a probability sample.
- Selection first retains the three municipal, intercommunal and classified-municipal statuses, producing 15,235 records. It then requires the literal address-type value Bâtiment ouvert, producing 14,986. Excluded records are not removed from the all-record comparison. The cohort-flow table reports the count removed at each step, and every selected-cohort measure uses the same 14,986-record denominator unless a different denominator is explicitly stated.
- Blank cells are classified as unreported in this export. Numeric zeros remain zeros. The selected numeric fields are checked for finite nonnegative values; literal yes/no fields preserve recognized responses. Weekly-hours values above 168 receive a review flag. This rule does not correct or delete a value and does not prove an error. The complete 2023 item dictionary was not obtained, so these are transparent cell-handling rules rather than invented service definitions.
- Unflagged populated counts include explicit no responses and numerical zero where applicable. The all-three measure requires the weekly-hours, Sunday-opening and Wi-Fi cells to meet their respective rules in the same record. Its 11,573-record numerator divided by 14,986 yields 77.23% after rounding to two decimal places. Field counts overlap across records and should not be summed; zero counts are included within the relevant populated totals.
- The seven-field summaries are calculated for both all published records and the selected cohort. Hours bands retain blanks, zero and flagged values as separate categories. Regional outputs count cells by broad source geography without claiming comparable service populations. No facility hierarchy, population served, current timetable, accessibility certification or quality score is inferred.
- Independent source-to-export recomputation checked every selected raw value, numerical value, status and cohort flag, and reconciled the field, region, hours and selection tables. This supports the reported arithmetic and transformation consistency. It does not verify the underlying institutional responses or remedy the absent full item dictionary. Sampling confidence intervals would not resolve these source and definition limitations.
What the data cannot tell us
- The unit is a published record. Site and network reporting levels cannot be reliably reconstructed from this public export, so the selected 14,986 records are not a confirmed count of independent facilities operating now. The literal Bâtiment ouvert label is part of the selection rule, not a current inspection result.
- Completeness describes whether an export cell contains a recognized, unflagged value. It does not establish that a service exists, works well or is available today. No, zero and blank are different states. A blank is unreported; populated includes explicit no and zero. The audit neither fills blanks nor converts them to negative responses.
- The complete observation-2023 item dictionary was not obtained. Ambiguous website-accessibility and free-services fields are excluded from the findings. No disability-accessibility assessment, RGAA compliance claim, free-entry definition, fee-bundle interpretation or service-quality ranking follows from this audit.
- Seven selected weekly-hours values above 168 are review flags, not proven errors. The analysis does not guess decimal placements, alternate units or time formats. Other unflagged values also remain reported values rather than independently verified schedules or activity totals.
- Activity year 2023, address snapshot 5 June 2025, resource metadata dated 27 August 2025, HTTP modification in October 2026 and download on 28 October 2026 are separate dates. The export has no per-record verification date. It supports neither a current 2026 service census nor a trend claim from this single observation.
- Regional counts describe cells in the export. They cannot establish comparative access, population served, efficiency, outcomes or causes of missingness. Commune population is not assumed to match a library network’s service population. The original source and methodology should accompany any reuse that needs a different analytical unit.
Original sources
- Ministère de la Culture: Les bibliothèques des collectivités territoriales, adresses et données d’activité
Official dataset description and resource metadata. Activity indicators refer to 2023; address snapshot 5 June 2025. Downloaded 28 October 2026, not a current-service observation.
Accessed October 28, 2026
- Ministère de la Culture: frozen CSV resource
CSV resource metadata dated 27 August 2025; HTTP Last-Modified 19 October 2026. Source SHA-256 5a851d53aa89cde640cd5313d57ddf7e48f3bd9c9b6554876aced1a11740f9ab. Original resource contains contact fields omitted from this page’s derivative downloads.
Accessed October 28, 2026
- Etalab: Licence Ouverte / Open Licence 2.0
Official source-data reuse licence: attribution and update context required, no endorsement implied.
Accessed October 28, 2026
- Ministère de la Culture: Observatoire de la lecture publique
Official survey context. Site/network reporting levels cannot be reconstructed reliably from this public export.
Accessed October 28, 2026
- Ministère de la Culture: Activités des bibliothèques, synthèses annuelles
Official annual methodology context and collection-model change from 2020. Complete 2023 item dictionary was not obtained, so this is a literal-cell audit, not a service-quality classification.
Accessed October 28, 2026
Cite & reuse this study
Alisson Bento. France’s library data: what blank, no and zero actually tell us. Activity 2023; address snapshot 5 June 2025; source downloaded 28 October 2026. Source: Ministère de la Culture, Les bibliothèques des collectivités territoriales, adresses et données d’activité, reused under Licence Ouverte 2.0. https://alissonbento.com/research/france-library-metadata-completeness/ https://alissonbento.com/research/france-library-metadata-completeness/
Credit the French Ministry of Culture for the source data and retain the activity year 2023, address snapshot 5 June 2025 and frozen download date 28 October 2026. Source data are reused under Licence Ouverte / Open Licence 2.0. Credit Alisson Bento for the original calculations, explanation, charts and reproduction code, link to this study and identify any changes. Preserve denominators and the warning that populated cells include no or zero. Reuse does not imply Ministry endorsement. The public derivatives omit contact, name, detailed address and coordinate fields; the original full source is not republished here.
Corrections or editorial questions