Introduction
A polished notebook can hide weak reasoning. It can show charts, scores, and many libraries while leaving key questions unanswered. What was the decision? Was the data suitable? Can another person follow the method? Did the test match the task? Where should the result not be used?
A useful data science portfolio makes those answers visible. It is an evidence surface, not a tool list. This article introduces the Moeenism Data Project Evidence Map. It checks the question, data boundary, method trace, error test, and handoff. The map does not certify skill or predict hiring results. Instead, it helps you check your own work and state its limits honestly.
Key Takeaways
- Choose projects that expose judgement, not only technical activity.
- Apply five core checks, but match the tests to the project type.
- Use NARROW, REDESIGN, REPAIR, WITHHOLD, or PRESENT as actions, not scores.
- Prefer two or three deep projects over ten shallow notebooks.
- Treat PRESENT as “ready for bounded inspection,” not as proof of job readiness.
A Portfolio Is Evidence, Not Inventory
The public O*NET description for data scientists covers work such as processing large datasets, using statistics, and turning raw data into useful facts. Those tasks require choices about purpose, data, method, tests, and how to share the result.
However, many portfolios are shopping lists: Python, SQL, pandas, dashboards, and models. A list cannot show why a method fit a question or whether the result survived a fair test. If you are still choosing a path, our guide on how to become a data analyst covers the wider route. For the portfolio itself, ask: what proof can another person inspect?
The five checks below are core at the decision level. Yet the proof changes by project type. A forecast model may need a time split, leakage check, and baseline. A summary study may need base-count checks, totals, and tests with different filters. A SQL pipeline may need key, null, duplicate, row-count, and rerun tests. Therefore, do not add model rituals where they do not belong.
The Moeenism Data Project Evidence Map
| Check | Reviewer question | Visible evidence | Action when weak |
|---|---|---|---|
| 1. Question & User | What question does this answer, for whom, and what choice could change? | Plain question, intended user, decision or learning goal, success boundary, and non-claim. | NARROW the project. |
| 2. Data Boundary | Where did the data come from, what does it cover, and what use is allowed? | Owner, current terms, period, fields, missing data, exclusions, privacy risk, and sharing limits. | WITHHOLD when rights or privacy are unclear. |
| 3. Method Trace | Can another person follow the path from input to result? | Run order, setup, data steps, saved output or tests, and needed controls. | REPAIR hidden steps. |
| 4. Error Test | Does the validation fit the question, and what would a costly error look like? | Checks that fit the work, a baseline or total check, error cases, and known doubt. | REDESIGN a test that cannot answer the question. |
| 5. Decision Handoff | Can a reviewer understand how to run, inspect, and limit the work? | README, result, run steps, limits, next test, and shared-work or material AI-assistance disclosure. | PRESENT only as a bounded artifact. |
This is not a scoring model. Most importantly, one polished strength does not cancel a failed boundary. If the data cannot be shared, a beautiful chart does not make it safe. If the test does not fit the question, a high model score does not make the claim sound.
1. Start With the Question and User
“Analyse bike-share data” is an activity. “Estimate when demand may exceed the available bikes so a planning team can test a scheduling option” is a question with a user and a possible decision. The second version also exposes what the work cannot claim. For example, it cannot prove that a new schedule will reduce shortages unless that effect is tested.
Therefore, write four lines before you write code: the question, the intended user, the decision or learning goal, and the non-claim. If those lines feel vague, do not add another library. NARROW the project until the question can be challenged.
2. Draw the Data Boundary Before You Explore
Public access is not the same as permission to reuse or share. Creative Commons guidance explains how a licence can grant reuse rights under stated terms. However, not every public dataset carries such a licence. Verify the current owner, terms, credit needs, and reuse limits.
Privacy is a separate risk. Do not publish private rows merely because you can access them. In addition, grouped data can create risk when small groups or rare events make people easier to identify.
Create a short data note. Record the owner, link, licence or terms, time span, group covered, fields used, exclusions, missing values, and sharing limits. If permission, privacy, or who made the work is unclear, WITHHOLD the data and the claim. This is a boundary decision, not legal clearance.
3. Leave a Method Trace, Not a Mystery
A notebook that runs only on its creator’s laptop is weak evidence. Instead, give the reviewer a clear path: setup or dependency file, run order, data steps, saved outputs, and checks. Your method trace should reveal which steps you used and in what order.
For a model project, include the baseline and random-state controls when they matter. For a SQL project, show keys, joins, null handling, duplicate handling, and expected row counts. For a summary study, preserve the filters and base-count logic. As a result, another person can trace the result without guessing hidden hand steps.
A simple decision log also helps. Record why you dropped a field, changed a time window, or rejected a metric. Keep it short, but make key choices visible.
4. Match the Error Test to the Project
Tests should answer the project’s question, not copy a ritual from other work. The scikit-learn guide to common pitfalls warns about uneven data prep and data leakage. Those risks matter when facts from the test period or future leak into model building and inflate the result.
However, not every project is a forecast model. A summary study may need totals checked against the source, units checked, missing data explained, and results tested under different filters. A SQL pipeline may need row-count, key, duplicate, null, and rerun checks. A forecast may need a time-based split rather than a random split.
Then ask about error cost. Which wrong answer matters most? Would an under-estimate cause a shortage, while an over-estimate wastes space? Do not invent a real-world impact. Instead, state the possible decision risk and the proof still needed. If the test cannot answer the question, REDESIGN it.
5. Build a Decision Handoff
A reviewer should not have to infer your intent from file names. GitHub’s README guidance recommends explaining why a project is useful, what people can do with it, and how to use it. That is a good base, but a data project also needs limits.
Use a short front section with the question, data boundary, method, tests, result, and non-claim. Then link to the deeper code and proof. Also disclose material teamwork and AI help. Name what was made, what you checked, and what remains your own judgement. This does not prove who did the work. It simply gives the reviewer a more honest handoff.
Finally, connect the result to a decision. Our guide to decision-ready Google Analytics dashboards makes the same point in another setting: a measure needs an owner, decision, threshold, and response. A portfolio result also needs a limit around what action it can support.
A Hypothetical Project Through the Five Checks
Suppose you are considering public bike-share data to estimate hourly demand. First, verify the owner, licence or terms, credit needs, privacy risks, and reuse limits. Do not assume “public” means “free to republish.”
Next, define the question and user. Preserve the path from raw records to time features. Use a time-based test if a forecast is the goal, and check whether future facts enter the training data. State which errors matter and why. Then write a README that explains how to run the work, what the result supports, and what it does not prove. This case has no invented result because the proof should lead the claim, not the other way around.
Run a 20-Minute Portfolio Audit
- Four minutes: read the question, user, decision, and non-claim. If vague, choose NARROW.
- Four minutes: inspect source, terms, privacy, time span, and missing data. If unclear, choose WITHHOLD.
- Four minutes: follow the run steps. If key steps are hidden, choose REPAIR.
- Four minutes: ask whether the tests fit the work. If not, choose REDESIGN.
- Four minutes: inspect the README, limits, teamwork, and material AI-assistance disclosure. If core proof is visible, choose PRESENT in the narrow sense.
PRESENT means the work is ready to be shown as a bounded artifact that others can inspect. It does not mean the analysis is correct, job-ready, approved by an employer, safe for live use, or made by one person. A live talk or work sample may still test other skills, and some reviewers may never inspect the deeper proof.
Conclusion
A strong data science portfolio does not need to contain every tool. It needs to make key choices visible. The Data Project Evidence Map gives you five places to look: question and user, data boundary, method trace, error test, and decision handoff.
Start with one project. Label each layer NARROW, REDESIGN, REPAIR, WITHHOLD, or PRESENT. Then fix the weakest boundary before adding another notebook. Two or three projects with inspectable evidence can teach a reviewer—and you—more than a long gallery of unexplained outputs.
Frequently Asked Questions
How many projects should a data science portfolio include?
There is no fixed number. Begin with two or three projects that expose all five checks. Add more only when a new project shows a different kind of judgement.
Does every portfolio project need machine learning?
No. A careful descriptive analysis, SQL pipeline, experiment review, or dashboard can be useful. However, its validation must fit its purpose. Do not add a model merely to make the project look more advanced.
Can I publish data that is already public?
Not by itself. Verify the current owner, licence or terms, credit needs, privacy risk, access terms, and reuse limits. Public access alone does not settle those questions.
Should I disclose AI assistance in a portfolio project?
Disclose material help that affected code, analysis, text, or visuals. Explain what a tool produced and what you checked. This adds clarity but does not certify authorship or quality.

