Bwana Kukubo
How to MAXIMIZE your SMS service profits by bypassing the Mobile Companies and PRSPs
by Idd Salim on Jun.18, 2010, under Bwana Kukubo, Coding, Symbiotic

Increase your SMS revenue to 155%.
Recently, the revenue share model for SMS services running on short-codes was revised and, as always, it anti-enterprenural.
As hot girls might tell you, I don’t like beating around their bushes and I always dive right to the meat of the moment and this being a weekend post, i will make it straight to the point, like me.
So, I will share model 1 of 3 and hopefully, it will be of use to someone.
The Locus Standi
The current revenue share model for Kenya is like this:
SMS Service on Safaricon
Government – 26% (16% vat + 10% excise),
SAF 50% (of what remains after tax) – if your traffic is less that 1M smses or 40% if it is more.
PRSP 20% (of your 100%, which is 50% of the after-tax value.)
You – A hefty 80%, from which you must the government another 5% with-holding tax.
So for an SMS service charging the client 10 bob per response, The share will be:
Govt : 2.6, Saf : 3.7, PRSP : 0.74, You: 2.96 (less 5% W/h tax : 2.812)
Same applies to other operators, give or take 5% from their share. or yours.
So, for you to make something sensible, e.g. 5 Bob per SMS, you must charge at least 20 bob.
The Solution
When I designed the Easy Hisa System for Standard Investment Bank (SIB) as an adaptation of our Mobile Stock Trading and tracking suite, we decided to try a different revenue model. Today, I will share with you the revenue model, so that you can use it to maximize on SMS revenues.
This model is simple and is applicable to banks, insurance companies, stock brokerage houses, bars and clubs etc. Think outside an in-existent box, and the possibilities are unlimited.
Success Story: How SIB is doing it
SIB Opted for a model that is simplistic and traffic independent. The profits are always HIGH and fixed. Client gets charged normal SMS rates to access the system, e.g. 1 bob for YU and 2 bob for Zain.
At SIB, I have setup a MODEM pool with SIM cards for all operators. All lines are the same e.g. 0711/0751/0734 (900009) and clients just need to SAVE their network number to their SIM as SIB.. or Broker.
Anytime a client needs to check the status of their shares order, balance etc, they just send a normal-rated SMS to SIB on their address book and we receive the SMS, process it and respond. Mara iyoiyo… Cost on their Airtime, 2 bob. Needless to say, SMSes come to the client using out TumaSMS gateway and are masked as the broker sees fit.
Now comes the big question. How does the broker make money?
The clients have been educated to see this as a convenience service and looking at the kawaida cost of going to your broker of KSHS 100+ coz of transport etc and the time wasted because of Jam etc not forgeting akina morio, they gladly pay the 10 bob SIB charges as a service fee for this service.
EasyHisa passes a journal to the internal brokerage system and charges the client’s trading account 10 bob, a revenue stream from which SIB keeps 100% profits. 10 outta 10.
So here, the client pays 12 bob to get information that would have cost them 100 bob. In 5 seconds when it would cost them 1hour+. SIB keeps 100% profit as opposed to 28.2%. Simple, Easy, Neat!
Jidosishe mzee, dont dosisha wadosi.
Back to code.
Safaricom Brings down their ‘Innovation’ fraud site
by Idd Salim on Jun.08, 2010, under Bwana Kukubo, Coding, Personal
Just 24 Hours After I criticized the Safaricom ‘s Fuck-Kenyan-Developers attitude and big headedness, they have brought down their Innovations fraud site.
This was meant to be a trap to take ALL ideas in Kenya, own them, sue any coder who implements such an idea after contacting them and OWN all ideas in Kenya.
Thanks to Google Cache, you can still access that Sad site HERE and read how Kenyan developers were to lose out financially and intellectually, had the site stayed up.
A myriad of Safaricom IP addresses have been hitting my blog and also, alot of script-kiddie hack attempts hitting my hardened firewall.
[Added for political correctness] – Kudos to user JM for sharing the Cache Link.
SHAME ON SAFARICOM. The frauds are finally getting exposed.
Of genius Kenyans and the ‘yangu-ni-yangu’ curse
by Idd Salim on Apr.20, 2010, under Bwana Kukubo, Coding, Personal, Symbiotic, Zunguka
Long time ago, when the word ‘gay‘ meant ‘to be happy’, I used to do ALL aspects of a system myself. From idea, conceptualization, wire-frames, testing, debugging, installing etc. This was mainly due to the misguided Idea that:
- No one around was good enough to do exactly what I wanted and I had to do it myself.
- No one could be trusted as a code/project partner and that everyone was a SurfCon just waiting to understand, then pounce on my Idea and steal it.
- Everyone was busy with their own hassle and no one cared about my bizarre ideas.
And so, night in, night out, I coded deep into the night. Coding alone and debugging endless projects. until I learnt one word. DELEGATE. This article from About HR changed my whole view. I stopped being a do-it-all coder. And started being a live-like-a-human coder. Delegation does not mean you are weak. It enables you focus your strengths on the real meat, while you , proverbially of course, ‘let the garbage-man handle the garbage‘.
Whether it is coding, running a shop or even trying to get laid, you need to delegate some parts of the entire puzzle, to achieve the final, expected result.

The word GAY might have evolved in meaning, but certain success principles remains the same
The Curse of Yangu-yangu
Directly translated to mine-mine, yangu-yangu is a street phrase depicting that the owner of the object [idea, item, place etc] will NOT share under whatever circumstances, even if sharing would improve the loot and bring MORE for everyone on the table.
A certain Kamaray, once posted a comment on my blog talking about this and how it affects Kenyans :
Nice piece…time the talking stopped and the “cash-ing” started.
1 Problem : Kenyans don’t share : Coder dies with brilliant code, Marketer dies with brilliant marketing strategy, Finance guru dies with financing connections……bring them together….BAM!
This is what I feel Kenyan need. A Symbiotic relationship. A convergence of thinkers, doers and talkers who all work towards filling a common bucket.
If a good coder and find a brilliant marketer and a finance guru puts all the other pieces together, then this will be a story worth writing home about.
Back to code!
Adios!
Mpesa downtimes – Safaricom NOT to blame
by Idd Salim on Apr.19, 2010, under Bwana Kukubo, Personal, Symbiotic, Zunguka
Last week, I called my landlord to ask her why there was no water in my apartment. She told me, “pigia city council uwaulize. I just connect you to water. Not provide it.” So I packed my stuff and moved to the leafy suburbs where the taps never run dry.
Also, Last week [what an eventful week. Arsenal match included], I Mathematically demonstrated that it was IMPOSSIBLE for Mpesa to go down due to user-load. But, the downtime issue occured again last week! This downtime lasted so long that I, for just some seconds, assumed that the eye of the Nebula had finally opened and the finger of god was about to start poking us all. I could not send money home and I had to cancel my Friday night Pool Hustling to take the money back home, by hand. Yuck! 2002 all over again.
But now, Mpesa is back up. We are all smiling. Long live Safaricom. Until the next downtime. They we can all switch back to Safaricom-ni-madogi mode.
After a response by Kaduki and a blog posting by Kachwanya (both very learned, incisive and non-partisan friends of mine and former Stacherians) about a non-safaricom-controllable element of the downtime, I decided to do my research and what I found out was interesting.
The Mpesa Architecture
Note/Disclaimer : The map above is my own sketch of how the Mpesa system would hypothetically work. It is by no way endorsed by Vodafone or Safcom. Ok.. Safcom wouldn’t -ofcourse; So let me stop at Vodafone.
From the WAN-map above, we see that Mpesa has 3 primary points-of-failure.
Point 1 : Data Path-1-to-2 Request Path
If the link between Saf and Voda fails (cut, rained on, power issues of just the plain fear of Makmende), your Mpesa will fail. Shared responsibility – Saf-Voda
Point 2 : Data Path-2-to-3 Auth path
If for some reason Voda does not get a full hand-shake and ACK from the bank, then your Mpesa will fails. Shared responsibility – Bank-Voda
Point 2 : Data Path-3-to-2-to-1 Response path
If for some reason Saf does not get a full and timely response from Voda, then your Mpesa will fails. Shared responsibility – Saf-Voda
So, clearly, Safaricom might, and I suspect, always does her part.. and VERY fast at that, but the multiple-points-of-failure make them look bad in the eyes of the public.
Solution
Many come to mind:
- Develop a Kenyan Mpesa. Locally hosted and run. No downtime.
- Take and work on daily data snapshots. Reconcile with Voda at end of day ala the ATM Model.
- Work on a Store-and-forward modus operandi where there is a system-trust threshold based on the last-known-user-balance so that the client ALWAYS gets served and reconciliation is delayed abit. This could also be made more secure by placing repeat requests by this client on queue-2 is reconciliaton is not yet down.
That’s all, folks!
Back to code.
The pain of getting a passport as a Muslim in Kenya
by Idd Salim on Apr.19, 2010, under Bwana Kukubo, Personal, Uncategorized
This is part 1 of 3 of my Facebook Notes sequel on the pain I went through before getting my passport at Nyayo House, mainly because I had Muslim Names, despite the fact that I am a Meru.
At this point, I had already paid the mandatory fees, submitted my Birth Certificate, ID, PIN etc… All that was documented as mandatory documents in the application forms. I had also waited for double the 2 weeks waiting period. All I had planned to do that day was just go pick up my passport.
Ohh no! Not with the names ‘Idd Salim’, I came to lean painfully!
9:16 am
Went to outside tent and was referred to counter 14. Went to counter 14.
Attendant : ‘What are your names?’,
Me : ‘Idd Salim’
Attendant : ‘Enda Counter 13′,
Went to counter 13 with a smile. ‘YES!! Gonna get it leo!’, I thought. Met this annoyed lady in specs.
Me: ‘Habari ya asubuhi Madam’
Attendant : ‘Leta receipt na ID!’,
Me: ‘Ok.. Shika hizi hapa’
Attendant: ‘Ati Idd, Salim? Come after 3 weeks!’
Me: ‘But I was told passports are ready in 2 weeks max. And I applied 4 weeks ago!’
Attendant: ‘Next!!’
So I go back to the tent outside. Greeted the same tent lady with my usually charming smile and radiant eyes.
Me : ‘Madam, Nina complaint. I was told it will be ready in 2 weeks, na 4 weeks have passed. Sasa naambiwa nirudi after 3 weeks.’
Attendant: ‘Kama una haraka, enda ukacomplain kwa mdosi.’
Me: ‘Mdosi? Mdosi mgani?’ – I actually thought she was talking about Kibaki.
Attendant: ‘Enda room 16.’
At room 16, I met a very warm and friendly mdosi. (Funny how in Kenya, it is ONLY the small insignificant people who give you hell in all aspects of life. The wadosis are ALWAYS cool and OK.). he listened to me with empathy and checked my receipt and ID and took out a note-pad.
Mdosi : ‘Enda First floor and look for Ndambuki. Atakusaidia. Usiwe na shaka’
Went to first floor (OK, second floor then u take the back corridor fire-escape stairs to floor 1). Meet nice and smiling people willing to help all over. ‘Kwa Ndambuki ni pale’, One directed.
Kwa Ndambuki. Knock! Knock!, I greet a madam I found there. ‘I have been sent to meet Bwana Ndambuki’.
Lady :’This is his office, lakini ametoka. But I can help you. Leta receipt na ID’. She types in a URL of the Immigration System running as a JSP Web Service. ‘Url Not found!’
Lady : ‘Hii computer yangu ina shida, so let me call someone to help. Calls some extension and gets the Bad News.’:I Overhear : ‘Ati Muslim Name.? Ni suspect? Lazima Interview? OK’. She says : “Wewe enda room 8, Tafuta Bwana Lang’at”‘
Room 8. Closed. Waited outside for 20 Mins. The comes a gentleman called Lang’at.
Me : ‘Nimetumwa kwa Bwana Lang’at’
Lang’at : “Ni mimi. Karibu Kiti.” – Very warmly and in a read-to-serve mode.
Me : ‘Sasa niliapply for passport 4 weeks ago, na bado’
Lang’at : “Ehh! That is so LONG bana. Lemmi check. Hii tutamaliza leo. Usijali. We are here to serve you’. – Ohh!! what a good change in the government lingo.
Lang’at : “Ahh! Kuna shida hapa. Idd Salim. Hmmmn…”. – He refers me to the next desk.
Lang’at : “Saidia huyu Kijana. Ni Muslim, but from Meru. Mpe recommendation apate Passport. Go to his desk”
Guy 2 : ‘Ati Idd Salim. You will Never ever get a Kenyan Passport with those names’. He shows me some examples of Kenyan Names.
Josephat Njorge Mwaura, Owino Ochieng Omondi, Kimani, Wachira, Lagat, Chepdinya, Omolo.
Guy 2 : ‘Did you see any Abdi or Jamal or Salim there?’
Me : ‘So tufanyeje mzee. Mimi nataka tu passport’
Guy 2 interviews me about my parents. I am from a single-parent family and my only parent (my mum), died in 1998, December 28th.
Guy 2 : “Because of this Salim Idd names. You will never get a passport unless you bring your mum’s death certificate and birth certificate” – tears fill my eyes. Damn! I thought I was strong, but the mention of my late mum exposed the pain of losing a loved one.
Guy 2 : “Ungekuwa unaitwa Kimani ama Omondi ama other Kenyan names, Saa hii hii ningekupa passport.”
Guy 2 : “Last option, look for her National ID”…. What?????
Back @ Office
So I am googling for that ID. And unless I get it. No Passport.


