Type object
File match *.bmml *.bmml.yaml *.bmml.yml
Schema URL https://catalog.lintel.tools/schemas/schemastore/bmml/latest.json
Source https://raw.githubusercontent.com/SchemaStore/schemastore/master/src/schemas/json/bmml.json

Validate with Lintel

npx @lintel/lintel check
Type: object

A YAML-based format for describing business models, based on Alexander Osterwalder's work (v2 structure)

Properties

version string required

BMML format version

Constant: "2.0"
meta object required

Business model metadata

All of: variant, variant
7 nested properties
name string required

Name of the business model

portfolio string required

Portfolio position (Osterwalder's Invincible Company)

Values: "explore" "exploit"
stage string required

Current stage within the portfolio

tagline string

One-liner description

created string

Creation date (ISO 8601)

format=date
updated string

Last updated date (ISO 8601)

format=date
derived_from string

Relative path to parent business model file

customer_segments CustomerSegment[]

Customer segments the business targets

value_propositions ValueProposition[]

Value propositions offered to customer segments

fits Fit[]

Connections between value propositions and customer segments (VPC detail)

channels Channel[]

Channels to reach customer segments

customer_relationships CustomerRelationship[]

Types of relationships with customer segments

revenue_streams RevenueStream[]

Revenue streams from customer segments

key_resources KeyResource[]

Key resources needed to deliver value propositions

key_activities KeyActivity[]

Key activities needed to deliver value propositions

key_partnerships KeyPartnership[]

Key partnerships that provide resources or activities

costs Cost[]

Cost items (replaces v1 cost_structure)

Definitions

Meta object

Business model metadata

name string required

Name of the business model

portfolio string required

Portfolio position (Osterwalder's Invincible Company)

Values: "explore" "exploit"
stage string required

Current stage within the portfolio

tagline string

One-liner description

created string

Creation date (ISO 8601)

format=date
updated string

Last updated date (ISO 8601)

format=date
derived_from string

Relative path to parent business model file

CustomerSegment object

A customer segment with optional profile (jobs, pains, gains)

id string required

Unique identifier with cs- prefix

pattern=^cs-[a-z0-9-]+$
name string required

Name of the customer segment

description string

Who they are

jobs Job[]

Jobs to be done (Customer Profile)

pains Pain[]

Customer pains (Customer Profile)

gains Gain[]

Customer gains (Customer Profile)

Job object

A job the customer is trying to accomplish

id string required

Unique identifier with job- prefix

pattern=^job-[a-z0-9-]+$
description string required

What they're trying to accomplish

Pain object

A customer pain point

id string required

Unique identifier with pain- prefix

pattern=^pain-[a-z0-9-]+$
description string required

What frustrates them or blocks them

Gain object

A desired customer gain

id string required

Unique identifier with gain- prefix

pattern=^gain-[a-z0-9-]+$
description string required

What they want to achieve or experience

ValueProposition object

A value proposition with optional value map (products, pain relievers, gain creators)

id string required

Unique identifier with vp- prefix

pattern=^vp-[a-z0-9-]+$
name string required

Name of the value proposition

description string

What you offer

products_services ProductService[]

Products and services that deliver this value (Value Map)

pain_relievers PainReliever[]

How this VP relieves customer pains (Value Map)

gain_creators GainCreator[]

How this VP creates customer gains (Value Map)

ProductService object

A product or service offering

id string required

Unique identifier with ps- prefix

pattern=^ps-[a-z0-9-]+$
name string required

Name of the product or service

PainReliever object

How a value proposition relieves a specific pain

id string required

Unique identifier with pr- prefix

pattern=^pr-[a-z0-9-]+$
name string required

How it relieves pain

GainCreator object

How a value proposition creates a specific gain

id string required

Unique identifier with gc- prefix

pattern=^gc-[a-z0-9-]+$
name string required

How it creates gain

ForRelation object

Relationship target - which entities this serves/supports

value_propositions string[]

Value propositions this relates to

customer_segments string[]

Customer segments this relates to

key_resources string[]

Key resources this relates to

key_activities string[]

Key activities this relates to

FromRelation object

Relationship source - which entities this comes from

customer_segments string[]

Customer segments this comes from

Fit object

A fit between value propositions and customer segments (VPC detail)

id string required

Unique identifier with fit- prefix

pattern=^fit-[a-z0-9-]+$
for object required

Which VP(s) and CS(s) this fit connects

2 nested properties
value_propositions string[] required

Value propositions in this fit

minItems=1
customer_segments string[] required

Customer segments in this fit

minItems=1
mappings string[][]

Tuple mappings: [reliever/creator, pain/gain]

Channel object

A channel to reach customer segments with value propositions

id string required

Unique identifier with ch- prefix

pattern=^ch-[a-z0-9-]+$
name string required

Name of the channel

for object

Which VPs and CSs this channel serves

2 nested properties
value_propositions string[]

Value propositions delivered through this channel

customer_segments string[]

Customer segments reached through this channel

CustomerRelationship object

A type of relationship with customer segments

id string required

Unique identifier with cr- prefix

pattern=^cr-[a-z0-9-]+$
name string required

Name/type of relationship

for object

Which customer segments this relationship applies to

1 nested properties
customer_segments string[]

Customer segments with this relationship type

RevenueStream object

A revenue stream from customer segments for value propositions

id string required

Unique identifier with rs- prefix

pattern=^rs-[a-z0-9-]+$
name string required

Name of the revenue stream

from object

Who pays (source of revenue)

1 nested properties
customer_segments string[]

Customer segments this revenue comes from

for object

What they pay for

1 nested properties
value_propositions string[]

Value propositions this revenue is for

KeyResource object

A key resource needed to deliver value

id string required

Unique identifier with kr- prefix

pattern=^kr-[a-z0-9-]+$
name string required

Name of the resource

for object

Which value propositions need this resource

1 nested properties
value_propositions string[]

Value propositions that need this resource

KeyActivity object

A key activity needed to deliver value

id string required

Unique identifier with ka- prefix

pattern=^ka-[a-z0-9-]+$
name string required

Name of the activity

for object

Which value propositions require this activity

1 nested properties
value_propositions string[]

Value propositions that require this activity

KeyPartnership object

A key partnership that provides resources or activities

id string required

Unique identifier with kp- prefix

pattern=^kp-[a-z0-9-]+$
name string required

Name of the partner

for object

Which resources/activities this partner provides

2 nested properties
key_resources string[]

Resources this partner provides

key_activities string[]

Activities this partner performs

Cost object

A cost item linked to resources or activities

id string required

Unique identifier with cost- prefix

pattern=^cost-[a-z0-9-]+$
name string required

Name of the cost

for object

Which resources/activities incur this cost

2 nested properties
key_resources string[]

Resources that incur this cost

key_activities string[]

Activities that incur this cost