A profile is a collection of statement templates and patterns. Each xAPI statement will have a statement template to describe when it will be used and what data is required. Relationships between xAPI statements can be described with patterns

Profile Server
If you are new the xAPI Profile specification, please read the before you begin section, or visit the Profile Server Info Page.
First identify the specific requirements you’re trying to satisfy with xAPI such as improving learning, human performance, or even business processes.
The Profile Server has a built in seach feature when adding new profiles. Always search on exisiting vocabulary concepts, profiles, and statementtemplates before defining your own.
Create functional examples and send statements to an LRS. Query the LRS and visualize the data to help inform any changes or refinements to your profile.
Publish new profiles based on the Profile Spec. The profiles and vocabulary concepts are curated by the xAPI community and shared on this site for reuse.