Set Up a CRM for a Small Business
Build a working customer record system for a real or imagined small business. The exercise is deciding what to track, which is where most CRM projects fail long before any software is involved.
Why this one
Most small business CRMs collapse because they track thirty fields and nobody fills in twenty-eight of them. Deciding what NOT to track is the actual skill, and it is easier to see when you start from the decisions the business makes rather than the data it could collect.
Steps
List the decisions, not the data
Write the five recurring decisions the business makes about customers — who to follow up, who is at risk of leaving, what to stock more of. Data that does not feed a decision is data nobody will maintain, and now you have a rule for cutting fields.
Derive the minimum fields
Ask which fields each decision needs, then cut anything that appears in no decision. Expect to end up with six to ten fields, which will feel too few. It is not. Fields are easy to add later and impossible to make people fill in retroactively.
Decide the statuses and what moves between them
A status field is only useful if the transitions are unambiguous. Define each status and the specific event that moves a record into it. "Interested" versus "Very interested" is not a definition; "asked for a quote" is.
Build it from a CRM template
Start from a CRM template and reshape its columns to your field list. Enter ten real or realistic records — this is where you find that a field you were sure about has no sensible value for half your customers.
Run one week of real use
Use it for a week, then look at which fields are empty. Empty fields after a week of genuine use are not a discipline problem, they are a design problem. Delete them.
You should end up with
A configured CRM with ten records and a documented field rationale.
Done when
- Every field maps to a decision someone actually makes
- Status transitions are defined by events, not by feelings
- After a week of use, no field is systematically empty
If you want to go further
- Add a simple pipeline view grouped by status
- Define what "dormant" means numerically and flag those records
Useful alongside this
Try next
Topics
Related across the site
Structured Output (JSON & Tables) — ChatGPT
When you need output your app or spreadsheet can actually use, explicitly request a schema.
AI Ad Manager
Generate ad copy variants at scale, brainstorm targeting angles, and use AI to analyze ad performance data for Google and Meta campaigns.
AI YouTube Management
Script videos faster, write titles and thumbnails that actually get clicked, and use AI to plan a channel content calendar and read your analytics.
Bias
Bias in AI is systematic skew in outputs that reflects patterns in training data or training process — including demographic stereotypes, cultural assumptions, and over-representation of dominant viewpoints.
Chunking
Chunking splits documents into smaller passages before embedding them for retrieval. Chunk size is a key quality lever: too large dilutes relevance, too small loses the context needed to make sense.
Cosine similarity
Cosine similarity measures how closely two vectors point in the same direction, on a scale from -1 to 1. It is the standard way to compare embeddings, because it captures semantic similarity while ignoring text length.