DATA ANALYST FOUNDATIONS — MODULE 04 Data quality & exploratory analysis. Curriculum 2026-10-15.4. START HERE All data is fictional and prepared for learning. No personal data or live business records. This is a NEW April–May 2026 extension of Northstar Shop; it does not replace February–March data from Modules 1–3. Treat it as the complete supplied fixture, not independent proof that every real-world order was exported. 1. Keep orders_raw.csv unchanged. Work on a local copy in your spreadsheet. 2. Import as UTF-8, comma-delimited, decimal point. Preserve IDs as text and dates as ISO YYYY-MM-DD. Blank input is missing, not zero. Inspect the raw strings before asking a spreadsheet to convert malformed dates or numeric fields. 3. Profile, complete quality_log_template.csv and document correction authority. 4. Compare by order_id against orders_verified.csv; preserve delivery blanks. 5. Attempt each lesson before opening quality_log_solution.csv, monthly_results.csv, channel_results.csv or worked_solutions.txt. 6. The optional worked_analysis.py.txt contains inspectable Python source. Save a local copy as worked_analysis.py beside the four data/result CSVs. With Python 3.9+ available locally, run: python3 worked_analysis.py It reads files in its own directory and prints JSON; no installs, network, credentials, file writes or website database access. Python is not required. DATA DICTIONARY (orders_raw.csv and orders_verified.csv) order_id: stable fictional order key. A = April, Y = May; not a customer ID. order_date: ISO calendar date in 2026. No time of day or timezone supplied. channel: web or store after preparation. Dictionary authorises trim/lowercase formatting only. Other mappings require the verified reference. status: completed, returned or cancelled. This is a supplied status category, not a fixed-follow-up customer cohort. Return amounts are not refund amounts. order_value_eur: non-negative recorded order value in EUR (major currency units, NOT cents). Zero is valid for the supplied cancelled rows. Blank is unknown. Do not label sums audited revenue, profit or cash receipts. delivery_days: non-negative integer duration measurement for the completed-order delivery comparison. A blank is no supplied measurement. Returned/cancelled rows are excluded from that comparison. Known zero would be a valid duration. GRAIN / POPULATIONS Raw: 46 records, 44 distinct IDs. Verified: 44 unique orders; 22 each month. Completed: 40 orders, 20 each month. Returned: one each month. Cancelled: one each. Eight issue-log entries: two duplicate groups and six field corrections. Remaining missing delivery values are disclosed, not filled. A020 at EUR 1,000 is verified. Each comparison uses order date; the extract has no follow-up/return timing data. FILES / RESULT DEFINITIONS quality_log_template.csv: blank learner action/authority fields for eight IDs. quality_log_solution.csv: worked observed value, action and authority per issue. monthly_results.csv: all-status count, completed count, total EUR, completed mean and median, observed/missing completed-delivery counts and observed mean days. channel_results.csv: one month/channel per row, completed metrics; order_share is a fraction (0.9 means 90%), not a monetary share. learner_worksheet.txt: exercise prompts and final self-review. worked_solutions.txt: method, calculations, interpretation and evidence note. worked_analysis.py.txt: optional read-only reproducible analysis, no dependencies. METHODS / LIMITATIONS Monthly filters: [2026-04-01,2026-05-01), [2026-05-01,2026-06-01). Sales/AOV/distribution population: verified completed orders only. AOV = sum(order_value_eur)/completed count. Median uses sorted central values. Quartiles: inclusive linear interpolation at zero-based position (n-1)*p. IQR = Q3-Q1; fences Q1-1.5*IQR and Q3+1.5*IQR are investigation screens. Histogram EUR bins: [0,100), [100,150), [150,200), [200,300), [300,1100]. Observed delivery means exclude missing durations and report measured/eligible. The 50/50 channel-mix calculation is a hypothetical scenario, not actual AOV. Outlier exclusion changes the population; the verified high order stays baseline. No marketing spend, margin, customers, experiment, or seasonal history is supplied. No causal effect, ROI, customer conversion or stable forecast can be established. REFERENCES / CORRECTIONS NIST EDA: https://www.itl.nist.gov/div898/handbook/eda/section1/eda11.htm NIST box plots: https://www.itl.nist.gov/div898/handbook/eda/section3/boxplot.htm Python statistics: https://docs.python.org/3/library/statistics.html These references explain methods; the case, exercises and values are authored for DataCareerHub. Corrections: support@datacareerhub.io.