Created
July 11, 2025 16:00
-
-
Save johnjosephhorton/b1173245af399e408f4c79bc00d5539c to your computer and use it in GitHub Desktop.
Implement a startup scoring system
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from edsl import ( | |
QuestionLinearScale, | |
ScenarioList, | |
Scenario, | |
Scenario, | |
Survey, | |
QuestionCompute, | |
) | |
q1 = QuestionLinearScale( | |
question_name="exceptional_achievement", | |
question_text="What exceptional achievements do the founders have? : {{ scenario.startup_description}}", | |
question_options=[0, 4, 8, 11, 15], | |
option_labels={ | |
0: "No notable achievements or recognition", | |
4: "Local awards, small grants, or minor recognition", | |
8: "National recognition, significant academic achievements, or industry awards", | |
11: "International recognition, prestigious fellowships (Thiel, Y Combinator)", | |
15: "MacArthur genius grant, Nobel laureate, founded unicorn company, Olympic medalist", | |
}, | |
) | |
q2 = QuestionLinearScale( | |
question_name="market_timing_and_tailwinds", | |
question_text="How favorable is the market timing and what tailwinds exist? : {{ scenario.startup_description}}", | |
question_options=[0, 3, 5, 8, 10], | |
option_labels={ | |
0: "Market declining, regulatory headwinds, no adoption catalysts", | |
3: "Stable but slow-growth market, neutral regulatory environment", | |
5: "Growing market, some positive trends, early adoption signals", | |
8: "Rapidly growing market, strong tailwinds, regulatory support emerging", | |
10: "Perfect timing - major catalysts converging (COVID for remote work, AI moment)", | |
}, | |
) | |
q3 = QuestionLinearScale( | |
question_name="revenue_pilots", | |
question_text="What is the current revenue and pilot status? : {{ scenario.startup_description}}", | |
question_options=[0, 2, 4, 6, 8], | |
option_labels={ | |
0: "No revenue, no pilots, no customer interest", | |
2: "Early conversations, LOIs but no paid pilots", | |
4: "1-3 paid pilots, <$100k ARR", | |
6: "$100k-$1M ARR, 5+ customers, strong pipeline", | |
8: "$1M+ ARR, 20+ customers, 100%+ growth rate", | |
}, | |
) | |
q4 = QuestionLinearScale( | |
question_name="technical_moat", | |
question_text="How strong is the technical moat and defensibility? : {{ scenario.startup_description}}", | |
question_options=[0, 2, 3, 5, 6], | |
option_labels={ | |
0: "No differentiation, easily replicable", | |
2: "Some proprietary technology but limited defensibility", | |
3: "Strong proprietary tech OR meaningful network effects emerging", | |
5: "Multiple patents, strong network effects, high switching costs", | |
6: "Foundational patents, winner-take-all network effects, impossible to replicate", | |
}, | |
) | |
q5 = QuestionCompute( | |
question_name="total_score", | |
question_text="""{% set numbers = [exceptional_achievement.answer, technical_moat.answer, revenue_pilots.answer, market_timing_and_tailwinds.answer] %} | |
{{ numbers | sum }} | |
""", | |
) | |
startups = ScenarioList( | |
[ | |
Scenario( | |
{ | |
"startup_name": "Goofus", | |
"startup_description": """A startup that makes a new kind of dog collar. | |
Both founders just graduated from high school (barely). No patents. No revenue. No customers. Pet ownership is declining.""", | |
} | |
), | |
Scenario( | |
{ | |
"startup_name": "Gallant", | |
"startup_description": """A startup that makes a new kind of dog collar. | |
Both are have 20 years of experience in the dog collar industry and are veternarians. | |
Their previous startup, CatCo, which made a new kind of cat collar, was sold to a major pet supply company for $100M. | |
Have a design parnerbship with PetSmart. Patents pending. | |
""", | |
} | |
), | |
] | |
) | |
results = Survey([q1, q2, q3, q4, q5]).by(startups).run(disable_remote_inference=True) | |
print(results.select("startup_name", "answer.*").table().flip()) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This generates: